package de.tu_dresden.inf.ggp06_2.parser; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.io.FileInputStream; import java.io.FileNotFoundException; import org.apache.log4j.Logger; import org.junit.BeforeClass; import org.junit.Test; import de.tu_dresden.inf.ggp06_2.resolver.Const; import de.tu_dresden.inf.ggp06_2.resolver.Expression; import de.tu_dresden.inf.ggp06_2.resolver.ExpressionList; import de.tu_dresden.inf.ggp06_2.resolver.Implication; import de.tu_dresden.inf.ggp06_2.resolver.Predicate; import de.tu_dresden.inf.ggp06_2.resolver.scope.TheoryScope; import de.tu_dresden.inf.ggp06_2.resolver.structures.Theory; import java_cup.runtime.Symbol; public class ParserTest { private final static Logger logger = Logger.getLogger(ParserTest.class); @BeforeClass public static void putTitle(){ logger.info( "\n=== ParserTest ===" ); } /** * @param args * @throws FileNotFoundException */ @Test public void parsingAxioms() throws FileNotFoundException { String filename = "./testdata/axioms1.kif"; FileInputStream gdlFile = new FileInputStream( filename ); preKIFParser parser_obj = new preKIFParser( new preKIFScanner( gdlFile )); /* open input files, etc. here */ Symbol parse_tree = null; boolean do_debug_parse = false; try { if (do_debug_parse) parse_tree = parser_obj.debug_parse(); else parse_tree = parser_obj.parse(); } catch (Exception e) { e.printStackTrace(); } //logger.info( "\n---------------------\n" ); if ( parse_tree != null ) { if ( parse_tree.value != null ){ //logger.info( ( (ExpressionList) parse_tree.value ).size() + "\n" + parse_tree.value ); } else { //logger.info( "no value" ); } } else { //logger.info( "no parse_tree" ); } } @Test public void classCheck(){ ExpressionList expList = Parser.parseFile("./testdata/maze.kif"); Theory theory = new Theory( expList); TheoryScope scope = new TheoryScope(theory); ExpressionList impls = scope.getSimilarExpressions( new Implication(new Predicate(Const.aNext, Const.vX), Const.varListX) ); assertNotNull(impls); assertTrue(0 < impls.size()); for (Expression impl : impls){ assertTrue(impl instanceof Implication); } } }