33 lines
1.0 KiB
Rust
33 lines
1.0 KiB
Rust
#[cfg(test)]
|
|
mod tests {
|
|
use crate::negation_normal_form::negation_normal_form;
|
|
|
|
#[test]
|
|
fn double_neg_simple() {
|
|
assert_eq!(negation_normal_form("A!!"), "A");
|
|
assert_eq!(negation_normal_form("B!!!!"), "B");
|
|
assert_eq!(negation_normal_form("C!!!"), "C!");
|
|
assert_eq!(negation_normal_form("D!!!!!!!!!!!!!!!!"), "D");
|
|
assert_eq!(negation_normal_form("E!!!!!!!!!!!!!!!"), "E!");
|
|
}
|
|
|
|
#[test]
|
|
fn double_neg() {
|
|
assert_eq!(negation_normal_form("A!!A&"), "AA&");
|
|
assert_eq!(negation_normal_form("B!!B!!&"), "BB&");
|
|
assert_eq!(negation_normal_form("C!!C!&"), "CC!&");
|
|
assert_eq!(negation_normal_form("D!!D&!!!!"), "DD&");
|
|
assert_eq!(negation_normal_form("E!!E!!!!&!!"), "EE&");
|
|
assert_eq!(negation_normal_form("F!!F!&!!!!!!!!"), "FF!&");
|
|
}
|
|
|
|
#[test]
|
|
fn neg_and() {
|
|
assert_eq!(negation_normal_form("AB&!"), "A!B!|");
|
|
}
|
|
|
|
#[test]
|
|
fn neg_or() {
|
|
assert_eq!(negation_normal_form("AB|!"), "A!B!&");
|
|
}
|
|
} |