package aima.test.core.unit.logic.propositional.visitors; import java.util.Set; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import aima.core.logic.propositional.parsing.PLParser; import aima.core.logic.propositional.parsing.ast.Sentence; import aima.core.logic.propositional.parsing.ast.PropositionSymbol; import aima.core.logic.propositional.visitors.SymbolCollector; /** * @author Ravi Mohan * */ public class SymbolCollectorTest { private PLParser parser; @Before public void setUp() { parser = new PLParser(); } @Test public void testCollectSymbolsFromComplexSentence() { Sentence sentence = (Sentence) parser.parse("(~B11 | P12 | P21) & (B11 | ~P12) & (B11 | ~P21)"); Set<PropositionSymbol> s = SymbolCollector.getSymbolsFrom(sentence); Assert.assertEquals(3, s.size()); Sentence b11 = parser.parse("B11"); Sentence p21 = parser.parse("P21"); Sentence p12 = parser.parse("P12"); Assert.assertTrue(s.contains(b11)); Assert.assertTrue(s.contains(p21)); Assert.assertTrue(s.contains(p12)); } }