}
@Test
public void testDPLLFindsPureNegativeSymbolsWhenTheyExist() {
Model model = new Model();
model = model.extend(new Symbol("A"), true).extend(new Symbol("B"),
true);
Sentence sentence = (Sentence) parser
.parse("((A AND B) AND ( B AND (NOT C) ))");
List<Sentence> clauseList = new Converter<Sentence>()
.setToList(new CNFClauseGatherer()
.getClausesFrom(new CNFTransformer()
.transform(sentence)));
List<Symbol> symbolList = new Converter<Symbol>()
.setToList(new SymbolCollector().getSymbolsIn(sentence));
DPLL.SymbolValuePair sv = dpll.findPureSymbolValuePair(clauseList,
model, symbolList);
Assert.assertNotNull(sv);
Assert.assertEquals(new Symbol("C"), sv.symbol);
Assert.assertEquals(new Boolean(false), sv.value);
}