コード例 #1
0
    def test_unoverlapping(self):
        interval_1 = Interval(1, 3)  # (1, 3)
        interval_2 = Interval(4, 5)  # (4, 5)

        difference = Interval.difference(interval_1, interval_2)  # (1, 3)

        self.assertEqual(difference.start, 1)
        self.assertEqual(difference.end, 3)
        self.assertFalse(difference.is_start_inclusive)
        self.assertFalse(difference.is_end_inclusive)
コード例 #2
0
    def test_right_touch(self):
        interval_1 = Interval(0, 1, True, True)  # [0, 1]
        interval_2 = Interval(1, 3, is_start_inclusive=True)  # [1, 3)

        difference = Interval.difference(interval_1, interval_2)  # [0, 1)

        self.assertEqual(len(difference.intervals), 1)
        self.assertEqual(difference.intervals[0].start, 0)
        self.assertEqual(difference.intervals[0].end, 1)
        self.assertTrue(difference.intervals[0].is_start_inclusive)
        self.assertFalse(difference.intervals[0].is_end_inclusive)
コード例 #3
0
    def test_right_overlap(self):
        interval_1 = Interval(0, 2)  # (0, 2)
        interval_2 = Interval(1, 3)  # (1, 3)

        difference = Interval.difference(interval_1, interval_2)  # (0, 1]

        self.assertEqual(len(difference.intervals), 1)
        self.assertEqual(difference.intervals[0].start, 0)
        self.assertEqual(difference.intervals[0].end, 1)
        self.assertFalse(difference.intervals[0].is_start_inclusive)
        self.assertTrue(difference.intervals[0].is_end_inclusive)
コード例 #4
0
    def test_split(self):
        interval_1 = Interval(0, 4, True, True)  # [0, 4]
        interval_2 = Interval(2, 3, is_start_inclusive=True)  # [2, 3)

        difference = Interval.difference(interval_1,
                                         interval_2)  # [0, 2) + [3, 4]

        self.assertEqual(len(difference.intervals), 2)

        self.assertEqual(difference.intervals[0].start, 0)
        self.assertEqual(difference.intervals[0].end, 2)
        self.assertTrue(difference.intervals[0].is_start_inclusive)
        self.assertFalse(difference.intervals[0].is_end_inclusive)

        self.assertEqual(difference.intervals[1].start, 3)
        self.assertEqual(difference.intervals[1].end, 4)
        self.assertTrue(difference.intervals[1].is_start_inclusive)
        self.assertTrue(difference.intervals[1].is_end_inclusive)