diff --git a/src/test_util/mock_ids.rs b/src/test_util/mock_ids.rs index 31d2716..1ccc693 100644 --- a/src/test_util/mock_ids.rs +++ b/src/test_util/mock_ids.rs @@ -109,68 +109,74 @@ impl From for FileID { } } -#[test] -fn true_makes_valids() { - let uri = Uri::from(true); - let alias_id = AliasID::from(true); - let share_id = ShareID::from(true); - let file_id = FileID::from(true); +// technically redundant, but kept for refactoring purposes +#[cfg(test)] +mod tests { + use super::*; - assert!((&uri, &alias_id).check().is_ok()); - assert!(share_id.check().is_ok()); - assert!((&share_id, &file_id).check().is_ok()); -} + #[test] + fn true_makes_valids() { + let uri = Uri::from(true); + let alias_id = AliasID::from(true); + let share_id = ShareID::from(true); + let file_id = FileID::from(true); -#[test] -fn default_is_valid() { - let uri = Uri::default(); - let alias_id = AliasID::from(true); // no `impl Default` - let share_id = ShareID::default(); - let file_id = FileID::default(); - - assert!((&uri, &alias_id).check().is_ok()); - assert!(share_id.check().is_ok()); - assert!((&share_id, &file_id).check().is_ok()); -} - -#[test] -fn false_makes_invalids() { - use crate::Parameter; - - fn test_check(value: impl CheckID, callback: impl FnOnce(&Parameter) -> bool) { - let check = value.check().unwrap_err(); - let p = check.get_invalid_param().unwrap(); - assert!(callback(p)); + assert!((&uri, &alias_id).check().is_ok()); + assert!(share_id.check().is_ok()); + assert!((&share_id, &file_id).check().is_ok()); } - // valid ids - let uri = Uri::from(true); - let alias_id = AliasID::from(true); - let share_id = ShareID::from(true); - let file_id = FileID::from(true); + #[test] + fn default_is_valid() { + let uri = Uri::default(); + let alias_id = AliasID::from(true); // no `impl Default` + let share_id = ShareID::default(); + let file_id = FileID::default(); - // invalid ids - let uri_i = Uri::from(false); - let alias_id_i = AliasID::from(false); - let share_id_i = ShareID::from(false); - let file_id_i = FileID::from(false); + assert!((&uri, &alias_id).check().is_ok()); + assert!(share_id.check().is_ok()); + assert!((&share_id, &file_id).check().is_ok()); + } - // param checks - let is_uri_i = |p: &Parameter| matches!(p, Parameter::Uri(_)); - let is_alias_id_i = |p: &Parameter| matches!(p, Parameter::AliasID(_)); - let is_share_id_i = |p: &Parameter| matches!(p, Parameter::ShareID(_)); - let is_file_id_i = |p: &Parameter| matches!(p, Parameter::FileID(_)); + #[test] + fn false_makes_invalids() { + use crate::Parameter; - // uri + alias - test_check((&uri_i, &alias_id_i), is_uri_i); - test_check((&uri_i, &alias_id), is_uri_i); - test_check((&uri, &alias_id_i), is_alias_id_i); + fn test_check(value: impl CheckID, callback: impl FnOnce(&Parameter) -> bool) { + let check = value.check().unwrap_err(); + let p = check.get_invalid_param().unwrap(); + assert!(callback(p)); + } - // share - test_check(&share_id_i, is_share_id_i); + // valid ids + let uri = Uri::from(true); + let alias_id = AliasID::from(true); + let share_id = ShareID::from(true); + let file_id = FileID::from(true); - // share + file - test_check((&share_id_i, &file_id_i), is_share_id_i); - test_check((&share_id_i, &file_id), is_share_id_i); - test_check((&share_id, &file_id_i), is_file_id_i); + // invalid ids + let uri_i = Uri::from(false); + let alias_id_i = AliasID::from(false); + let share_id_i = ShareID::from(false); + let file_id_i = FileID::from(false); + + // param checks + let is_uri_i = |p: &Parameter| matches!(p, Parameter::Uri(_)); + let is_alias_id_i = |p: &Parameter| matches!(p, Parameter::AliasID(_)); + let is_share_id_i = |p: &Parameter| matches!(p, Parameter::ShareID(_)); + let is_file_id_i = |p: &Parameter| matches!(p, Parameter::FileID(_)); + + // uri + alias + test_check((&uri_i, &alias_id_i), is_uri_i); + test_check((&uri_i, &alias_id), is_uri_i); + test_check((&uri, &alias_id_i), is_alias_id_i); + + // share + test_check(&share_id_i, is_share_id_i); + + // share + file + test_check((&share_id_i, &file_id_i), is_share_id_i); + test_check((&share_id_i, &file_id), is_share_id_i); + test_check((&share_id, &file_id_i), is_file_id_i); + } } diff --git a/src/test_util/mod.rs b/src/test_util/mod.rs index 1e14475..ee26994 100644 --- a/src/test_util/mod.rs +++ b/src/test_util/mod.rs @@ -29,8 +29,14 @@ pub fn create_file(data: &[u8]) -> NamedTempFile { tmp } -#[test] -#[should_panic = "`impl foo for bar` expected: 1, actual: 0"] -fn make_check_trait_panic() { - check_trait(0, 1, "foo", "bar"); +// technically redundant, but kept for refactoring purposes +#[cfg(test)] +mod tests { + use super::*; + + #[test] + #[should_panic = "`impl foo for bar` expected: 1, actual: 0"] + fn make_check_trait_panic() { + check_trait(0, 1, "foo", "bar"); + } }