package javax.realtime.test; import javax.realtime.PriorityParameters; import javax.safetycritical.PriorityScheduler; import javax.scj.util.Const; import org.jmlspecs.utils.JmlAssertionError; import test.BasicJMLTest; import unitTest.TestCase; import unitTest.TestResult; import unitTest.TestSuite; public class TckTestPriorityParameters extends BasicJMLTest { public static void main(String[] args) { Const.setDefaultErrorReporter(); TestSuite suite = new TestSuite(); TestResult result = new TestResult(); int numberOfCases = TestPriorityParameters.testCount; TestCase test = new TestPriorityParameters(result, numberOfCases); suite.addTest(test); suite.run(result); result.print(test.getClass().getName(), numberOfCases); if (result.JMLerrorCount() + result.errorCount() == 0) { args = null; } } @Override public String getJMLAnnotationCommand() { return "java -jar WORKSPACE/OpenJMLTest/lib/openjml.jar -cp ICECAPSDK/bin/ -d ICECAPSDK/bin/ -noInternalSpecs -rac -racCheckAssumptions -racJavaChecks -nullableByDefault -showNotImplemented -specspath ./specs ICECAPSDK/src/javax/realtime/PriorityParameters.java"; } } class TestPriorityParameters extends TestCase { static final int testCount = 11; public TestPriorityParameters(TestResult result, int testCount) { super(result, testCount); } public void test (int i) { int min = PriorityScheduler.instance().getMinPriority(); int max = PriorityScheduler.instance().getMaxPriority(); switch (i) { // public PriorityParameters(int priority) case 1: try { new PriorityParameters(min-1); assert false; } catch (JmlAssertionError e){} break; case 2: new PriorityParameters(min); break; case 3: new PriorityParameters((min+max)/2); break; case 4: new PriorityParameters(max); break; case 5: try { new PriorityParameters(max+1); assert false; } catch (JmlAssertionError e){} break; // public int getPriority() case 6: new PriorityParameters((min+max)/2).getPriority(); break; // public void setPriority (int value) case 7: try { new PriorityParameters(min).setPriority(min-1); assert false; } catch (JmlAssertionError e){} break; case 8: new PriorityParameters(min+1).setPriority(min); break; case 9: new PriorityParameters(min).setPriority((min+max)/2); break; case 10: new PriorityParameters(min).setPriority(max); break; case 11: try { new PriorityParameters(min).setPriority(max+1); assert false; } catch (JmlAssertionError e){} break; default: break; } } }