Skip to content
Snippets Groups Projects
TestHelpers.py 3.36 KiB
Newer Older
  • Learn to ignore specific revisions
  • import unittest
    from datetime import datetime
    
    
    Robert Goldmann's avatar
    Robert Goldmann committed
    class TestHelpers(unittest.TestCase):
    
        def test_join_url_parts(self):
            self.assertEqual('https://myWebsite/eimer/0815', Helpers.join_url_parts('https://myWebsite', 'eimer', '0815'))
    
        def test_round_to_decimals_one(self):
            self.assertEqual('0.4', Helpers.round_to_decimals(0.428, 1))
    
        def test_round_to_decimals_zero(self):
            self.assertEqual('0', Helpers.round_to_decimals(0.428, 0))
    
        def test_is_dayTime_true(self):
    
            sunrise = datetime(year=2020, month=11, day=1, hour=8, minute=0, second=0)
            sunset = datetime(year=2020, month=11, day=1, hour=17, minute=0, second=0)
    
            currentTimestamp = datetime(year=2020, month=11, day=1, hour=12, minute=0, second=0)
    
    
            self.assertTrue(Helpers.is_dayTime(sunrise, sunset, currentTimestamp))
    
        def test_is_dayTime_false_before(self):
    
            sunrise = datetime(year=2020, month=11, day=1, hour=8, minute=0, second=0)
            sunset = datetime(year=2020, month=11, day=1, hour=17, minute=0, second=0)
    
            currentTimestamp = datetime(year=2020, month=11, day=1, hour=4, minute=0, second=0)
    
    
            self.assertFalse(Helpers.is_dayTime(sunrise, sunset, currentTimestamp))
    
        def test_is_dayTime_false_after(self):
    
            sunrise = datetime(year=2020, month=11, day=1, hour=8, minute=0, second=0)
            sunset = datetime(year=2020, month=11, day=1, hour=17, minute=0, second=0)
    
            currentTimestamp = datetime(year=2020, month=11, day=1, hour=18, minute=0, second=0)
    
    
            self.assertFalse(Helpers.is_dayTime(sunrise, sunset, currentTimestamp))
    
    
        def test_is_dayTime_true_complex(self):
            timeZone = pytz.timezone('Europe/Berlin')
            sunrise = Helpers.timestamp_to_timezone(1604296782, timeZone)
            sunset = Helpers.timestamp_to_timezone(1604331478, timeZone)
    
            now = timeZone.localize(datetime(year=2020, month=11, day=2, hour=15, minute=0, second=0))
    
            self.assertTrue(Helpers.is_dayTime(sunrise, sunset, now))
    
    
        def test_is_dayTime_differentDays(self):
            sunrise = datetime(year=2020, month=11, day=1, hour=8, minute=0, second=0)
            sunset = datetime(year=2020, month=11, day=1, hour=17, minute=0, second=0)
    
            currentTimestamp = datetime(year=2020, month=11, day=2, hour=12, minute=0, second=0)
            self.assertTrue(Helpers.is_dayTime(sunrise, sunset, currentTimestamp))
    
    
        def test_timestamp_to_timezone_berlin(self):
            timestamp = 1604331478
            timeZone = pytz.timezone('Europe/Berlin')
    
            expected = datetime(year=2020, month=11, day=2, hour=16, minute=37, second=58)
            self.__compareDates(expected, Helpers.timestamp_to_timezone(timestamp, timeZone))
    
        def test_timestamp_to_timezone_london(self):
            timestamp = 1604331478
            timeZone = pytz.timezone('Europe/London')
            expected = datetime(year=2020, month=11, day=2, hour=15, minute=37, second=58, tzinfo=timeZone)
            self.__compareDates(expected, Helpers.timestamp_to_timezone(timestamp, timeZone))
    
        def __compareDates(self, a: datetime, b: datetime):
            self.assertEqual(a.year, b.year)
            self.assertEqual(a.month, b.month)
            self.assertEqual(a.day, b.day)
            self.assertEqual(a.hour, b.hour)
            self.assertEqual(a.minute, b.minute)
            self.assertEqual(a.second, b.second)
            self.assertEqual(a.microsecond, b.microsecond)