ready_set_boole/src/boolean_evaluation/tests.rs

37 lines
952 B
Rust

#[cfg(test)]
mod tests {
use crate::boolean_evaluation::eval_formula;
#[test]
fn only_binary() {
assert_eq!(eval_formula("10&"), false);
assert_eq!(eval_formula("10|"), true);
assert_eq!(eval_formula("11>"), true);
assert_eq!(eval_formula("10="), false);
assert_eq!(eval_formula("1011||="), true);
}
#[test]
fn only_unary() {
assert_eq!(eval_formula("1!"), false);
assert_eq!(eval_formula("0!"), true);
}
#[test]
fn chained_unary() {
assert_eq!(eval_formula("1!!"), true);
assert_eq!(eval_formula("0!!"), false);
assert_eq!(eval_formula("0!!!"), true);
assert_eq!(
eval_formula("1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"),
true
);
}
#[test]
fn binary_and_uneray() {
assert_eq!(eval_formula("10&!"), true);
assert_eq!(eval_formula("11&!"), false);
}
}