package javax.realtime.test;
import javax.realtime.AbsoluteTime;
import javax.realtime.Clock;
import javax.realtime.RelativeTime;
import javax.scj.util.Const;
import test.BasicJMLTest;
import unitTest.TestCase;
import unitTest.TestResult;
import unitTest.TestSuite;
public class TckTestAbsoluteTime extends BasicJMLTest {
public static void main(String[] args) {
Const.setDefaultErrorReporter();
TestSuite suite = new TestSuite();
TestResult result = new TestResult();
int numberOfCases = TestAbsoluteTime.testCount;
TestCase test = new TestAbsoluteTime(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/HighResolutionTime.java ICECAPSDK/src/javax/realtime/AbsoluteTime.java";
}
}
class TestAbsoluteTime extends TestCase
{
// --- Stub classes ----------------------------------
class ClockStub extends Clock
{
public ClockStub() {
super(false);
}
public RelativeTime getEpochOffset() {
return null;
}
public RelativeTime getResolution() {
return null;
}
public RelativeTime getResolution(RelativeTime dest) {
return null;
}
public AbsoluteTime getTime() {
return null;
}
public AbsoluteTime getTime(AbsoluteTime dest) {
return null;
}
}
//--- TestAbsoluteTime ---------------------------------
static final int testCount = 83;
public TestAbsoluteTime(TestResult result, int testCount) {
super(result, testCount);
}
public void test(int i)
{
AbsoluteTime abs, abs1, abs2;
RelativeTime rel;
switch (i) {
// AbsoluteTime()
case 1:
new AbsoluteTime(); break;
// AbsoluteTime(long millis, int nanos)
case 2:
new AbsoluteTime(0,0); break;
case 3:
new AbsoluteTime(0,1000001); break;
case 4:
new AbsoluteTime(0,-1000001); break;
case 5:
new AbsoluteTime(-1,1); break;
case 6:
new AbsoluteTime(1,-1); break;
// case 7:
// abs = new AbsoluteTime(Long.MAX_VALUE,1000001); // does not work
// assert abs.getNanoseconds() == -999999;
// break;
// case 8:
// abs = new AbsoluteTime(Long.MIN_VALUE,-1000001); // does not work
// assert abs.getNanoseconds() == 999999;
// break;
// AbsoluteTime(AbsoluteTime time)
case 9:
abs = new AbsoluteTime(); new AbsoluteTime(abs); break;
case 10:
abs = null;
try { new AbsoluteTime(abs); assert false; }
catch (IllegalArgumentException e){};
break;
// AbsoluteTime (long millis, int nanos, Clock clock)
case 11:
new AbsoluteTime(0,0,null); break;
case 12:
new AbsoluteTime(0,1000001,null); break;
case 13:
new AbsoluteTime(0,-1000001,null); break;
case 14:
new AbsoluteTime(-1,1,null); break;
case 15:
new AbsoluteTime(1,-1,null); break;
case 16:
new AbsoluteTime(1, 1, Clock.getRealtimeClock()); break;
// AbsoluteTime (Clock clock)
case 17:
Clock c= null; new AbsoluteTime(c); break;
case 18:
new AbsoluteTime(Clock.getRealtimeClock()); break;
// Inherited from HighResolutionTime
// void set(HighResolutionTime time)
case 19: abs = new AbsoluteTime(1,1,Clock.getRealtimeClock());
try{abs.set(null); assert false;}
catch (IllegalArgumentException e){}; break;
case 20: abs = new AbsoluteTime();
try{abs.set(new RelativeTime()); assert false;}
catch (ClassCastException e){};
break;
case 21: abs = new AbsoluteTime(1,2);
abs.set(abs); break;
case 22: abs = new AbsoluteTime(1,2); abs1 = new AbsoluteTime(2,2,null);
abs1.set(abs); break;
case 23: abs = new AbsoluteTime(1,2); abs2 = new AbsoluteTime(2,2);
abs2.set(abs); break;
// void set (long millis)
case 24: abs1 = new AbsoluteTime(2,2);
abs1.set(1); break;
// void set (long millis, int nanos)
case 25: abs1 = new AbsoluteTime(1,2);
abs1.set(0,1000001); break;
case 26: abs1 = new AbsoluteTime(1,2);
abs1.set(0,-1000001); break;
// case 27: abs1 = new AbsoluteTime(1,2); // does not work
// abs1.set(Long.MAX_VALUE,1000001); break;
// case 28: abs1 = new AbsoluteTime(1,2); // does not work
// abs1.set(Long.MIN_VALUE,-1000001); break;
// boolean equals (HighResolutionTime time)
case 29: abs = new AbsoluteTime(1,2);
abs.equals(null); break;
case 30: abs = new AbsoluteTime(1,2);
abs.equals(this); break;
case 31: abs = new AbsoluteTime(1,2);
abs.equals(abs); break;
case 32: abs = new AbsoluteTime(1,2); abs1 = new AbsoluteTime(1,2);
abs1.equals(abs); break;
// int compareTo (HighResolutionTime time)
case 33: try{abs = new AbsoluteTime(1,2);
abs.compareTo(null); assert false;}
catch (IllegalArgumentException e){};
break;
case 34: try{abs = new AbsoluteTime(1,2); rel = new RelativeTime(1,2);
abs.compareTo(rel); assert false;}
catch (ClassCastException e){};
break;
case 35: try{abs = new AbsoluteTime();
new AbsoluteTime(2,2,null).compareTo(abs);assert false;}
catch (IllegalArgumentException e){}; break;
case 36: new AbsoluteTime(1,2,null).compareTo(new AbsoluteTime(2,2,null));
break;
case 37: new AbsoluteTime(2,1,null).compareTo(new AbsoluteTime(2,2,null));
break;
case 38: new AbsoluteTime(2,2,null).compareTo(new AbsoluteTime(2,2,null));
break;
case 39: new AbsoluteTime(2,2,null).compareTo(new AbsoluteTime(1,2,null));
break;
case 40: new AbsoluteTime(2,2,null).compareTo(new AbsoluteTime(2,1,null));
break;
// AbsoluteTime add (long millis, int nanos)
case 41: abs = new AbsoluteTime(); abs.add(0,0); break;
case 42: abs = new AbsoluteTime(); abs.add(0,1000001); break;
case 43: abs = new AbsoluteTime(); abs.add(0,-1000001); break;
case 44: abs = new AbsoluteTime(); abs.add(-1,1); break;
case 45: abs = new AbsoluteTime(); abs.add(1,-1); break;
// case 46: abs = new AbsoluteTime(); abs.add(Long.MAX_VALUE,1000001); // does not work
// assert abs.getNanoseconds() == -999999; break;
// case 47: abs = new AbsoluteTime(); abs.add(Long.MIN_VALUE,-1000001); // does not work
// assert abs.getNanoseconds() == 1; break;
// AbsoluteTime add (long millis, int nanos, AbsoluteTime dest)
case 48: abs = new AbsoluteTime(); abs.add(0,0,null); break;
case 49: abs = new AbsoluteTime(); abs.add(0,1000001,null); break;
case 50: abs = new AbsoluteTime(); abs.add(0,-1000001,null); break;
case 51: abs = new AbsoluteTime(); abs.add(-1,1,null); break;
case 52: abs = new AbsoluteTime(); abs.add(1,-1,null); break;
// case 53: abs = new AbsoluteTime(); abs.add(Long.MAX_VALUE,1000001,null); // does not work
// assert abs.getNanoseconds() == -999999; break;
// case 54: abs = new AbsoluteTime(); abs.add(Long.MIN_VALUE,-1000001,null); // does not work
// assert abs.getNanoseconds() == 1; break;
case 55: abs = new AbsoluteTime(); abs1 = new AbsoluteTime(1,-1);
abs.add(0,0,abs1); break;
case 56: abs = new AbsoluteTime(1,-1); abs1 = new AbsoluteTime();
abs.add(0,1000001,abs1); break;
case 57: abs = new AbsoluteTime(1,-1);
abs.add(0,1000001,abs); break;
case 58: abs = new AbsoluteTime(1,-1);
abs.add(0,-1000001,abs); break;
// AbsoluteTime add (RelativeTime time)
case 59: abs = new AbsoluteTime();
abs.add(new RelativeTime(1,-1)); break;
case 60: abs = new AbsoluteTime();
rel = new RelativeTime(1,1,null);
abs.add(rel);
break;
case 61: abs = new AbsoluteTime(1,1,Clock.getRealtimeClock());
rel = new RelativeTime(1,1,null);
abs.add(rel);
break;
case 62: abs = new AbsoluteTime();
try{abs.add(null); assert false;}
catch (IllegalArgumentException e){};
break;
case 63: abs = new AbsoluteTime(1,1,Clock.getRealtimeClock());
rel = new RelativeTime(1,1,new ClockStub());
try { abs.add(rel); assert false; }
catch (IllegalArgumentException e){};
break;
// AbsoluteTime add (RelativeTime time, AbsoluteTime dest)
case 64: abs = new AbsoluteTime();
abs.add(new RelativeTime(1,-1),null);
break;
case 65: abs = new AbsoluteTime();
try{abs.add(null,null); assert false;}
catch (IllegalArgumentException e){};
break;
case 66: abs = new AbsoluteTime(1,1,Clock.getRealtimeClock());
rel = new RelativeTime(1,1,new ClockStub());
try{abs.add(rel,null); assert false;}
catch (IllegalArgumentException e){};
break;
case 67: abs1 = new AbsoluteTime(); abs = new AbsoluteTime();
abs.add(new RelativeTime(1,-1),abs1); break;
case 68: abs = new AbsoluteTime();
abs.add(new RelativeTime(1,-1),abs); break;
// RelativeTime subtract (AbsoluteTime time)
case 69: abs = new AbsoluteTime(); abs.subtract(new RelativeTime(1,-1)); break;
case 70: abs = new AbsoluteTime();
try{rel = null; abs.subtract(rel); assert false;}
catch (IllegalArgumentException e){}; break;
case 71: abs = new AbsoluteTime(1,1,Clock.getRealtimeClock());
rel = new RelativeTime(1,1,new ClockStub());
try{abs.subtract(rel); assert false;}
catch (IllegalArgumentException e){};
break;
// RelativeTime subtract (AbsoluteTime time, RelativeTime dest)
case 72: abs = new AbsoluteTime();
abs.subtract(new AbsoluteTime(1,-1),null); break;
case 73: abs = new AbsoluteTime(); rel = new RelativeTime();
abs.subtract(new AbsoluteTime(1,-1),rel); break;
case 74: abs = new AbsoluteTime();
try{rel = null; abs.subtract(null,rel); assert false;}
catch (IllegalArgumentException e){}; break;
case 75: abs = new AbsoluteTime(1,1,Clock.getRealtimeClock());
try{rel = null; abs.subtract(new AbsoluteTime(1,1,null),rel); assert false;}
catch (IllegalArgumentException e){}; break;
// AbsoluteTime subtract (RelativeTime time)
case 76: abs = new AbsoluteTime();
abs.subtract(new RelativeTime(1,-1)); break;
case 77: abs = new AbsoluteTime();
try{rel = null; abs.subtract(rel); assert false;}
catch (IllegalArgumentException e){}; break;
case 78: abs = new AbsoluteTime(1,1,Clock.getRealtimeClock());
rel = new RelativeTime(1,1,new ClockStub());
try{ abs.subtract(rel); assert false;}
catch (IllegalArgumentException e) {};
break;
// AbsoluteTime subtract (RelativeTime time, AbsoluteTime dest)
case 79: abs = new AbsoluteTime();
abs.subtract(new RelativeTime(1,-1),null); break;
case 80: abs = new AbsoluteTime(); abs1 = new AbsoluteTime();
abs.subtract(new RelativeTime(1,-1),abs1); break;
case 81: abs = new AbsoluteTime();
abs.subtract(new RelativeTime(1,-1),abs); break;
case 82: abs = new AbsoluteTime();
try{ abs.subtract(null,abs); assert false;}
catch (IllegalArgumentException e){}; break;
case 83: abs = new AbsoluteTime(1,1,Clock.getRealtimeClock());
rel = new RelativeTime(1,1,new ClockStub());
try{ abs.subtract(rel, abs); assert false;}
catch (IllegalArgumentException e) {};
break;
default: break;
}
}
}