package org.jmlspecs.openjmltest.testcases; import org.jmlspecs.openjmltest.EscBase; import org.junit.Assume; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.ParameterizedWithNames; @RunWith(ParameterizedWithNames.class) public class escJML extends EscBase { @Override public void setUp() throws Exception { testspecpath1 = "$A"+z+"$B"+ z + "$SY"; super.setUp(); } @Override public void tearDown() throws Exception { testspecpath1 = "$A"+z+"$B"; super.tearDown(); } public escJML(String option, String solver) { super(option,solver); } @Test public void testLBLObject() { helpTCX("tt.TestJava","package tt; \n" +"public class TestJava { \n" +" public void m(String i) { \n" +" //@ assert JML.lbl(\"AL\",i) == null; \n" +" }\n" +"}" ,"/tt/TestJava.java:4: warning: The prover cannot establish an assertion (Assert) in method m",10 ); } @Test public void testLBL2() { helpTCX("tt.TestJava","package tt; \n" +"public class TestJava { \n" +" public void m(Integer i) { \n" +" //@ assert JML.lbl(\"AL\",i) == null; \n" +" }\n" +"}" ,"/tt/TestJava.java:4: warning: The prover cannot establish an assertion (Assert) in method m",10 ); } @Test public void testLBLint() { //main.addOptions("-show","-method=m"); helpTCX("tt.TestJava","package tt; \n" +"public class TestJava { \n" +" public void m(int i) { \n" +" //@ assert JML.lbl(\"AL\",i) == 0; \n" +" }\n" +"}" ,"/tt/TestJava.java:4: warning: The prover cannot establish an assertion (Assert) in method m",10 ); } @Test public void testLBLshort() { helpTCX("tt.TestJava","package tt; \n" +"public class TestJava { \n" +" public void m(short i) { \n" +" //@ assert JML.lbl(\"AL\",i) == 0; \n" +" }\n" +"}" ,"/tt/TestJava.java:4: warning: The prover cannot establish an assertion (Assert) in method m",10 ); } @Test @Ignore // FIXME - this creates a huge VC public void testLBLboolean() { helpTCX("tt.TestJava","package tt; \n" +"public class TestJava { \n" +" public void m(boolean i) { \n" +" //@ assert JML.lbl(\"AL\",i); \n" +" }\n" +"}" ,"/tt/TestJava.java:4: warning: The prover cannot establish an assertion (Assert) in method m",10 ); } @Test public void testLBLdouble() { Assume.assumeTrue(runLongTests || !"z3_4_3".equals(solver)); main.addOptions("-logic=AUFLIRA"); helpTCX("tt.TestJava","package tt; \n" +"public class TestJava { \n" +" public void m(double i) { \n" +" //@ assert JML.lbl(\"AL\",i) == 0; \n" +" }\n" +"}" ,"/tt/TestJava.java:4: warning: The prover cannot establish an assertion (Assert) in method m",10 ); } @Test public void testLBLfloat() { Assume.assumeTrue(runLongTests || !"z3_4_3".equals(solver)); main.addOptions("-logic=AUFLIRA"); helpTCX("tt.TestJava","package tt; \n" +"public class TestJava { \n" +" public void m(float i) { \n" +" //@ assert JML.lbl(\"AL\",i) == 0; \n" +" }\n" +"}" ,"/tt/TestJava.java:4: warning: The prover cannot establish an assertion (Assert) in method m",10 ); } }