/////////////////////////////////////////////////////////////////////// // STANFORD LOGIC GROUP // // General Game Playing Project // // // // Sample Player Implementation // // // // (c) 2007. See LICENSE and CONTRIBUTORS. // /////////////////////////////////////////////////////////////////////// /** * */ package stanfordlogic.test.prover; import stanfordlogic.gdl.GdlExpression; import stanfordlogic.gdl.GdlVariable; import stanfordlogic.gdl.Parser; import stanfordlogic.prover.Term; import stanfordlogic.prover.TermVariable; import stanfordlogic.game.GameManager; import junit.framework.TestCase; /** * */ public class TestTerms extends TestCase { Parser parser_; /* * @see TestCase#setUp() */ @Override protected void setUp() throws Exception { parser_ = GameManager.getParser(); } public void testTotalColumns() { assertEquals(1, makeTerm("object").getTotalColumns()); assertEquals(1, makeTerm("?x").getTotalColumns()); assertEquals(2, makeTerm("(f a)").getTotalColumns()); assertEquals(3, makeTerm("(f a b)").getTotalColumns()); assertEquals(3, makeTerm("(f (g b))").getTotalColumns()); assertEquals(5, makeTerm("(f (g b) (h c))").getTotalColumns()); assertEquals(5, makeTerm("(f (g ?x) (h ?y))").getTotalColumns()); } private Term makeTerm(String str) { GdlExpression exp = parser_.parse(str).getElement(0); if ( exp instanceof GdlVariable ) return TermVariable.makeTermVariable(); else return Term.buildFromGdl(exp); } }