36 lines
920 B
Rust
36 lines
920 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);
|
|
}
|
|
}
|