def test_cover_time_point(self): ################################ With the repeat unit DAY. repetitiveInterval1 = RepetitiveInterval( fromIsoString("20150825T000000"), fromIsoString("20150925T000000"), 5, 10, 2, RepetitiveInterval.RepeatUnit.DAY) timePoint1 = fromIsoString("20150825T050000") result = repetitiveInterval1.getInterval(timePoint1) self.assertEqual(result.isPositive, True) self.assertEqual(toIsoString(result.interval.getStartTime()), "20150825T050000") self.assertEqual(toIsoString(result.interval.getEndTime()), "20150825T100000") timePoint2 = fromIsoString("20150902T060000") result = repetitiveInterval1.getInterval(timePoint2) self.assertEqual(result.isPositive, True) self.assertEqual(toIsoString(result.interval.getStartTime()), "20150902T050000") self.assertEqual(toIsoString(result.interval.getEndTime()), "20150902T100000") timePoint3 = fromIsoString("20150929T040000") result = repetitiveInterval1.getInterval(timePoint3) self.assertEqual(result.isPositive, False) ################################ With the repeat unit MONTH. repetitiveInterval2 = RepetitiveInterval( fromIsoString("20150825T000000"), fromIsoString("20160825T000000"), 5, 10, 2, RepetitiveInterval.RepeatUnit.MONTH) timePoint4 = fromIsoString("20150825T050000") result = repetitiveInterval2.getInterval(timePoint4) self.assertEqual(result.isPositive, True) self.assertEqual(toIsoString(result.interval.getStartTime()), "20150825T050000") self.assertEqual(toIsoString(result.interval.getEndTime()), "20150825T100000") timePoint5 = fromIsoString("20151025T060000") result = repetitiveInterval2.getInterval(timePoint5) self.assertEqual(result.isPositive, True) self.assertEqual(toIsoString(result.interval.getStartTime()), "20151025T050000") self.assertEqual(toIsoString(result.interval.getEndTime()), "20151025T100000") timePoint6 = fromIsoString("20151226T050000") result = repetitiveInterval2.getInterval(timePoint6) self.assertEqual(result.isPositive, False) timePoint7 = fromIsoString("20151225T040000") result = repetitiveInterval2.getInterval(timePoint7) self.assertEqual(result.isPositive, False) ################################ With the repeat unit YEAR. repetitiveInterval3 = RepetitiveInterval( fromIsoString("20150825T000000"), fromIsoString("20300825T000000"), 5, 10, 3, RepetitiveInterval.RepeatUnit.YEAR) timePoint8 = fromIsoString("20150825T050000") result = repetitiveInterval3.getInterval(timePoint8) self.assertEqual(result.isPositive, True) self.assertEqual(toIsoString(result.interval.getStartTime()), "20150825T050000") self.assertEqual(toIsoString(result.interval.getEndTime()), "20150825T100000") timePoint9 = fromIsoString("20180825T060000") result = repetitiveInterval3.getInterval(timePoint9) self.assertEqual(result.isPositive, True) self.assertEqual(toIsoString(result.interval.getStartTime()), "20180825T050000") self.assertEqual(toIsoString(result.interval.getEndTime()), "20180825T100000") timePoint10 = fromIsoString("20180826T050000") result = repetitiveInterval3.getInterval(timePoint10) self.assertEqual(result.isPositive, False) timePoint11 = fromIsoString("20210825T040000") result = repetitiveInterval3.getInterval(timePoint11) self.assertEqual(result.isPositive, False) timePoint12 = fromIsoString("20300825T040000") result = repetitiveInterval3.getInterval(timePoint12) self.assertEqual(result.isPositive, False)