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), '')