package test.ql.typechecker.relational; import java.util.Arrays; import java.util.Collection; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import test.ql.typechecker.BaseTest; @RunWith(value = Parameterized.class) public class TestNot extends BaseTest { public static String createTestForm(String questionType) { return "form myForm { " + "newQuestion : " + questionType + " { \"Something\" }" + "if(!newQuestion) {}" + "}"; } @Parameters public static Collection<Object[]> data() { return Arrays.asList(new Object[][] { { "!true", true }, { "!false", true }, // Type mismatch { "!5", false }, { "!5.0", false }, { "!\"String\"", false }, // Forms with identifiers { createTestForm("integer"), false }, { createTestForm("float"), false }, { createTestForm("money"), false }, { createTestForm("string"), false }, { createTestForm("boolean"), true } }); } public TestNot(String input, boolean expected) { super(input, expected); } }