diff --git a/vlib/time/stopwatch_test.v b/vlib/time/stopwatch_test.v new file mode 100644 index 0000000000..77943d2a43 --- /dev/null +++ b/vlib/time/stopwatch_test.v @@ -0,0 +1,28 @@ +import time + +fn test_stopwatch_works_as_intended(){ + sw := time.new_stopwatch() + // sample code that you want to measure: + println('Hello world') + time.sleep_ms(1) + // + println('Greeting the world took: ${sw.elapsed().nanoseconds()}ns') + assert sw.elapsed().nanoseconds() > 0 +} + +fn test_stopwatch_time_between_pause_and_start_should_be_skipped_in_elapsed(){ + sw := time.new_stopwatch() + time.sleep_ms(10) // A + //eprintln('${sw.elapsed().milliseconds()}ms') + assert sw.elapsed().milliseconds() >= 10 + sw.pause() + time.sleep_ms(10) + //eprintln('${sw.elapsed().milliseconds()}ms') + assert sw.elapsed().milliseconds() >= 10 + assert sw.elapsed().milliseconds() < 20 + sw.start() + time.sleep_ms(10) // B + // Here, sw.elapsed() should be ~10ms (from A) + 10ms (from B) = 20ms + assert sw.elapsed().milliseconds() >= 20 + assert sw.elapsed().milliseconds() < 30 +}