Пример #1
0
    def test_new_from_surround(self):
        """new range if one range surrounds another."""
        # One range fully inside the other intersect() returns the smaller range
        #    01 -------06    range
        #       02--04       rangeInside
        #       02--04       intersection
        begin_time = self._strp("2010-01-01 12:00")
        end_time = self._strp("2010-06-01 12:00")
        range1 = TimeRange(begin_time, end_time)

        begin_time_inside = self._strp("2010-02-01 12:00")
        end_time_inside = self._strp("2010-04-01 12:00")
        range_inside = TimeRange(begin_time_inside, end_time_inside)

        self.assertTrue(range1.intersection(range_inside).equals(range_inside))
        self.assertTrue(range_inside.intersection(range1).equals(range_inside))
Пример #2
0
    def test_new_from_surround(self):
        """new range if one range surrounds another."""
        # One range fully inside the other intersect() returns the smaller range
        #    01 -------06    range
        #       02--04       rangeInside
        #       02--04       intersection
        begin_time = self._strp("2010-01-01 12:00")
        end_time = self._strp("2010-06-01 12:00")
        range1 = TimeRange(begin_time, end_time)

        begin_time_inside = self._strp("2010-02-01 12:00")
        end_time_inside = self._strp("2010-04-01 12:00")
        range_inside = TimeRange(begin_time_inside, end_time_inside)

        self.assertTrue(range1.intersection(range_inside).equals(range_inside))
        self.assertTrue(range_inside.intersection(range1).equals(range_inside))
Пример #3
0
    def test_non_intersection(self):
        """compare if the ranges don't intersect."""
        # Two non-overlapping ranges: intersect() returns undefined
        begin_time = self._strp("2010-01-01 12:00")
        end_time = self._strp("2010-06-01 12:00")
        range1 = TimeRange(begin_time, end_time)

        begin_time_outside = self._strp("2010-07-15 12:00")
        end_time_outside = self._strp("2010-08-15 12:00")
        range_outside = TimeRange(begin_time_outside, end_time_outside)

        self.assertIsNone(range1.intersection(range_outside))
Пример #4
0
    def test_non_intersection(self):
        """compare if the ranges don't intersect."""
        # Two non-overlapping ranges: intersect() returns undefined
        begin_time = self._strp("2010-01-01 12:00")
        end_time = self._strp("2010-06-01 12:00")
        range1 = TimeRange(begin_time, end_time)

        begin_time_outside = self._strp("2010-07-15 12:00")
        end_time_outside = self._strp("2010-08-15 12:00")
        range_outside = TimeRange(begin_time_outside, end_time_outside)

        self.assertIsNone(range1.intersection(range_outside))
Пример #5
0
    def test_new_from_intersection(self):
        """new range if the ranges intersect."""
        # Two overlapping ranges: intersect() returns
        #    01 -------06       range
        #           05-----07   rangeOverlap
        #           05-06       intersection
        begin_time = self._strp("2010-01-01 12:00")
        end_time = self._strp("2010-06-01 12:00")
        range1 = TimeRange(begin_time, end_time)

        begin_time_overlap = self._strp("2010-05-01 12:00")
        end_time_overlap = self._strp("2010-07-01 12:00")
        range_overlap = TimeRange(begin_time_overlap, end_time_overlap)
        expected = TimeRange(begin_time_overlap, end_time)

        self.assertTrue(range1.intersection(range_overlap).equals(expected))
Пример #6
0
    def test_new_from_intersection(self):
        """new range if the ranges intersect."""
        # Two overlapping ranges: intersect() returns
        #    01 -------06       range
        #           05-----07   rangeOverlap
        #           05-06       intersection
        begin_time = self._strp("2010-01-01 12:00")
        end_time = self._strp("2010-06-01 12:00")
        range1 = TimeRange(begin_time, end_time)

        begin_time_overlap = self._strp("2010-05-01 12:00")
        end_time_overlap = self._strp("2010-07-01 12:00")
        range_overlap = TimeRange(begin_time_overlap, end_time_overlap)
        expected = TimeRange(begin_time_overlap, end_time)

        self.assertTrue(range1.intersection(range_overlap).equals(expected))