refactor check_trait function

This commit is contained in:
Jörn-Michael Miehe 2025-07-05 23:00:54 +00:00
parent f988c80854
commit 4ff1f34b08
3 changed files with 15 additions and 16 deletions

View file

@ -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");
} }
} }
} }

View file

@ -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");
} }
} }

View file

@ -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:?}",
); );
} }