add new test

This commit is contained in:
Malte Tammena 2024-01-12 11:19:35 +01:00
parent 5fde4ffbc0
commit d3ae956d4f

View file

@ -2,7 +2,9 @@ use std::collections::HashSet;
use crate::aba::{ use crate::aba::{
problems::{ problems::{
admissibility::{EnumerateAdmissibleExtensions, VerifyAdmissibleExtension}, admissibility::{
DecideCredulousAdmissibility, EnumerateAdmissibleExtensions, VerifyAdmissibleExtension,
},
conflict_free::ConflictFreeness, conflict_free::ConflictFreeness,
}, },
Aba, Aba,
@ -106,6 +108,33 @@ fn simple_admissible_example_with_defense() {
} }
} }
#[test]
fn simple_admissible_atomic() {
let aba = Aba::new()
.with_assumption('a', 'p')
.with_assumption('b', 'q')
.with_assumption('c', 'r')
.with_rule('p', ['b'])
.with_rule('q', ['a', 'c']);
let expected: Vec<HashSet<char>> =
vec![set!(), set!('b'), set!('c'), set!('a', 'c'), set!('b', 'c')];
let result =
crate::aba::problems::multishot_solve(EnumerateAdmissibleExtensions::default(), &aba)
.unwrap();
for elem in &expected {
assert!(
result.contains(elem),
"{elem:?} was expected but not found in result"
);
}
for elem in &result {
assert!(
expected.contains(elem),
"{elem:?} was found in the result, but is not expected!"
);
}
}
#[test] #[test]
fn a_chain_with_no_beginning() { fn a_chain_with_no_beginning() {
// found this while grinding against ASPforABA (5aa9201) // found this while grinding against ASPforABA (5aa9201)