package org.jmlspecs.openjmltest.testcases;
import org.jmlspecs.openjmltest.TCBase;
import org.junit.Test;
public class notspecified extends TCBase {
@Override
public void setUp() throws Exception {
// noCollectDiagnostics = true;
// jmldebug = true;
super.setUp();
main.addOptions("-showNotImplemented=false");
}
@Test
public void testNotSpecified() {
helpTCF("A.java","public class A { //@ requires \\not_specified; ensures \\not_specified; diverges \\not_specified; when \\not_specified; \n public void m(boolean i) {}}"
); // OK
}
@Test
public void testNotSpecified1() {
helpTCF("A.java","public class A { //@ signals \\not_specified; \n public void m(boolean i) {}}"
,"/A.java:1: Expected a left parenthesis after a signals keyword",30
);
}
@Test
public void testNotSpecified1s() {
helpTCF("A.java","public class A { //@ signals (Exception) \\not_specified; \n public void m(boolean i) {}}"
);
}
@Test
public void testNotSpecified1a() {
helpTCF("A.java","public class A { //@ signals_only \\not_specified; \n public void m(boolean i) {}}"
,"/A.java:1: The type or expression near here is invalid (or not implemented): ( token \\not_specified in JmlParser.term3())",35
); // Not allowed
}
@Test
public void testNotSpecified1b() {
helpTCF("A.java","public class A { //@ assignable \\not_specified; assignable \\not_specified, \\not_specified; \n public void m(boolean i) {}}"
); // OK
}
@Test
public void testNotSpecified2() {
helpTCF("A.java","public class A { //@ measured_by \\not_specified; working_space \\not_specified; duration \\not_specified; \n public void m(boolean i) {}}"
); // OK
}
// FIXME - no predicates allowed if not_specified is used
@Test
public void testNotSpecified3() {
helpTCF("A.java","public class A { //@ measured_by \\not_specified if true; working_space \\not_specified if false ; duration \\not_specified if true; \n public void m(boolean i) {}}"
); // NOT OK
}
@Test
public void testNotSpecified4() {
helpTCF("A.java","public class A { //@ callable \\not_specified; accessible \\not_specified; captures \\not_specified; \n public void m(boolean i) {}}"
); // OK
}
}