예제 #1
0
    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)
예제 #2
0
    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)