Test outcome resolving

This commit is contained in:
Félix Saparelli 2021-12-08 22:07:58 +13:00
parent f229456f88
commit 289f76ae6c
No known key found for this signature in database
GPG Key ID: B948C4BAE44FC474
1 changed files with 35 additions and 0 deletions

View File

@ -85,3 +85,38 @@ impl Outcome {
}
}
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn simple_if_running() {
assert_eq!(
Outcome::if_running(Outcome::Stop, Outcome::Start).resolve(true),
Outcome::Stop
);
assert_eq!(
Outcome::if_running(Outcome::Stop, Outcome::Start).resolve(false),
Outcome::Start
);
}
#[test]
fn simple_passthrough() {
assert_eq!(Outcome::Wait.resolve(true), Outcome::Wait);
assert_eq!(Outcome::Clear.resolve(false), Outcome::Clear);
}
#[test]
fn nested_if_runnings() {
assert_eq!(
Outcome::both(
Outcome::if_running(Outcome::Stop, Outcome::Start),
Outcome::if_running(Outcome::Wait, Outcome::Exit)
)
.resolve(true),
Outcome::Both(Box::new(Outcome::Stop), Box::new(Outcome::Wait))
);
}
}