Exemple #1
0
    def test_tzname(self):
        assert 'UTC' in timezone.utc.tzname(None)
        assert 'UTC' in timezone(ZERO).tzname(None)
        assert 'UTC-05:00' == timezone(timedelta(hours=-5)).tzname(None)
        assert 'UTC+09:30' == timezone(timedelta(hours=9.5)).tzname(None)
        assert 'UTC-00:01' == timezone(timedelta(minutes=-1)).tzname(None)
        assert 'XYZ' == timezone(-5 * HOUR, 'XYZ').tzname(None)

        with pytest.raises(TypeError):
            self.EST.tzname('')
        with pytest.raises(TypeError):
            self.EST.tzname(5)
Exemple #2
0
    def test_utcoffset(self):
        dummy = self.DT
        for h in [0, 1.5, 12]:
            offset = h * HOUR.total_seconds()
            offset = timedelta(seconds=offset)
            self.assertEqual(offset, timezone(offset).utcoffset(dummy))
            self.assertEqual(-offset, timezone(-offset).utcoffset(dummy))

        with self.assertRaises(TypeError):
            self.EST.utcoffset('')
        with self.assertRaises(TypeError):
            self.EST.utcoffset(5)
Exemple #3
0
    def test_utcoffset(self):
        dummy = self.DT
        for h in [0, 1.5, 12]:
            offset = h * HOUR.total_seconds()
            offset = timedelta(seconds=offset)
            self.assertEqual(offset, timezone(offset).utcoffset(dummy))
            self.assertEqual(-offset, timezone(-offset).utcoffset(dummy))

        with self.assertRaises(TypeError):
            self.EST.utcoffset('')
        with self.assertRaises(TypeError):
            self.EST.utcoffset(5)
Exemple #4
0
    def test_utcoffset(self):
        dummy = self.DT
        for h in [0, 1.5, 12]:
            offset = h * HOUR.total_seconds()
            offset = timedelta(seconds=offset)
            assert offset == timezone(offset).utcoffset(dummy)
            assert -offset == timezone(-offset).utcoffset(dummy)

        with pytest.raises(TypeError):
            self.EST.utcoffset('')
        with pytest.raises(TypeError):
            self.EST.utcoffset(5)
Exemple #5
0
    def test_tzname(self):
        self.assertTrue('UTC' in timezone.utc.tzname(None))
        self.assertTrue('UTC' in timezone(ZERO).tzname(None))
        self.assertEqual('UTC-05:00', timezone(timedelta(
            hours=-5)).tzname(None))
        self.assertEqual('UTC+09:30', timezone(timedelta(
            hours=9.5)).tzname(None))
        self.assertEqual('UTC-00:01',
                         timezone(timedelta(minutes=-1)).tzname(None))
        self.assertEqual('XYZ', timezone(-5 * HOUR, 'XYZ').tzname(None))

        with self.assertRaises(TypeError):
            self.EST.tzname('')
        with self.assertRaises(TypeError):
            self.EST.tzname(5)
Exemple #6
0
    def test_tzname(self):
        self.assertTrue('UTC' in timezone.utc.tzname(None))
        self.assertTrue('UTC' in timezone(ZERO).tzname(None))
        self.assertEqual('UTC-05:00',
                         timezone(timedelta(hours=-5)).tzname(None))
        self.assertEqual('UTC+09:30',
                         timezone(timedelta(hours=9.5)).tzname(None))
        self.assertEqual('UTC-00:01',
                         timezone(timedelta(minutes=-1)).tzname(None))
        self.assertEqual('XYZ', timezone(-5 * HOUR, 'XYZ').tzname(None))

        with self.assertRaises(TypeError):
            self.EST.tzname('')
        with self.assertRaises(TypeError):
            self.EST.tzname(5)
    def test_date_time(self):
        """DT conversion to datetime.datetime ..."""
        dicom_datetime = "1961"
        dt = valuerep.DT(dicom_datetime)
        # Assert `dt` equals to correct `datetime`
        assert datetime(1961, 1, 1) == dt
        # Assert `dt.__repr__` holds original string
        assert '"{0}"'.format(dicom_datetime) == repr(dt)

        dicom_datetime = "19610804"
        dt = valuerep.DT(dicom_datetime)
        # Assert `dt` equals to correct `datetime`
        assert datetime(1961, 8, 4) == dt
        # Assert `dt.__repr__` holds original string
        assert '"{0}"'.format(dicom_datetime) == repr(dt)

        dicom_datetime = "19610804192430.123"
        dt = valuerep.DT(dicom_datetime)
        # Assert `dt` equals to correct `datetime`
        assert datetime(1961, 8, 4, 19, 24, 30, 123000) == dt
        # Assert `dt.__repr__` holds original string
        assert '"{0}"'.format(dicom_datetime) == repr(dt)

        dicom_datetime = "196108041924-1000"
        dt = valuerep.DT(dicom_datetime)
        # Assert `dt` equals to correct `datetime`
        datetime_datetime = datetime(1961, 8, 4, 19, 24, 0, 0,
                                     timezone(timedelta(seconds=-10 * 3600)))
        assert datetime_datetime == dt
        assert timedelta(0, 0, 0, 0, 0, -10) == dt.utcoffset()

        # Assert `dt.__repr__` holds original string
        assert '"{0}"'.format(dicom_datetime) == repr(dt)
Exemple #8
0
    def testDateTime(self):
        """DT conversion to datetime.datetime ..."""
        dicom_datetime = "1961"
        dt = valuerep.DT(dicom_datetime)
        datetime_datetime = datetime(1961, 1, 1)
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}".format(
                             dicom_datetime, datetime_datetime)))

        dicom_datetime = "19610804"
        dt = valuerep.DT(dicom_datetime)
        datetime_datetime = datetime(1961, 8, 4)
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}".format(
                             dicom_datetime, datetime_datetime)))

        dicom_datetime = "19610804192430.123"
        dt = valuerep.DT(dicom_datetime)
        datetime_datetime = datetime(1961, 8, 4, 19, 24, 30, 123000)
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}".format(
                             dicom_datetime, datetime_datetime)))

        dicom_datetime = "196108041924-1000"
        dt = valuerep.DT(dicom_datetime)
        datetime_datetime = datetime(1961, 8, 4, 19, 24, 0, 0,
                                     timezone(timedelta(seconds=-10 * 3600)))
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}".format(
                             dicom_datetime, datetime_datetime)))
        self.assertEqual(dt.utcoffset(), timedelta(0, 0, 0, 0, 0, -10),
                         "DT offset did not compare correctly to timedelta")
Exemple #9
0
    def testDateTime(self):
        """DT conversion to datetime.datetime ..."""
        dicom_datetime = "1961"
        dt = valuerep.DT(dicom_datetime)
        datetime_datetime = datetime(1961, 1, 1)
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}"
                          .format(dicom_datetime,
                                  datetime_datetime)))

        dicom_datetime = "19610804"
        dt = valuerep.DT(dicom_datetime)
        datetime_datetime = datetime(1961, 8, 4)
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}"
                          .format(dicom_datetime,
                                  datetime_datetime)))

        dicom_datetime = "19610804192430.123"
        dt = valuerep.DT(dicom_datetime)
        datetime_datetime = datetime(1961, 8, 4, 19, 24, 30, 123000)
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}"
                          .format(dicom_datetime,
                                  datetime_datetime)))

        dicom_datetime = "196108041924-1000"
        dt = valuerep.DT(dicom_datetime)
        datetime_datetime = datetime(1961, 8, 4, 19, 24, 0, 0,
                                     timezone(timedelta(seconds=-10 * 3600)))
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}"
                          .format(dicom_datetime,
                                  datetime_datetime)))
        self.assertEqual(dt.utcoffset(),
                         timedelta(0, 0, 0, 0, 0, -10),
                         "DT offset did not compare correctly to timedelta")
Exemple #10
0
    def test_constructor(self):
        self.assertIs(timezone.utc, timezone(timedelta(0)))
        self.assertIsNot(timezone.utc, timezone(timedelta(0), 'UTC'))
        self.assertEqual(timezone.utc, timezone(timedelta(0), 'UTC'))
        # invalid offsets
        for invalid in [
                timedelta(microseconds=1),
                timedelta(1, 1),
                timedelta(seconds=1),
                timedelta(1), -timedelta(1)
        ]:
            self.assertRaises(ValueError, timezone, invalid)
            self.assertRaises(ValueError, timezone, -invalid)

        with self.assertRaises(TypeError):
            timezone(None)
        with self.assertRaises(TypeError):
            timezone(42)
        with self.assertRaises(TypeError):
            timezone(ZERO, None)
        with self.assertRaises(TypeError):
            timezone(ZERO, 42)
        with self.assertRaises(TypeError):
            timezone(ZERO, 'ABC', 'extra')
Exemple #11
0
    def testDateTime(self):
        """DT conversion to datetime.datetime ..."""
        dicom_datetime = "1961"
        dt = valuerep.DT(dicom_datetime)
        # Assert `dt` equals to correct `datetime`
        datetime_datetime = datetime(1961, 1, 1)
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}"
                          .format(dicom_datetime,
                                  datetime_datetime)))
        # Assert `dt.__repr__` holds original string
        self.assertEqual(repr(dt), '"{0}"'.format(dicom_datetime),
                         ('DT {0} string representation is not equal to '
                          'original DICOM string: {1}'
                          .format(dt, dicom_datetime)))

        dicom_datetime = "19610804"
        dt = valuerep.DT(dicom_datetime)
        # Assert `dt` equals to correct `datetime`
        datetime_datetime = datetime(1961, 8, 4)
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}"
                          .format(dicom_datetime,
                                  datetime_datetime)))
        # Assert `dt.__repr__` holds original string
        self.assertEqual(repr(dt), '"{0}"'.format(dicom_datetime),
                         ('DT {0} string representation is not equal to '
                          'original DICOM string: {1}'
                          .format(dt, dicom_datetime)))

        dicom_datetime = "19610804192430.123"
        dt = valuerep.DT(dicom_datetime)
        # Assert `dt` equals to correct `datetime`
        datetime_datetime = datetime(1961, 8, 4, 19, 24, 30, 123000)
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}"
                          .format(dicom_datetime,
                                  datetime_datetime)))
        # Assert `dt.__repr__` holds original string
        self.assertEqual(repr(dt), '"{0}"'.format(dicom_datetime),
                         ('DT {0} string representation is not equal to '
                          'original DICOM string: {1}'
                          .format(dt, dicom_datetime)))

        dicom_datetime = "196108041924-1000"
        dt = valuerep.DT(dicom_datetime)
        # Assert `dt` equals to correct `datetime`
        datetime_datetime = datetime(1961, 8, 4, 19, 24, 0, 0,
                                     timezone(timedelta(seconds=-10 * 3600)))
        self.assertEqual(dt, datetime_datetime,
                         ("DT {0} not equal to datetime {1}"
                          .format(dicom_datetime,
                                  datetime_datetime)))
        self.assertEqual(dt.utcoffset(),
                         timedelta(0, 0, 0, 0, 0, -10),
                         "DT offset did not compare correctly to timedelta")
        # Assert `dt.__repr__` holds original string
        self.assertEqual(repr(dt), '"{0}"'.format(dicom_datetime),
                         ('DT {0} string representation is not equal to '
                          'original DICOM string: {1}'
                          .format(dt, dicom_datetime)))
Exemple #12
0
    def test_constructor(self):
        assert timezone.utc is timezone(timedelta(0))
        assert timezone.utc is not timezone(timedelta(0), 'UTC')
        assert timezone(timedelta(0), 'UTC') == timezone.utc
        # invalid offsets
        for invalid in [
                timedelta(microseconds=1),
                timedelta(1, 1),
                timedelta(seconds=1),
                timedelta(1), -timedelta(1)
        ]:
            with pytest.raises(ValueError):
                timezone(invalid)
            with pytest.raises(ValueError):
                timezone(-invalid)

        with pytest.raises(TypeError):
            timezone(None)
        with pytest.raises(TypeError):
            timezone(42)
        with pytest.raises(TypeError):
            timezone(ZERO, None)
        with pytest.raises(TypeError):
            timezone(ZERO, 42)
        with pytest.raises(TypeError):
            timezone(ZERO, 'ABC', 'extra')
Exemple #13
0
 def setUp(self):
     self.ACDT = timezone(timedelta(hours=9.5), 'ACDT')
     self.EST = timezone(-timedelta(hours=5), 'EST')
     self.DT = datetime(2010, 1, 1)
Exemple #14
0
    def test_constructor(self):
        self.assertIs(timezone.utc, timezone(timedelta(0)))
        self.assertIsNot(timezone.utc, timezone(timedelta(0), 'UTC'))
        self.assertEqual(timezone.utc, timezone(timedelta(0), 'UTC'))
        # invalid offsets
        for invalid in [timedelta(microseconds=1), timedelta(1, 1),
                        timedelta(seconds=1), timedelta(1), -timedelta(1)]:
            self.assertRaises(ValueError, timezone, invalid)
            self.assertRaises(ValueError, timezone, -invalid)

        with self.assertRaises(TypeError):
            timezone(None)
        with self.assertRaises(TypeError):
            timezone(42)
        with self.assertRaises(TypeError):
            timezone(ZERO, None)
        with self.assertRaises(TypeError):
            timezone(ZERO, 42)
        with self.assertRaises(TypeError):
            timezone(ZERO, 'ABC', 'extra')
Exemple #15
0
 def test_comparison(self):
     assert timezone(ZERO) != timezone(HOUR)
     assert timezone(HOUR) == timezone(HOUR)
     assert timezone(-5 * HOUR) == timezone(-5 * HOUR, 'EST')
     with pytest.raises(TypeError):
         timezone(ZERO) < timezone(ZERO)
     assert timezone(ZERO) in {timezone(ZERO)}
     assert timezone(ZERO) is not None
     assert not timezone(ZERO) is None
     assert 'random' != timezone(ZERO)
Exemple #16
0
 def test_comparison(self):
     self.assertNotEqual(timezone(ZERO), timezone(HOUR))
     self.assertEqual(timezone(HOUR), timezone(HOUR))
     self.assertEqual(timezone(-5 * HOUR), timezone(-5 * HOUR, 'EST'))
     with self.assertRaises(TypeError):
         timezone(ZERO) < timezone(ZERO)
     self.assertIn(timezone(ZERO), {timezone(ZERO)})
     self.assertTrue(timezone(ZERO) is not None)
     self.assertFalse(timezone(ZERO) is None)
     self.assertNotEqual(timezone(ZERO), 'random')
Exemple #17
0
 def test_comparison(self):
     self.assertNotEqual(timezone(ZERO), timezone(HOUR))
     self.assertEqual(timezone(HOUR), timezone(HOUR))
     self.assertEqual(timezone(-5 * HOUR), timezone(-5 * HOUR, 'EST'))
     with self.assertRaises(TypeError):
         timezone(ZERO) < timezone(ZERO)
     self.assertIn(timezone(ZERO), {timezone(ZERO)})
     self.assertTrue(timezone(ZERO) is not None)
     self.assertFalse(timezone(ZERO) is None)
     self.assertNotEqual(timezone(ZERO), 'random')
Exemple #18
0
 def _utc_offset(offset, name):
     return timezone(timedelta(seconds=offset), name)
Exemple #19
0
 def setUp(self):
     self.ACDT = timezone(timedelta(hours=9.5), 'ACDT')
     self.EST = timezone(-timedelta(hours=5), 'EST')
     self.DT = datetime(2010, 1, 1)