Search in sources :

Example 16 with NoGood

use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.

the class NoGoodStoreAlphaRoamingTest method addedBinaryNoGoodPropagatesTrueFromTrue.

@Test
public void addedBinaryNoGoodPropagatesTrueFromTrue() {
    NoGood noGood = headFirst(-11, 12);
    assertTrue(assignment.guess(12, TRUE));
    assertNull(store.add(5, noGood));
    store.propagate();
    assertTrue(TRUE.equals(assignment.getTruth(11)));
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Example 17 with NoGood

use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.

the class NoGoodStoreAlphaRoamingTest method neverViolatedNoGood.

@Test
public void neverViolatedNoGood() {
    NoGood noGood = new NoGood(-44, 10, 13, 44);
    assertNull(store.add(80, noGood));
    assertTrue(assignment.assign(10, TRUE));
    assertTrue(assignment.assign(13, TRUE));
    assertTrue(assignment.assign(44, FALSE));
    store.propagate();
    assertNull(store.getViolatedNoGood());
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Example 18 with NoGood

use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.

the class NoGoodStoreAlphaRoamingTest method propagateViolatedConstraintHeadless.

@Test
public void propagateViolatedConstraintHeadless() {
    NoGood noGood = new NoGood(3, 11, 19);
    assertNull(store.add(24, noGood));
    assertTrue(assignment.assign(3, TRUE));
    assertTrue(assignment.assign(11, TRUE));
    assertTrue(assignment.assign(19, TRUE));
    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 19 with NoGood

use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.

the class NoGoodStoreAlphaRoamingTest method binaryNoGoodViolatedDuringAdditionAllMbt.

@Test
public void binaryNoGoodViolatedDuringAdditionAllMbt() {
    NoGood noGood = new NoGood(1, 2);
    assertTrue(assignment.assign(1, MBT));
    assertTrue(assignment.assign(2, 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)

Example 20 with NoGood

use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.

the class NoGoodStoreAlphaRoamingTest method propagateBinaryMBTTwiceOutofSync.

@Test
public void propagateBinaryMBTTwiceOutofSync() {
    store.add(1, new NoGood(-1, 2));
    store.add(2, new NoGood(-3, 1));
    assignment.assign(2, MBT);
    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)

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