Skip to content

Commit 8071524

Browse files
committed
added tests
1 parent 3e0cf31 commit 8071524

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/test/java/com/igormaznitsa/prologparser/IntegrationTest.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1192,6 +1192,34 @@ public void testStandardTermOrder() {
11921192
assertEquals("X\nY\n_\n34.112\n112\natm\n[]\nm(34)\n[1, 2, 3]\na(1, 2)", parseSortAndJoin("a(1,2).[1,2,3].X.112.Y.34.112. atm. [].m(34)._."));
11931193
}
11941194

1195+
@Test
1196+
public void testBlockAsOnlyArgument() {
1197+
final PrologStruct parsed = (PrologStruct) parseEd("test((1,2)).").next();
1198+
assertEquals("test", parsed.getFunctor().getText());
1199+
assertEquals(1, parsed.getArity());
1200+
final PrologStruct arg = (PrologStruct) parsed.getTermAt(0);
1201+
assertTrue(arg.isBlock());
1202+
assertFalse(arg.isCurlyBlock());
1203+
assertEquals("()",arg.getFunctor().getText());
1204+
assertEquals(1,arg.getFunctor().getArity());
1205+
assertEquals("1", ((PrologStruct)arg.getTermAt(0)).getTermAt(0).getText());
1206+
assertEquals("2", ((PrologStruct)arg.getTermAt(0)).getTermAt(1).getText());
1207+
}
1208+
1209+
@Test
1210+
public void testCurlyBlockAsOnlyArgument() {
1211+
final PrologStruct parsed = (PrologStruct) parseEd("test({1,2}).").next();
1212+
assertEquals("test", parsed.getFunctor().getText());
1213+
assertEquals(1, parsed.getArity());
1214+
final PrologStruct arg = (PrologStruct) parsed.getTermAt(0);
1215+
assertTrue(arg.isBlock());
1216+
assertTrue(arg.isCurlyBlock());
1217+
assertEquals("{}",arg.getFunctor().getText());
1218+
assertEquals(1,arg.getFunctor().getArity());
1219+
assertEquals("1", ((PrologStruct)arg.getTermAt(0)).getTermAt(0).getText());
1220+
assertEquals("2", ((PrologStruct)arg.getTermAt(0)).getTermAt(1).getText());
1221+
}
1222+
11951223
/**
11961224
* Based on cases represented on <a href="https://www.complang.tuwien.ac.at/ulrich/iso-prolog/conformity_testing">the page</a>
11971225
*/

0 commit comments

Comments
 (0)