def test_range_outbounds(self): """Test if the range is empty when to_date is lower than from_date""" from_date = datetime.datetime(2017, 3, 30) to_date = datetime.datetime(2016, 11, 10) result = [r for r in months_range(from_date, to_date)] self.assertListEqual(result, [])
def test_range_same_month(self): """Test if the range is empty when both dates are on the same month""" from_date = datetime.datetime(2016, 11, 10) to_date = datetime.datetime(2016, 11, 30) result = [r for r in months_range(from_date, to_date)] self.assertListEqual(result, [])
def test_range(self): """Check if it generates a range on months""" from_date = datetime.datetime(2016, 11, 10) to_date = datetime.datetime(2017, 3, 30) expected = [ (datetime.datetime(2016, 11, 1), datetime.datetime(2016, 12, 1)), (datetime.datetime(2016, 12, 1), datetime.datetime(2017, 1, 1)), (datetime.datetime(2017, 1, 1), datetime.datetime(2017, 2, 1)), (datetime.datetime(2017, 2, 1), datetime.datetime(2017, 3, 1)) ] result = [r for r in months_range(from_date, to_date)] self.assertListEqual(result, expected)