#!/usr/bin/env python import Stopwatch import time if __name__ == "__main__": errors = 0 sw = Stopwatch.stopwatch("test stopwatch #1") print "Test suite A using stopwatch '%s'" % (sw.name,) print "Test 1: Verify stopwatch is not running" print sw.getElapsedTime() if sw.getElapsedTime() != 0.0: print "### FAILED ###" errors += 1 print "Test 2: Verify stopwatch runs" sw.start() time.sleep(0.1) elapsedTime1 = sw.getElapsedTime() print "Elapsed time ", elapsedTime1 if elapsedTime1 <= 0.0: print "### FAILED ###" errors += 1 print "Test 3: Verify time advances while running" time.sleep(0.1) elapsedTime2 = sw.getElapsedTime() print elapsedTime2, " should be later than ", elapsedTime1 if elapsedTime2 <= elapsedTime1: print "### FAILED ###" errors += 1 print "Test 4: Stop stopwatch and verify it stops" sw.stop() elapsedTime1 = sw.getElapsedTime() time.sleep(0.1) elapsedTime2 = sw.getElapsedTime() print "Elapsed time ", elapsedTime1, " and ", elapsedTime2 if elapsedTime2 != elapsedTime1: print "### FAILED ###" errors += 1 print "Test 5: Verify time restarts" sw.start() elapsedTime1 = sw.getElapsedTime() time.sleep(0.1) elapsedTime2 = sw.getElapsedTime() print elapsedTime2, " should be later than ", elapsedTime1 if elapsedTime2 <= elapsedTime1: print "### FAILED ###" errors += 1 print "Test 6: Verify lap timers work" elapsedTime1 = sw.getElapsedTime() time.sleep(0.1) lap1 = sw.stopLapTimer("lap timer 1") time.sleep(0.1) lap2 = sw.stopLapTimer("lap timer 2") time.sleep(0.1) elapsedTime2 = sw.getElapsedTime() print "In increasing order: ", elapsedTime1, lap1, lap2, elapsedTime2 if elapsedTime2 <= elapsedTime1 or lap2 <= lap1 or elapsedTime2 <= lap1: print "### FAILED ###" errors += 1 print "Test 7: Verify lap timers can be reset" lap1r = sw.stopLapTimer("lap timer 1") print lap1, " should be less than ", lap1r if lap1r <= lap1: print "### FAILED ###" errors += 1 print "Test 8: Verify getting an unnamed lap timer" sw.stop() elapsedTime1 = sw.getElapsedTime() lap1 = sw.getLapTime("non-existent lap timer") sw.start() time.sleep(0.1) lap2 = sw.getLapTime("non-existent lap timer") print "These should be identical: ", elapsedTime1, lap1, lap2 if elapsedTime1 != lap1 or lap1 != lap2: print "### FAILED ###" errors += 1 print "Test 9: Verify getting formatted elapsed and lap times." sw.start() time.sleep(2) sw.stop() elapsedTime1 = sw.getElapsedTime() formattedElapsedTime1 = sw.getFormattedTime() print "Elapsed time of ", elapsedTime1, " is reported as ", \ formattedElapsedTime1 if len(formattedElapsedTime1) != 11: print "### FAILED ###" errors += 1 lap1 = sw.getLapTime( "lap timer 1") formattedLapTime = sw.getFormattedTime("lap timer 1") print "Lap time of ", lap1, " is reported as ", \ formattedLapTime if len(formattedLapTime) != 11: print "### FAILED ###" errors += 1 print print "Total errors: ", errors