def test__is_last_period(self): self.assertTrue( MonthRangeSplitter.is_last_period(datetime(2015, 12, 31))) self.assertFalse( MonthRangeSplitter.is_last_period(datetime(2015, 12, 15))) self.assertFalse( MonthRangeSplitter.is_last_period(datetime(2015, 10, 31)))
def test__is_first_period(self): self.assertTrue( MonthRangeSplitter.is_first_period(datetime(2015, 1, 1))) self.assertFalse( MonthRangeSplitter.is_first_period(datetime(2015, 1, 15))) self.assertFalse( MonthRangeSplitter.is_first_period(datetime(2015, 2, 1)))
def test__split_cut_left_and_right(self): date_ranges = MonthRangeSplitter.split(datetime(2014, 9, 1), datetime(2016, 3, 31)) self.assertEqual(date_ranges, [(datetime(2014, 9, 1), datetime(2014, 12, 31)), (datetime(2015, 1, 1), datetime(2015, 12, 31)), (datetime(2016, 1, 1), datetime(2016, 3, 31))])
def test__split_entire_year(self): date_ranges = MonthRangeSplitter.split(datetime(2015, 1, 1), datetime(2015, 12, 31)) self.assertEqual(date_ranges, [(datetime(2015, 1, 1), datetime(2015, 12, 31))])