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 CNFClauseGatherer()
.getClausesFrom(new CNFTransformer()
.transform(sentence));
List<Symbol> symbolList = new SymbolCollector().getSymbolsIn(sentence);
DPLL.SymbolValuePair sv = dpll.findPureSymbolValuePair(clauseList,
model, symbolList);
Assert.IsNotNull(sv);
Assert.AreEqual(new Symbol("C"), sv.symbol);
Assert.AreEqual(false, sv.value);
}