From 0c5cff2f5a8bf6693b78384546fc708970756e1b Mon Sep 17 00:00:00 2001 From: Gogotchuri Date: Sun, 31 May 2020 11:16:13 +0400 Subject: [PATCH 1/2] Added time.get_ticks() tests. Correct return-type assertion and ensuring correct time gaps for each call. --- test/time_test.py | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/test/time_test.py b/test/time_test.py index de09ab9f6c..a7628d6a00 100644 --- a/test/time_test.py +++ b/test/time_test.py @@ -146,18 +146,26 @@ def test_delay(self): # After timing behaviour, check argument type exceptions self._type_error_checks(pygame.time.delay) - def todo_test_get_ticks(self): - - # __doc__ (as of 2008-08-02) for pygame.time.get_ticks: - - # pygame.time.get_ticks(): return milliseconds - # get the time in milliseconds - # - # Return the number of milliseconds since pygame.init() was called. - # Before pygame is initialized this will always be 0. - # - - self.fail() + def test_get_ticks(self): + """Tests time.get_ticks()""" + """ + Iterates and delays for arbitrary amount of time for each iteration, + check get_ticks to equal correct gap time + """ + iterations = 20 + millis = 50 + delta = 3 # Acceptable margin of error in ms + # Assert return type to be int + self.assertTrue(type(pygame.time.get_ticks()) == int) + for i in range(iterations): + curr_ticks = pygame.time.get_ticks() # Save current tick count + curr_time = time.time() # Save current time + pygame.time.delay(millis) # Delay for millis + # Time and Ticks difference from start of the iteration + time_diff = round((time.time() - curr_time)*1000) + ticks_diff = pygame.time.get_ticks() - curr_ticks + # Assert almost equality of the ticking time and time difference + self.assertAlmostEqual(ticks_diff, time_diff, delta=delta) def todo_test_set_timer(self): From 9b2b4dfd2c8d70aad242d1863563e326cbbbfa72 Mon Sep 17 00:00:00 2001 From: Gogotchuri Date: Sun, 31 May 2020 20:15:27 +0400 Subject: [PATCH 2/2] Fixed delta values in TimeModuleTests. Now we assume that 50ms error is allowed during time.wait and 5ms is allowed during time.delay --- test/time_test.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/time_test.py b/test/time_test.py index a7628d6a00..3fe23059ef 100644 --- a/test/time_test.py +++ b/test/time_test.py @@ -140,7 +140,7 @@ def test_delay(self): """Tests time.delay() function.""" millis = 50 # millisecond to wait on each iteration iterations = 20 # number of iterations - delta = 1 # Represents acceptable margin of error for wait in ms + delta = 5 # Represents acceptable margin of error for wait in ms # Call checking function self._wait_delay_check(pygame.time.delay, millis, iterations, delta) # After timing behaviour, check argument type exceptions @@ -154,7 +154,7 @@ def test_get_ticks(self): """ iterations = 20 millis = 50 - delta = 3 # Acceptable margin of error in ms + delta = 15 # Acceptable margin of error in ms # Assert return type to be int self.assertTrue(type(pygame.time.get_ticks()) == int) for i in range(iterations): @@ -187,9 +187,9 @@ def todo_test_set_timer(self): def test_wait(self): """Tests time.wait() function.""" - millis = 50 # millisecond to wait on each iteration - iterations = 20 # number of iterations - delta = 5 # Represents acceptable margin of error for wait in ms + millis = 100 # millisecond to wait on each iteration + iterations = 10 # number of iterations + delta = 50 # Represents acceptable margin of error for wait in ms # Call checking function self._wait_delay_check(pygame.time.wait, millis, iterations, delta) # After timing behaviour, check argument type exceptions