refactor check_trait function
This commit is contained in:
parent
f988c80854
commit
4ff1f34b08
3 changed files with 15 additions and 16 deletions
|
|
@ -117,24 +117,22 @@ mod tests {
|
||||||
for input in inputs {
|
for input in inputs {
|
||||||
{
|
{
|
||||||
// check AliasID
|
// check AliasID
|
||||||
let _ = AliasID(input.to_string()); // direct creation
|
|
||||||
let aid = AliasID::from(input.to_string());
|
let aid = AliasID::from(input.to_string());
|
||||||
check_trait(&input, &aid.0, "From<String>", "AliasID");
|
check_trait(&aid.0, input, "From<String>", "AliasID");
|
||||||
check_trait(&input, &aid.as_ref(), "AsRef<str>", "AliasID");
|
check_trait(aid.as_ref(), input, "AsRef<str>", "AliasID");
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
// check ShareID
|
// check ShareID
|
||||||
let _ = ShareID(input.to_string()); // direct creation
|
|
||||||
let sid = ShareID::from(input.to_string());
|
let sid = ShareID::from(input.to_string());
|
||||||
check_trait(&input, &sid.0, "From<String>", "ShareID");
|
check_trait(&sid.0, input, "From<String>", "ShareID");
|
||||||
check_trait(&input, &sid.to_string(), "Display", "ShareID");
|
check_trait(sid.to_string(), input, "Display", "ShareID");
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
// check FileID
|
// check FileID
|
||||||
let fid = FileID(input.to_string()); // direct creation
|
let fid = FileID(input.to_string());
|
||||||
check_trait(&input, &fid.to_string(), "Display", "FileID");
|
check_trait(fid.to_string(), input, "Display", "FileID");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -115,8 +115,8 @@ mod tests {
|
||||||
|
|
||||||
for uri_data in cases {
|
for uri_data in cases {
|
||||||
let uri = Uri(uri_data.to_string());
|
let uri = Uri(uri_data.to_string());
|
||||||
check_trait(&uri_data, &uri.to_string(), "Display", "Uri");
|
check_trait(uri.to_string(), uri_data, "Display", "Uri");
|
||||||
check_trait(&uri_data.as_bytes(), &uri.as_ref(), "AsRef<[u8]>", "Uri");
|
check_trait(uri.as_ref(), uri_data.as_bytes(), "AsRef<[u8]>", "Uri");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -137,7 +137,7 @@ mod tests {
|
||||||
|
|
||||||
for (good, expected) in cases {
|
for (good, expected) in cases {
|
||||||
let uri = Uri::from(good.to_string());
|
let uri = Uri::from(good.to_string());
|
||||||
check_trait(&expected, &uri.0, "From<String>", "Uri");
|
check_trait(uri.0, expected, "From<String>", "Uri");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -159,7 +159,7 @@ mod tests {
|
||||||
|
|
||||||
for bad in cases {
|
for bad in cases {
|
||||||
let uri = Uri::from(bad.to_string());
|
let uri = Uri::from(bad.to_string());
|
||||||
check_trait(&bad, &uri.0, "From<String>", "Uri");
|
check_trait(uri.0, bad, "From<String>", "Uri");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,14 +6,15 @@ use std::{fmt, io::Write};
|
||||||
|
|
||||||
use tempfile::NamedTempFile;
|
use tempfile::NamedTempFile;
|
||||||
|
|
||||||
pub fn check_trait<E, A>(expected: &E, actual: &A, tr: &'static str, ty: &'static str)
|
pub fn check_trait<A, E>(actual: A, expected: E, tr: &str, ty: &str)
|
||||||
where
|
where
|
||||||
E: fmt::Debug + PartialEq<A>,
|
A: fmt::Debug + PartialEq<E>,
|
||||||
A: fmt::Debug,
|
E: fmt::Debug,
|
||||||
{
|
{
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
actual, expected,
|
||||||
|
"`impl {tr} for {ty}` expected: {:?}, actual: {:?}",
|
||||||
expected, actual,
|
expected, actual,
|
||||||
"`impl {tr} for {ty}` expected: {expected:?}, actual: {actual:?}",
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue