コード例 #1
0
    def test_getReleaseDate_shouldRaiseOnInvalidTimezoneString(self):
        # Given
        sut = Product()
        givenDatetime = dtt.datetime(2022, 12, 1, 8, 32, 59)
        sut.setReleaseDate(givenDatetime, timezone="Indian/Kerguelen")

        # When (forType str)
        with self.assertRaises(pytz.UnknownTimeZoneError):
            sut.getReleaseDate(forTimezone="Invalid/Something", forType=str)

        # When (forType datetime)
        with self.assertRaises(pytz.UnknownTimeZoneError):
            sut.getReleaseDate(forTimezone="EvenMoreInvalid/Stuff", forType=dtt.datetime)
コード例 #2
0
    def test_getReleaseDate_shouldReturnNoneWhenReleaseStampIsNotSet(self):
        # Given
        sut = Product()
        sut.invalidateReleaseDate()

        # When
        result = sut.getReleaseDate(forTimezone="America/Indiana/Petersburg", forType=dtt.datetime)

        # Then
        self.assertEqual(None, result)
コード例 #3
0
    def test_getReleaseDate_shouldReturnReadableString(self):
        # Given
        sut = Product()

        givenDatetime = dtt.datetime(2023, 11, 28, 13, 30, 12)
        givenTimezoneString = "Europe/Berlin"   # See also: pytz.all_timezones
        expectedString = "28.11.2023, 13:30:12"
        sut.setReleaseDate(givenDatetime, timezone=givenTimezoneString)

        # When
        result = sut.getReleaseDate(forTimezone=givenTimezoneString, forType=str)

        # Then
        self.assertEqual(expectedString, result)
コード例 #4
0
    def test_getReleaseDate_shouldReturnDatetime(self):
        # Given
        sut = Product()

        givenTimezoneString = "US/Alaska"  # See also: pytz.all_timezones
        timezone = pytz.timezone(givenTimezoneString)
        givenDatetime = dtt.datetime(2035, 7, 15, 9, 00, 00)
        # Leave datetime itself untouched, just add the timezone-data:
        expectedLocalDatetime = timezone.localize(givenDatetime)

        sut.setReleaseDate(givenDatetime, timezone=givenTimezoneString)

        # When
        result = sut.getReleaseDate(forTimezone=givenTimezoneString, forType=dtt.datetime)

        # Then
        self.assertEqual(expectedLocalDatetime, result)