package org.uva.sea.ql.parser.test; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.uva.sea.ql.ast.statement.Form; import org.uva.sea.ql.parser.jacc.ParseException; public class TestForm extends TestParser { @Test public void testForms() throws ParseException{ assertEquals(parser.parser("form fName { " + "hasName : \"label\" integer }").getClass(),Form.class); //assertEquals(parser.parser("form fName { " // + "hasName : \"label\" boolean (true && false)}").getClass(),Form.class); assertEquals(parser.parser("form fName { " + "hasName : \"label\" integer " + "if(BLA){hasName : \"label\" integer} }").getClass(),Form.class); assertEquals(parser.parser("form fName { hasName : \"label\" integer ( a + b )\n" + "hasName2 : \"lalala\" boolean }").getClass(),Form.class); assertEquals(parser.parser("form F { NieuwVar : \"lala\" boolean " + "if (NieuwVar) " + "{ Hasiets : \"mones\" integer } }").getClass(),Form.class); assertEquals(parser.parser("form fName { hasName : \"label\" integer\n" + "if (hasName) {" + "hasVar : \"label2\" boolean } }").getClass(), Form.class); assertEquals(parser.parser("form fName { hasName : \"label\" integer\n" + "if (hasName) {" + "hasVar : \"label2\" boolean " + "hasVar : \"label\" boolean (a + b)" + "hasVar2 : \"label\" boolean }" + "else {" + "hasVar2 :\"label3\" integer } }").getClass(), Form.class); //with comments assertEquals(parser.parser("form fName { hasName : \"label\" integer\n" + "if (hasName) {" + "/*hasVar : \"label2\" boolean " + "hasVar : \"label\" boolean (a + b)*/" + "hasVar2 : \"label\" boolean }" + "else {" + "hasVar2 :\"label3\" integer } }").getClass(), Form.class); assertEquals(parser.parser("form fName { hasName : \"label\" integer\n" + "if (hasName) {" + "// hasVar : \"label2\" boolean \n" + "hasVar : \"label\" boolean (a + b)" + "hasVar2 : \"label\" boolean }" + "else {" + "hasVar2 :\"label3\" integer } }").getClass(), Form.class); } }