Exemplo n.º 1
0
    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')
Exemplo n.º 2
0
    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), '')