import time from datetime import date from unittest import TestCase from apollo_delphi_migration.utils import dates_between, current_time_mills class UtilsTestCase(TestCase): def test_dates_between_should_return_values(self): dates = dates_between(date(2019, 1, 1), date(2019, 1, 31)) self.assertEqual(30, len(dates)) self.assertEqual(date(2019, 1, 1), dates[0]) def test_dates_between_should_return_one_date_when_start_eq_end(self): dates = dates_between(date(2019, 1, 1), date(2019, 1, 1)) self.assertEqual(1, len(dates)) self.assertEqual(date(2019, 1, 1), dates[0]) def test_dates_between_should_raise_error_when_end_date_earlier(self): self.assertRaises(ValueError, dates_between, date(2019, 1, 2), date(2019, 1, 1)) def test_current_time_mills_should_pass(self): self.assertTrue(isinstance(current_time_mills(), int)) mills = current_time_mills() time.sleep(0.05) # 50ms self.assertAlmostEqual(50 + mills, current_time_mills(), delta=10) # 10 ms delta