37 lines
952 B
Rust
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);
|
|
}
|
|
}
|