mirror of
https://bitbucket.org/Mattrixwv/javaclasses.git
synced 2025-12-06 23:13:57 -05:00
68 lines
2.1 KiB
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!");
|
|
}
|
|
}
|
|
} |