[wip] unit tests
- re-added redundant `tests` submodules for good form
This commit is contained in:
parent
22eeada52a
commit
66f59b4b3b
2 changed files with 71 additions and 59 deletions
|
|
@ -109,68 +109,74 @@ impl From<bool> for FileID {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
// technically redundant, but kept for refactoring purposes
|
||||||
fn true_makes_valids() {
|
#[cfg(test)]
|
||||||
let uri = Uri::from(true);
|
mod tests {
|
||||||
let alias_id = AliasID::from(true);
|
use super::*;
|
||||||
let share_id = ShareID::from(true);
|
|
||||||
let file_id = FileID::from(true);
|
|
||||||
|
|
||||||
assert!((&uri, &alias_id).check().is_ok());
|
#[test]
|
||||||
assert!(share_id.check().is_ok());
|
fn true_makes_valids() {
|
||||||
assert!((&share_id, &file_id).check().is_ok());
|
let uri = Uri::from(true);
|
||||||
}
|
let alias_id = AliasID::from(true);
|
||||||
|
let share_id = ShareID::from(true);
|
||||||
|
let file_id = FileID::from(true);
|
||||||
|
|
||||||
#[test]
|
assert!((&uri, &alias_id).check().is_ok());
|
||||||
fn default_is_valid() {
|
assert!(share_id.check().is_ok());
|
||||||
let uri = Uri::default();
|
assert!((&share_id, &file_id).check().is_ok());
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// valid ids
|
#[test]
|
||||||
let uri = Uri::from(true);
|
fn default_is_valid() {
|
||||||
let alias_id = AliasID::from(true);
|
let uri = Uri::default();
|
||||||
let share_id = ShareID::from(true);
|
let alias_id = AliasID::from(true); // no `impl Default`
|
||||||
let file_id = FileID::from(true);
|
let share_id = ShareID::default();
|
||||||
|
let file_id = FileID::default();
|
||||||
|
|
||||||
// invalid ids
|
assert!((&uri, &alias_id).check().is_ok());
|
||||||
let uri_i = Uri::from(false);
|
assert!(share_id.check().is_ok());
|
||||||
let alias_id_i = AliasID::from(false);
|
assert!((&share_id, &file_id).check().is_ok());
|
||||||
let share_id_i = ShareID::from(false);
|
}
|
||||||
let file_id_i = FileID::from(false);
|
|
||||||
|
|
||||||
// param checks
|
#[test]
|
||||||
let is_uri_i = |p: &Parameter| matches!(p, Parameter::Uri(_));
|
fn false_makes_invalids() {
|
||||||
let is_alias_id_i = |p: &Parameter| matches!(p, Parameter::AliasID(_));
|
use crate::Parameter;
|
||||||
let is_share_id_i = |p: &Parameter| matches!(p, Parameter::ShareID(_));
|
|
||||||
let is_file_id_i = |p: &Parameter| matches!(p, Parameter::FileID(_));
|
|
||||||
|
|
||||||
// uri + alias
|
fn test_check(value: impl CheckID, callback: impl FnOnce(&Parameter) -> bool) {
|
||||||
test_check((&uri_i, &alias_id_i), is_uri_i);
|
let check = value.check().unwrap_err();
|
||||||
test_check((&uri_i, &alias_id), is_uri_i);
|
let p = check.get_invalid_param().unwrap();
|
||||||
test_check((&uri, &alias_id_i), is_alias_id_i);
|
assert!(callback(p));
|
||||||
|
}
|
||||||
|
|
||||||
// share
|
// valid ids
|
||||||
test_check(&share_id_i, is_share_id_i);
|
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
|
// invalid ids
|
||||||
test_check((&share_id_i, &file_id_i), is_share_id_i);
|
let uri_i = Uri::from(false);
|
||||||
test_check((&share_id_i, &file_id), is_share_id_i);
|
let alias_id_i = AliasID::from(false);
|
||||||
test_check((&share_id, &file_id_i), is_file_id_i);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,14 @@ pub fn create_file(data: &[u8]) -> NamedTempFile {
|
||||||
tmp
|
tmp
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
// technically redundant, but kept for refactoring purposes
|
||||||
#[should_panic = "`impl foo for bar` expected: 1, actual: 0"]
|
#[cfg(test)]
|
||||||
fn make_check_trait_panic() {
|
mod tests {
|
||||||
check_trait(0, 1, "foo", "bar");
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[should_panic = "`impl foo for bar` expected: 1, actual: 0"]
|
||||||
|
fn make_check_trait_panic() {
|
||||||
|
check_trait(0, 1, "foo", "bar");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue