use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.
the class NoGoodStoreAlphaRoamingTest method propagateBinaryMBTTwice.
@Test
public void propagateBinaryMBTTwice() {
assignment.assign(2, MBT);
store.add(1, new NoGood(-1, 2));
store.add(2, new NoGood(-3, 1));
store.propagate();
assertEquals(MBT, assignment.getTruth(1));
assertEquals(MBT, assignment.getTruth(3));
}
use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.
the class NoGoodStoreAlphaRoamingTest method single.
@Test
public void single() {
store.add(1, new NoGood(-1));
store.propagate();
assertEquals(MBT, assignment.getTruth(1));
}
use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.
the class NoGoodStoreAlphaRoamingTest method addedViolatedBinaryNoGoodPropagatesAfterBacktracking.
@Test
public void addedViolatedBinaryNoGoodPropagatesAfterBacktracking() {
NoGood noGood = new NoGood(70, 195);
assertTrue(assignment.guess(70, MBT));
assertTrue(assignment.guess(195, MBT));
assertNotNull(store.add(3, noGood));
assignment.backtrack();
assertNull(store.add(3, noGood));
store.propagate();
assertTrue(FALSE.equals(assignment.getTruth(195)));
}
use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.
the class NoGoodStoreAlphaRoamingTest method propagateViolatedConstraint.
@Test
public void propagateViolatedConstraint() {
NoGood noGood = headFirst(-3, -2, -1);
assertNull(store.add(1, noGood));
assertTrue(assignment.assign(1, FALSE));
assertTrue(assignment.assign(2, FALSE));
assertTrue(assignment.assign(3, FALSE));
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 NoGoodStoreAlphaRoamingTest method naryNoGoodViolatedDuringAdditionAllMbt.
@Test
public void naryNoGoodViolatedDuringAdditionAllMbt() {
NoGood noGood = new NoGood(1, 2, 3);
assertTrue(assignment.assign(1, MBT));
assertTrue(assignment.assign(2, MBT));
assertTrue(assignment.assign(3, MBT));
NoGoodStore.ConflictCause conflictCause = store.add(11, noGood);
assertNotNull(conflictCause);
assertNotNull(conflictCause.violatedNoGood);
}
Aggregations