add new test
This commit is contained in:
parent
5fde4ffbc0
commit
d3ae956d4f
|
@ -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)
|
||||||
|
|
Loading…
Reference in a new issue