Search in sources :

Example 11 with NoGood

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));
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Example 12 with NoGood

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));
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Example 13 with NoGood

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)));
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Example 14 with NoGood

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()));
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Example 15 with NoGood

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);
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Aggregations

NoGood (at.ac.tuwien.kr.alpha.common.NoGood)50 Test (org.junit.Test)41 AnswerSet (at.ac.tuwien.kr.alpha.common.AnswerSet)1 BooleanAssignmentReader (at.ac.tuwien.kr.alpha.grounder.BooleanAssignmentReader)1 ConflictAnalysisResult (at.ac.tuwien.kr.alpha.solver.GroundConflictNoGoodLearner.ConflictAnalysisResult)1