use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.
the class NoGoodStoreAlphaRoamingTest method naryNoGoodPropagatesTrueFromTrue.
@Test
public void naryNoGoodPropagatesTrueFromTrue() {
NoGood noGood = headFirst(-1, 2, -3);
assertNull(store.add(10, noGood));
assertTrue(assignment.assign(3, FALSE));
store.propagate();
assertTrue(assignment.assign(2, TRUE));
store.propagate();
assertTrue(TRUE.equals(assignment.getTruth(1)));
}
use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.
the class NoGoodStoreAlphaRoamingTest method naryNoGoodPropagatesTrueFromFalse.
@Test
public void naryNoGoodPropagatesTrueFromFalse() {
NoGood noGood = headFirst(-1, 2, -3);
assertNull(store.add(10, noGood));
assertTrue(assignment.assign(2, TRUE));
store.propagate();
assertTrue(assignment.assign(3, FALSE));
store.propagate();
assertTrue(TRUE.equals(assignment.getTruth(1)));
}
use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.
the class NoGoodStoreAlphaRoamingTest method propagationAtLowerDecisionLevel.
@Test
public void propagationAtLowerDecisionLevel() {
NoGood noGood = headFirst(-1, 2, -3);
assertTrue(assignment.guess(3, FALSE));
assertTrue(assignment.guess(2, TRUE));
assertTrue(assignment.guess(4, TRUE));
assertNull(store.add(10, noGood));
store.propagate();
assertTrue(TRUE.equals(assignment.getTruth(1)));
Assignment.Entry entry = assignment.get(1);
assertTrue(TRUE.equals(entry.getTruth()));
assertEquals(2, entry.getDecisionLevel());
}
use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.
the class NoGoodStoreAlphaRoamingTest method propagateViolatedConstraintHeadlessMbt.
@Test
public void propagateViolatedConstraintHeadlessMbt() {
NoGood noGood = new NoGood(3, 11, 19);
assertNull(store.add(24, noGood));
assertTrue(assignment.assign(3, MBT));
assertTrue(assignment.assign(11, MBT));
assertTrue(assignment.assign(19, MBT));
assertFalse(store.propagate());
assertNotNull(store.getViolatedNoGood());
assertEquals(noGood, new NoGood(store.getViolatedNoGood()));
}
use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.
the class BerkMinTest method countMixedLiteralsTwice.
@Test
public void countMixedLiteralsTwice() {
NoGood violatedNoGood = new NoGood(1, -2);
berkmin.violatedNoGood(violatedNoGood);
berkmin.analyzedConflict(pseudo(violatedNoGood));
berkmin.violatedNoGood(violatedNoGood);
berkmin.analyzedConflict(pseudo(violatedNoGood));
assertEquals(2, berkmin.getActivity(1), EPSILON);
assertEquals(2, berkmin.getActivity(-2), EPSILON);
}
Aggregations