@@ -1192,6 +1192,34 @@ public void testStandardTermOrder() {
11921192 assertEquals ("X\n Y\n _\n 34.112\n 112\n atm\n []\n m(34)\n [1, 2, 3]\n a(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