def test_enumerate(self): dtr = DatetimeRange(self.dt1, self.dt2, self.delta) dates = [d for d in dtr.enumerate()] self.assertEqual(dates, [ (0, datetime(2015, 3, 1, 16, 30)), (1, datetime(2015, 3, 2, 4, 30)), (2, datetime(2015, 3, 2, 16, 30)), (3, datetime(2015, 3, 3, 4, 30)), (4, datetime(2015, 3, 3, 16, 30)), (5, datetime(2015, 3, 4, 4, 30)) ])
def test_reverse(self): dtr = DatetimeRange(self.dt1, self.dt2, self.delta) dtr.reverse() dates = [d for d in dtr] self.assertEqual(dates, [ datetime(2015, 3, 4, 7, 15), datetime(2015, 3, 3, 19, 15), datetime(2015, 3, 3, 7, 15), datetime(2015, 3, 2, 19, 15), datetime(2015, 3, 2, 7, 15), datetime(2015, 3, 1, 19, 15) ])
def test_excluding(self): dtr = DatetimeRange(self.dt1, self.dt2, self.delta) excludes = [ datetime(2015, 3, 2, 4, 30), datetime(2015, 3, 3, 16, 30) ] dates = [d for d in dtr.excluding(excludes)] self.assertEqual(dates, [ datetime(2015, 3, 1, 16, 30), datetime(2015, 3, 2, 16, 30), datetime(2015, 3, 3, 4, 30), datetime(2015, 3, 4, 4, 30) ])
def test_count(self): dtr = DatetimeRange(self.dt1, self.dt2, self.delta) self.assertEqual(dtr.count(datetime(2015, 3, 4, 4, 30)), 1)
def test_index(self): dtr = DatetimeRange(self.dt1, self.dt2, self.delta) self.assertEqual(dtr.index(datetime(2015, 3, 3, 4, 30)), 3)