#include #ifdef LINUX #include #elif defined WIN32 #include #endif #include #include "GLTB/timemeasurement.h" #include "GLTB/timer.h" TEST(Timer, measure) { gltb::Timer timer; timer.start(); #ifdef LINUX sleep(5); #elif defined WIN32 Sleep(5000); #endif long long duration = timer.stop(); ASSERT_GE(duration, 4900); ASSERT_LE(duration, 5100); } TEST(TimeMeasurement, measureRepeatedAndContinued) { gltb::TimeMeasurement measurement1, measurement2; gltb::Timer timer; long long duration; for(int i=0;i<10;i++) { measurement1.start(); measurement2.start(true); timer.start(); #ifdef LINUX sleep(1); #elif defined WIN32 Sleep(1000); #endif duration=timer.stop(); std::cout << i << "\t" << duration << "ms" << std::endl; measurement1.stop(); measurement2.stop(); } ASSERT_EQ(measurement1.getNumMeasurements(), 10); ASSERT_EQ(measurement2.getNumMeasurements(), 1); ASSERT_GE(measurement1.getAverageTime(), 900); ASSERT_LE(measurement1.getAverageTime(), 1100); ASSERT_GE(measurement1.getAverageTime(5), 900); ASSERT_LE(measurement1.getAverageTime(5), 1100); ASSERT_GE(measurement2.getAverageTime(), 9000); } int main(int argc, char *argv[]) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }