package test.ql.typechecker; import java.util.Arrays; import java.util.Collection; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; @RunWith(value = Parameterized.class) public class TestIdentifier extends BaseTest { @Parameters public static Collection<Object[]> data() { return Arrays .asList(new Object[][] { { "form formname {" + " houseValue : money { \"question text\" } " + " leftOver : money { \"Money left: \" assign(houseValue - 1000) }" + "}", true }, { "form formname {" + " hasSoldHouse : boolean { \"question text\" } " + " if(hasSoldHouse) {" + " leftOver : money { \"Money left: \" assign(500 - 1000) }" + " }" + "}", true }, { "form formname {" + " if(true) {" + " randomQuestion : money { \"question text\" } " + " } else {" + " randomQuestion : money { \"question text\" } " + " }" + "}", true }, { "form formname {" + " if(houseValue) {" + " randomQuestion : money { \"question text\" } " + " }" + " houseValue : money { \"question text\" } " + " leftOver : money { \"Money left: \" assign(carValue - 1000) }" + "}", false }, { "form formname {" + " if(true) {" + " randomQuestion : money { \"question text\" } " + " }" + " leftOver : money { \"Money left: \" assign(randomQuestion - 1000) }" + "}", false }, { "form formname {" + " if(true) {" + " moneyQuestion : money { \"question text\" } " + " } else {" + " randomQuestion : money { \"question text\" } " + " }" + " leftOver : money { \"Money left: \" assign(randomQuestion - 1000) }" + "}", false }, { "form formname {" + " randomQuestion : money { \"question text\" } " + " if(true) {" + " moneyQuestion : money { \"question text\" } " + " } else {" + " randomQuestion : money { \"question text\" } " + " }" + " leftOver : money { \"Money left: \" assign(randomQuestion - 1000) }" + "}", false }, { "form formname {" + " if(true) {" + " moneyQuestion : money { \"question text\" } " + " } else {" + " leftOver : money { \"Money left: \" assign(moneyQuestion - 1000) }" + " }" + "}", false }, { "leftOver : money { \"Money left: \" assign(carValue - 1000) }", false }, { "leftOver : money { \"Money left: \" assign(leftOver - 1000) }", false } }); } public TestIdentifier(String input, boolean expected) { super(input, expected); } }