mirror of
https://github.com/ellmau/adf-obdd.git
synced 2025-12-19 09:29:36 +01:00
Fix tests, which are changed due to the new feature flag
This commit is contained in:
parent
4eabf1692b
commit
0dc35d39d5
@ -45,4 +45,4 @@ adhoccounting = [] # count paths ad-hoc - disable if counting is not needed
|
|||||||
importexport = []
|
importexport = []
|
||||||
variablelist = [ "HashSet" ]
|
variablelist = [ "HashSet" ]
|
||||||
HashSet = []
|
HashSet = []
|
||||||
adhoccountmodels = [ "adhoccounting" ] # count models as well as paths ad-hoc
|
adhoccountmodels = [ "adhoccounting" ] # count models as well as paths ad-hoc note that facet methods will need this feature too
|
||||||
|
|||||||
@ -1146,6 +1146,7 @@ mod test {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "adhoccountmodels")]
|
||||||
#[test]
|
#[test]
|
||||||
fn formulacounts() {
|
fn formulacounts() {
|
||||||
let parser = AdfParser::default();
|
let parser = AdfParser::default();
|
||||||
@ -1160,7 +1161,7 @@ mod test {
|
|||||||
fn adf_default() {
|
fn adf_default() {
|
||||||
let _adf = Adf::default();
|
let _adf = Adf::default();
|
||||||
}
|
}
|
||||||
|
#[cfg(feature = "adhoccountmodels")]
|
||||||
#[test]
|
#[test]
|
||||||
fn facet_counts() {
|
fn facet_counts() {
|
||||||
let parser = AdfParser::default();
|
let parser = AdfParser::default();
|
||||||
|
|||||||
@ -645,6 +645,7 @@ mod test {
|
|||||||
let formula3 = bdd.xor(v1, v2);
|
let formula3 = bdd.xor(v1, v2);
|
||||||
let formula4 = bdd.and(v3, formula2);
|
let formula4 = bdd.and(v3, formula2);
|
||||||
|
|
||||||
|
#[cfg(feature = "adhoccountmodels")]
|
||||||
assert_eq!(bdd.models(v1, false), (1, 1).into());
|
assert_eq!(bdd.models(v1, false), (1, 1).into());
|
||||||
let mut x = bdd.count_cache.get_mut().iter().collect::<Vec<_>>();
|
let mut x = bdd.count_cache.get_mut().iter().collect::<Vec<_>>();
|
||||||
x.sort();
|
x.sort();
|
||||||
@ -653,20 +654,23 @@ mod test {
|
|||||||
log::debug!("{:?}", x);
|
log::debug!("{:?}", x);
|
||||||
}
|
}
|
||||||
log::debug!("{:?}", x);
|
log::debug!("{:?}", x);
|
||||||
assert_eq!(bdd.models(formula1, false), (3, 1).into());
|
#[cfg(feature = "adhoccountmodels")]
|
||||||
assert_eq!(bdd.models(formula2, false), (1, 3).into());
|
{
|
||||||
assert_eq!(bdd.models(formula3, false), (2, 2).into());
|
assert_eq!(bdd.models(formula1, false), (3, 1).into());
|
||||||
assert_eq!(bdd.models(formula4, false), (5, 3).into());
|
assert_eq!(bdd.models(formula2, false), (1, 3).into());
|
||||||
assert_eq!(bdd.models(Term::TOP, false), (0, 1).into());
|
assert_eq!(bdd.models(formula3, false), (2, 2).into());
|
||||||
assert_eq!(bdd.models(Term::BOT, false), (1, 0).into());
|
assert_eq!(bdd.models(formula4, false), (5, 3).into());
|
||||||
|
assert_eq!(bdd.models(Term::TOP, false), (0, 1).into());
|
||||||
|
assert_eq!(bdd.models(Term::BOT, false), (1, 0).into());
|
||||||
|
|
||||||
assert_eq!(bdd.models(v1, true), (1, 1).into());
|
assert_eq!(bdd.models(v1, true), (1, 1).into());
|
||||||
assert_eq!(bdd.models(formula1, true), (3, 1).into());
|
assert_eq!(bdd.models(formula1, true), (3, 1).into());
|
||||||
assert_eq!(bdd.models(formula2, true), (1, 3).into());
|
assert_eq!(bdd.models(formula2, true), (1, 3).into());
|
||||||
assert_eq!(bdd.models(formula3, true), (2, 2).into());
|
assert_eq!(bdd.models(formula3, true), (2, 2).into());
|
||||||
assert_eq!(bdd.models(formula4, true), (5, 3).into());
|
assert_eq!(bdd.models(formula4, true), (5, 3).into());
|
||||||
assert_eq!(bdd.models(Term::TOP, true), (0, 1).into());
|
assert_eq!(bdd.models(Term::TOP, true), (0, 1).into());
|
||||||
assert_eq!(bdd.models(Term::BOT, true), (1, 0).into());
|
assert_eq!(bdd.models(Term::BOT, true), (1, 0).into());
|
||||||
|
}
|
||||||
|
|
||||||
assert_eq!(bdd.paths(formula1, false), (2, 1).into());
|
assert_eq!(bdd.paths(formula1, false), (2, 1).into());
|
||||||
assert_eq!(bdd.paths(formula2, false), (1, 2).into());
|
assert_eq!(bdd.paths(formula2, false), (1, 2).into());
|
||||||
@ -709,32 +713,35 @@ mod test {
|
|||||||
((1, 0).into(), (1, 0).into(), 0)
|
((1, 0).into(), (1, 0).into(), 0)
|
||||||
);
|
);
|
||||||
|
|
||||||
assert_eq!(
|
#[cfg(feature = "adhoccountmodels")]
|
||||||
bdd.modelcount_naive(formula4),
|
{
|
||||||
bdd.modelcount_memoization(formula4)
|
assert_eq!(
|
||||||
);
|
bdd.modelcount_naive(formula4),
|
||||||
|
bdd.modelcount_memoization(formula4)
|
||||||
|
);
|
||||||
|
|
||||||
assert_eq!(bdd.modelcount_naive(v1), bdd.modelcount_memoization(v1));
|
assert_eq!(bdd.modelcount_naive(v1), bdd.modelcount_memoization(v1));
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
bdd.modelcount_naive(formula1),
|
bdd.modelcount_naive(formula1),
|
||||||
bdd.modelcount_memoization(formula1)
|
bdd.modelcount_memoization(formula1)
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
bdd.modelcount_naive(formula2),
|
bdd.modelcount_naive(formula2),
|
||||||
bdd.modelcount_memoization(formula2)
|
bdd.modelcount_memoization(formula2)
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
bdd.modelcount_naive(formula3),
|
bdd.modelcount_naive(formula3),
|
||||||
bdd.modelcount_memoization(formula3)
|
bdd.modelcount_memoization(formula3)
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
bdd.modelcount_naive(Term::TOP),
|
bdd.modelcount_naive(Term::TOP),
|
||||||
bdd.modelcount_memoization(Term::TOP)
|
bdd.modelcount_memoization(Term::TOP)
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
bdd.modelcount_naive(Term::BOT),
|
bdd.modelcount_naive(Term::BOT),
|
||||||
bdd.modelcount_memoization(Term::BOT)
|
bdd.modelcount_memoization(Term::BOT)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
assert_eq!(bdd.max_depth(Term::BOT), 0);
|
assert_eq!(bdd.max_depth(Term::BOT), 0);
|
||||||
assert_eq!(bdd.max_depth(v1), 1);
|
assert_eq!(bdd.max_depth(v1), 1);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user