def testDateInc(self): day = dt.date(1979, 8, 16) v = vDt(day, inclusive=True) self.assertTrue(v) self.assertEqual(v, dt.date(1979, 8, 17)) self.assertEqual(v.date(), dt.date(1979, 8, 17)) self.assertEqual(v.date(inclusive=True), day)
def testWholeDayEvent(self): props = Event(summary="Event", uid="1234") props.add('dtstart', dt.date(2017, 6, 5)) props.add('dtend', dt.date(2017, 6, 6)) props.add('dtstamp', vDt(timezone.make_aware(dt.datetime(2016, 6, 7, 8)))) vev = self.factory.makeFromProps(props, None) self.assertIs(type(vev), SimpleVEvent)
def addProps(vev, **kwargs): dtProps = {'dtstart', 'dtend', 'dtstamp', 'created', 'last-modified'} for prop, v in kwargs.items(): if prop in dtProps: if not hasattr(v, 'dt'): v = vDt(v) vev.add(prop, v) else: vev.add(prop, v)
def testNone(self): v = vDt() self.assertFalse(v) self.assertEqual(v, None) self.assertEqual(v.date(), None) self.assertEqual(v.time(), None) self.assertEqual(v.datetime(), None) self.assertEqual(v.tzinfo(), None) self.assertEqual(v.zone(), None) self.assertEqual(v.timezone(), pytz.timezone("Asia/Tokyo"))
def testTzinfoDt(self): mo = dt.datetime(2020, 2, 2, 2, tzinfo=dt.timezone.utc) v = vDt(mo) self.assertTrue(v) self.assertEqual(v, mo) self.assertEqual(v, vDatetime(mo)) self.assertEqual(v, vDatetime.from_ical("20200202T020000Z")) self.assertEqual(v.date(), mo.date()) self.assertEqual(v.time(), mo.time()) self.assertEqual(v.datetime(), mo) self.assertEqual(v.tzinfo(), mo.tzinfo) self.assertEqual(v.zone()[:3], "UTC") # changed in Python 3.6 self.assertEqual(v.timezone(), dt.timezone.utc)
def testNaiveDt(self): mo = dt.datetime(1987, 6, 21, 3, 54, 0) v = vDt(mo) self.assertTrue(v) self.assertEqual(v, mo) self.assertEqual(v, vDatetime(mo)) self.assertEqual(v, vDatetime.from_ical("19870621T035400")) self.assertEqual(v.date(), mo.date()) self.assertEqual(v.time(), mo.time()) self.assertEqual(v.datetime(), timezone.make_aware(mo)) self.assertEqual(v.tzinfo(), None) self.assertEqual(v.zone(), None) self.assertEqual(v.timezone(), pytz.timezone("Asia/Tokyo"))
def testDate(self): day = dt.date(1979, 8, 16) v = vDt(day) self.assertTrue(v) self.assertEqual(v, day) self.assertEqual(v, vDate(day)) self.assertEqual(v, vDate.from_ical("19790816")) self.assertEqual(v.date(), day) self.assertEqual(v.time(), None) self.assertEqual(v.datetime(), getLocalDatetime(day, dt.time.min)) self.assertEqual(v.tzinfo(), None) self.assertEqual(v.zone(), None) self.assertEqual(v.timezone(), pytz.timezone("Asia/Tokyo"))
def testUnknownTZDt(self): tz = pytz.FixedOffset(540) tz.zone = "Japan/Edo" mo = timezone.make_aware(dt.datetime(2013, 4, 25, 6, 0), tz) v = vDt(mo) self.assertTrue(v) self.assertEqual(v, mo) self.assertEqual(v, vDatetime(mo)) self.assertEqual(v.date(), mo.date()) self.assertEqual(v.time(), mo.time()) self.assertEqual(v.datetime(), mo) self.assertEqual(v.tzinfo(), mo.tzinfo) self.assertEqual(v.zone(), "Japan/Edo") with self.assertRaises(CalendarTypeError): v.timezone()
def testAwareDt(self): mo = vDatetime( timezone.make_aware(dt.datetime(2013, 4, 25, 6, 0), pytz.timezone("Pacific/Chatham"))) v = vDt(mo) self.assertTrue(v) self.assertEqual(v, mo) self.assertEqual(v, mo.dt) self.assertEqual( v, vDatetime.from_ical("20130425T060000", "Pacific/Chatham")) self.assertEqual(v.date(), mo.dt.date()) self.assertEqual(v.time(), mo.dt.time()) self.assertEqual(v.datetime(), mo.dt) self.assertEqual(v.tzinfo(), mo.dt.tzinfo) self.assertEqual(v.zone(), "Pacific/Chatham") self.assertEqual(v.timezone(), pytz.timezone("Pacific/Chatham"))