Add tests to confid
This commit is contained in:
parent
d00fbb9882
commit
7bd191e6be
1 changed files with 30 additions and 1 deletions
|
@ -4,7 +4,7 @@ use thiserror::Error;
|
||||||
|
|
||||||
mod black_box;
|
mod black_box;
|
||||||
|
|
||||||
#[derive(Error, Debug)]
|
#[derive(Error, Debug, PartialEq, Eq)]
|
||||||
pub enum ConfirmationIdError {
|
pub enum ConfirmationIdError {
|
||||||
#[error("Installation ID is too short.")]
|
#[error("Installation ID is too short.")]
|
||||||
TooShort,
|
TooShort,
|
||||||
|
@ -47,3 +47,32 @@ pub fn generate(installation_id: &str) -> Result<String, ConfirmationIdError> {
|
||||||
.to_string())
|
.to_string())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_generate() {
|
||||||
|
assert_eq!(
|
||||||
|
generate("334481558826870862843844566221823392794862457401103810").unwrap(),
|
||||||
|
"110281-200130-887120-647974-697175-027544-252733"
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
generate("33448155882687086284384456622182339279486245740110381")
|
||||||
|
.is_err_and(|err| err == ConfirmationIdError::TooShort),
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
generate("3344815588268708628438445662218233927948624574011038100")
|
||||||
|
.is_err_and(|err| err == ConfirmationIdError::TooLarge),
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
generate("33448155882687086284384456622182339279486245740110381!")
|
||||||
|
.is_err_and(|err| err == ConfirmationIdError::InvalidCharacter),
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
generate("334481558826870862843844566221823392794862457401103811")
|
||||||
|
.is_err_and(|err| err == ConfirmationIdError::InvalidCheckDigit),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue