static public ATerm term(final String str) { return factory.parse(str); }
static public ATerm term(final String str) { return factory.parse(str); }
public void testParser() { _factory.parse("f"); _factory.parse("f(1)"); _factory.parse("f(1,2)"); _factory.parse("[]"); _factory.parse("[1]"); _factory.parse("[1,2]"); _factory.parse("<x>"); _factory.parse("3.14"); _factory.parse("f(\"x y z\"(),<abc(31)>,[])"); _factory.parse("home([<name(\"\",String)>,<phone(\"\",PhoneNumber)>])"); _factory.parse("[ a , b ]"); _factory.parse("f(a){[x,y],[1,2]}"); _factory.parse("[(),(a)]"); System.out.println("parser tests ok."); }
@Test public void testParser() { final ATerm[] T = new ATerm[20]; int index = 0; T[index++] = _factory.parse("g"); T[index++] = _factory.parse("f()"); T[index++] = _factory.parse("f(1)"); T[index++] = _factory.parse("\"f\"(1)"); T[index++] = _factory.parse("\"subject\"(<str>)"); T[index++] = _factory.parse("f(1,2,<int>)"); T[index++] = _factory.parse("[]"); T[index++] = _factory.parse("[1]"); T[index++] = _factory.parse("[1,2]"); T[index++] = _factory.parse("[1,3.5,4e6,123.21E-3,-12]"); T[index++] = _factory.parse("[1,a,f(1)]"); T[index++] = _factory.parse("(1)"); T[index++] = _factory.parse("[()]"); T[index++] = _factory.parse("[\"f\"()]"); T[index++] = _factory.parse("[1, \"a\", f(1), \"g\"(a,\"b\")]"); // for (int i = 0; i < index; i++) // System.out.println("term " + i + ": " + T[i]); }
lhs[ruleNumber] = _factory.parse("fib(zero)"); rhs[ruleNumber] = _factory.parse("suc(zero)"); ruleNumber++; lhs[ruleNumber] = _factory.parse("fib(suc(zero))"); rhs[ruleNumber] = _factory.parse("suc(zero)"); ruleNumber++; lhs[ruleNumber] = _factory.parse("fib(suc(suc(<term>)))"); rhs[ruleNumber] = _factory.parse("plus(fib(<term>),fib(suc(<term>)))"); ruleNumber++; lhs[ruleNumber] = _factory.parse("plus(zero,<term>)"); rhs[ruleNumber] = _factory.parse("<term>"); ruleNumber++; lhs[ruleNumber] = _factory.parse("plus(suc(<term>),<term>)"); rhs[ruleNumber] = _factory.parse("plus(<term>,suc(<term>))"); ruleNumber++; lhs[ruleNumber] = _factory.parse("suc(<term>)"); rhs[ruleNumber] = _factory.parse("suc(<term>)"); ruleNumber++; lhs[ruleNumber] = _factory.parse("plus(<term>,<term>)"); rhs[ruleNumber] = _factory.parse("plus(<term>,<term>)"); ruleNumber++;
public void testList() { ATermList list = (ATermList) _factory.parse("[1,2,3]"); ATermList result = list.remove(_factory.parse("2")); test_assert(result.equals(_factory.parse("[1,3]"))); list = (ATermList) _factory.parse("[1,2,3]"); result = list.replace(_factory.parse("99"), 1); test_assert(result.equals(_factory.parse("[1,99,3]"))); list = _factory.makeList(); result = list.append(_factory.parse("1")); test_assert(result.equals(_factory.parse("[1]"))); list = (ATermList) _factory.parse("[]"); result = _factory.makeList(); test_assert(result.equals(list)); // System.out.println("pass: testList"); }
public void testDict() { ATermList dict = _factory.makeList(); ATerm key, value; for (int i = 0; i < 5; i++) { key = _factory.parse("key" + i); value = _factory.parse("value" + i); dict = dict.dictPut(key, value); } key = _factory.parse("key3"); value = _factory.parse("value3"); test_assert(dict.dictGet(key).equals(value)); }
@Test public void testParseError() { try { _factory.parse("f(\""); } catch (final ParseError e) { if (!e.getMessage().startsWith("Unterminated quoted function symbol")) throw e; } }
public void testMatch() { ATerm t = _factory.parse("node(\"Pico-eval\",box,182,21,62,26)"); List<Object> result = t.match("node(<str>,<fun>,<int>,<int>,<int>,<int>)"); test_assert(result != null); t = _factory.parse("f(1,2,3)"); result = t.match("f(1,2,3)"); test_assert(result != null); // System.out.println("pass: testMatch"); }
@Test public void testFileParser() // XXX seriously we don't care of parsing files. { try { final File file = new File("testAtermFileParser.txt"); if (file.exists()) file.delete(); try (FileOutputStream output = new FileOutputStream(file)) { output.write(_factory.parse("f(a,g(b))").toString().getBytes()); } try (FileInputStream input = new FileInputStream(file)) { final ATerm result = _factory.readFromTextFile(input); System.out.println("result = " + result); } if (file.exists()) file.delete(); } catch (final FileNotFoundException e1) { System.out.println(e1); // TODO : define a logger. } catch (final IOException e2) { System.out.println(e2); } }
list.add(_factory.parse("f(a,b,c)")); result = _factory.make("<term>", list); list.add(_factory.parse("f(a,b,c)")); list.add(new Integer(3)); list.add(_factory.parse("<abc>")); result = _factory.make("[<term>,2,<int>,3.14,<placeholder>]", list); list.add(_factory.parse("b")); list.add(new Integer(4)); list.add(_factory.parse("1")); list.add(_factory.parse("[]")); result = _factory.make("[<term>,<list>]", list); test(((ATermList) result).getFirst() == _factory.parse("1"), "make-1a"); test(((ATermList) result).getLength() == 1, "make-1b");
T[0] = _factory.parse("f(1,2,3)"); T[1] = _factory.parse("[1,2,3]"); T[3] = _factory.parse("f(a,[])"); test(result != null && result.get(0).equals(new Integer(1)) && result.get(1).equals(_factory.parse("[2,3]")), "match-1d"); result = _factory.parse("f(a)").match("f(<term>)"); test(result != null && result.get(0).equals(_factory.parse("a")), "match-2a"); result = _factory.parse("f(a)").match("<term>"); test(result != null && result.get(0).equals(_factory.parse("f(a)")), "match-2b"); result = _factory.parse("f(a)").match("<fun(<term>)>"); test(result != null && result.get(0).equals("f") && result.get(1).equals(_factory.parse("a")), "match-2c"); result = _factory.parse("a").match("<fun>"); test(result != null && result.get(1).equals(_factory.parse("[2,3]")), "match-6c"); test(result.get(0).equals(_factory.parse("[]")), "match-6e"); test(result != null && result.get(0).equals("f"), "match-7b"); test(result != null && result.get(1).equals(new Integer(1)), "match-7c"); test(result != null && result.get(2).equals(_factory.parse("[2,3]")), "match-7d");
T[0] = _factory.parse("[0,1,2,3,4,5,4,3,2,1]"); Ts[0] = (ATermList) T[0]; T[1] = _factory.parse("[]"); Ts[1] = _factory.makeList(); T[2] = _factory.parse("[1,2,3]"); Ts[2] = (ATermList) T[2]; T[3] = _factory.parse("[4,5,6]"); Ts[3] = (ATermList) T[3]; T[4] = _factory.parse("[1,2,3,4,5,6]"); Ts[4] = (ATermList) T[4]; T[5] = _factory.parse("[1,2,3,4,5,6,7]"); Ts[5] = (ATermList) T[5]; Ts[7] = Ts[3].insert(_factory.parse("3")); Ts[7] = Ts[7].insert(_factory.parse("2")); Ts[7] = Ts[7].insert(_factory.parse("1")); test(Ts[7].equals(Ts[4]), "insert-1"); test(Ts[1].insert(_factory.parse("1")).equals(_factory.parse("[1]")), "insert-2"); test(Ts[4].insertAt(_factory.parse("7"), Ts[4].getLength()).equals(Ts[5]), "insert-3"); test(Ts[5].getLast().equals(_factory.parse("7")), "last-1");
public static TestFibInterpreted newTestFibInterpreted(ATermFactory factory) { final TestFibInterpreted t = new TestFibInterpreted(); t._factory = factory; t.zero = factory.makeAFun("zero", 0, false); t.suc = factory.makeAFun("suc", 1, false); t.plus = factory.makeAFun("plus", 2, false); t.fib = factory.makeAFun("fib", 1, false); t.tzero = factory.makeAppl(t.zero); t.fail = factory.parse("fail"); return t; }
@Test public void test1() { assertTrue(getPrimes(30) == _factory.parse("[1,2,3,5,7,11,13,17,19,23,29]")); assertTrue(getPrimes(500).getLength() == 96); }
@Before public void setUp() { this._factory = new PureFactory(); this.zero = _factory.makeAFun("zero", 0, false); this.suc = _factory.makeAFun("suc", 1, false); this.plus = _factory.makeAFun("plus", 2, false); this.fib = _factory.makeAFun("fib", 1, false); this.tzero = _factory.makeAppl(this.zero); this.fail = _factory.parse("fail"); this.initRules(); }