Files
JavaClasses/testStopwatch.java

68 lines
2.1 KiB
Java

//Java/JavaClasses/testStopwatch.java
//Matthew Ellison
// Created: 03-01-19
//Modified: 03-01-19
//This class is used to test that stopwatch does what it is supposed to do (approximately)
import mattrixwv.Stopwatch;
public class testStopwatch{
private static final int NUM_TO_RUN = 100000;
public static void main(String[] argv){
Boolean failed = false; //A flag to determine if all tests were passed
//Print the test begin message
System.out.println("Begin test");
//Describe which test is being performed
System.out.println("Starting loop");
//Start the timer
Stopwatch timer = new Stopwatch();
timer.start();
for(int cnt = 0;cnt < NUM_TO_RUN;++cnt){
System.out.print(cnt);
}
//Stop the timer
timer.stop();
System.out.println("\nLoop completed");
//Check that the different resolutions work out correctly
System.out.println("Checking that resolutions line up correctly");
Double nano = timer.getNano();
if(timer.getMicro() != (nano.doubleValue() / 1000D)){
System.out.println("Error on microsecond resolution");
failed = true;
}
else if(timer.getMilli() != (nano.doubleValue() / 1000000D)){
System.out.println("Error on millisecond resolution");
failed = true;
}
else if(timer.getSecond() != (nano.doubleValue() / 1000000000D)){
System.out.println("Error on second resolution");
failed = true;
}
else if(timer.getMinute() != (nano.doubleValue() / 60000000000D)){
System.out.println("Error on minute resolution");
failed = true;
}
else if(timer.getHour() != (nano.doubleValue() / 3600000000000D)){
System.out.println("Error on hour resolution");
failed = true;
}
else{
System.out.println("All time resolution tests completed successfully");
}
System.out.println("Completed resolution checking");
//Print the results
System.out.printf("The timer results in: %s\n", timer.getStr());
System.out.printf("The timer results in: %f milliseconds\n", timer.getMilli());
if(!failed){
System.out.println("All tests completed successfully");
}
else{
System.out.println("Test failed. Try again!");
}
}
}