Example #1
0
    def test_week(self):
        # >>> datetime.date(2012, 1, 1).isocalendar()
        # (2011, 52, 7)
        # >>> datetime.date(2012, 12, 31).isocalendar()
        # (2013, 1, 1)

        di = DI().parse('2011-W52')
        self.assertEqual(di.dates(), [
            datetime.date(2011, 12, 26) + datetime.timedelta(i)
            for i in range(7)
        ])
        self.assertEqual(di.next().dates(), [
            datetime.date(2012, 1, 2) + datetime.timedelta(i) for i in range(7)
        ])
        self.assertEqual(str(di), '2011-W52')

        di = DI().parse('2013-W01')
        self.assertEqual(di.dates(), [
            datetime.date(2012, 12, 31) + datetime.timedelta(i)
            for i in range(7)
        ])
        self.assertEqual(di.prev().dates(), [
            datetime.date(2012, 12, 24) + datetime.timedelta(i)
            for i in range(7)
        ])
        self.assertEqual(str(di), '2013-W01')
Example #2
0
 def test_comparison(self):
     a = DI().parse('2011')
     b = DI().parse('2013')
     c = DI().parse('2012')
     self.assertTrue(a < b)
     self.assertTrue(a < c)
     self.assertTrue(b > c)
     d = DI().parse('2012')
     self.assertTrue(d == c)
     self.assertEqual(d, min(c, b))
     self.assertEqual(3, len(set([a, b, c, d])))
Example #3
0
    def test_cmp(self):
        operators = [
            lambda x, y: x == y, lambda x, y: x != y, lambda x, y: x < y,
            lambda x, y: x > y, lambda x, y: x <= y, lambda x, y: x >= y
        ]

        dates = [(1, 30, DI().parse('2015-01-01-2015-01-30')),
                 (1, 15, DI().parse('2015-01-01-2015-01-15')),
                 (10, 20, DI().parse('2015-01-10-2015-01-20')),
                 (20, 30, DI().parse('2015-01-20-2015-01-30'))]

        for from_a, to_a, di_a in dates:
            for from_b, to_b, di_b in dates:
                for op in operators:
                    self.assertEqual(op((from_a, to_a), (from_b, to_b)),
                                     op(di_a, di_b))
Example #4
0
 def test_interval(self):
     di = DI().parse('2012-01-01-2012-02-01')
     self.assertEqual(di.dates(), [
         datetime.date(2012, 1, 1) + datetime.timedelta(i)
         for i in xrange(31)
     ])
     self.assertRaises(NotImplementedError, di.next)
     self.assertRaises(NotImplementedError, di.prev)
Example #5
0
 def test_year(self):
     di = DI().parse('2012')
     self.assertEqual(di.dates(), [
         datetime.date(2012, 1, 1) + datetime.timedelta(i)
         for i in range(366)
     ])
     self.assertEqual(di.next().dates(), [
         datetime.date(2013, 1, 1) + datetime.timedelta(i)
         for i in range(365)
     ])
     self.assertEqual(di.prev().dates(), [
         datetime.date(2011, 1, 1) + datetime.timedelta(i)
         for i in range(365)
     ])
     self.assertEqual(str(di), '2012')
Example #6
0
 def test_month(self):
     di = DI().parse('2012-01')
     self.assertEqual(di.dates(), [
         datetime.date(2012, 1, 1) + datetime.timedelta(i)
         for i in range(31)
     ])
     self.assertEqual(di.next().dates(), [
         datetime.date(2012, 2, 1) + datetime.timedelta(i)
         for i in range(29)
     ])
     self.assertEqual(di.prev().dates(), [
         datetime.date(2011, 12, 1) + datetime.timedelta(i)
         for i in range(31)
     ])
     self.assertEqual(str(di), '2012-01')
Example #7
0
 def test_date(self):
     di = DI().parse('2012-01-01')
     self.assertEqual(di.dates(), [datetime.date(2012, 1, 1)])
     self.assertEqual(di.next().dates(), [datetime.date(2012, 1, 2)])
     self.assertEqual(di.prev().dates(), [datetime.date(2011, 12, 31)])
     self.assertEqual(str(di), '2012-01-01')
Example #8
0
 def test_hours(self):
     d = DI().parse('2015')
     self.assertEqual(len(list(d.hours())), 24 * 365)
Example #9
0
 class MyTaskNoDefault(luigi.Task):
     di = DI()
Example #10
0
 class MyTask(luigi.Task):
     di = DI(default=month)
Example #11
0
 def test_comparison_different_types(self):
     x = DI().parse('2012')
     y = DI().parse('2012-01-01-2013-01-01')
     self.assertRaises(TypeError, lambda: x == y)
Example #12
0
 def test_exception(self):
     self.assertRaises(ValueError, DI().parse, 'xyz')