def test_attributes(self): e = EDTFDate('2012-09-17') self.assertEqual(e.year, '2012') self.assertEqual(e.month, 9) self.assertEqual(e.month_string, '09') self.assertEqual(e.day, 17) self.assertEqual(e.day_string, '17') e = EDTFDate('2xuu-uu-uu') self.assertEqual(e.year, '2xuu') self.assertEqual(e.month, 'uu') self.assertEqual(e.month_string, 'uu') self.assertEqual(e.day, 'uu') self.assertEqual(e.day_string, 'uu') e = EDTFDate('2xuu') self.assertEqual(e.year, '2xuu') self.assertEqual(e.month, None) self.assertEqual(e.month_string, 'xx') self.assertEqual(e.day, None) self.assertEqual(e.day_string, 'xx') e = EDTFDate('2012-09-17') e.year = '2040' self.assertEqual(unicode(e), '2040-09-17') e.month = '04' self.assertEqual(unicode(e), '2040-04-17') e.day = '26' self.assertEqual(unicode(e), '2040-04-26') e.year = 1924 e.month = 3 e.day = 2 self.assertEqual(unicode(e), '1924-03-02')
def test_nullify(self): # set components to None e = EDTFDate('201x-09-17') e.day = None self.assertEqual(unicode(e), '201x-09') self.assertEqual(e.precision, 'month') e.month = None self.assertEqual(unicode(e), '201x') self.assertEqual(e.precision, 'decade') # again with empty strings e = EDTFDate('201x-09-17') e.day = "" self.assertEqual(unicode(e), '201x-09') self.assertEqual(e.precision, 'month') e.month = "" self.assertEqual(unicode(e), '201x') self.assertEqual(e.precision, 'decade') # clear month without clearing day e = EDTFDate('201x-09-17') e.month = "" self.assertEqual(unicode(e), '201x') self.assertEqual(e.precision, 'decade') e.month = 12 self.assertEqual(unicode(e), '201x-12') self.assertEqual(e.precision, 'month') e.year = "" self.assertEqual(unicode(e), '')
def test_season(self): e = EDTFDate('2001-21') self.assertEqual(e.precision, "season") self.assertEqual(e.season, "spring") self.assertEqual(e.month, 21) e = EDTFDate('2001-22') self.assertEqual(e.precision, "season") self.assertEqual(e.season, "summer") self.assertEqual(e.month, 22) e = EDTFDate('2001-23') self.assertEqual(e.precision, "season") self.assertEqual(e.season, "autumn") self.assertEqual(e.month, 23) e = EDTFDate('2001-24') self.assertEqual(e.precision, "season") self.assertEqual(e.season, "winter") self.assertEqual(e.month, 24) e.season = "summer" self.assertEqual(e.precision, "season") self.assertEqual(e.season, "summer") self.assertEqual(e.month, 22) e.season = "fall" self.assertEqual(e.precision, "season") self.assertEqual(e.season, "autumn") self.assertEqual(e.month, 23) e.month = 11 self.assertEqual(e.precision, "month") self.assertEqual(e.season, None) self.assertEqual(e.month, 11) e.month = 21 self.assertEqual(e.season, "spring") self.assertEqual(e.precision, "season")
def test_unspecified(self): e = EDTFDate('199u') self.assertEqual(unicode(e), '199u') self.assertEqual(e.precision, "year") e = EDTFDate('19uu') self.assertEqual(unicode(e), '19uu') self.assertEqual(e.precision, "year") e = EDTFDate('1999-uu') self.assertEqual(unicode(e), '1999-uu') self.assertEqual(e.precision, "month") e = EDTFDate('1999-01-uu') self.assertEqual(unicode(e), '1999-01-uu') self.assertEqual(e.precision, "day") e = EDTFDate('1999-uu-uu') self.assertEqual(unicode(e), '1999-uu-uu') self.assertEqual(e.precision, "day") e = EDTFDate('1999-12-16') self.assertEqual(unicode(e), '1999-12-16') e.month = 'uu' self.assertEqual(unicode(e), '1999-uu-16') self.assertEqual(e.precision, "day") e = EDTFDate('156u-12-25') self.assertEqual(unicode(e), '156u-12-25') self.assertEqual(e.precision, "day") e = EDTFDate('15uu-12-25') self.assertEqual(unicode(e), '15uu-12-25') self.assertEqual(e.precision, "day") e = EDTFDate('15uu-12-uu') self.assertEqual(unicode(e), '15uu-12-uu') self.assertEqual(e.precision, "day") e = EDTFDate('1560-uu-25') self.assertEqual(unicode(e), '1560-uu-25') self.assertEqual(e.precision, "day")