Example #1
0
    def test_find_insertion_index_when_overlapping(self):
        """Test that `_find_insertion_index` raises an error when the new_interval _overlaps."""
        intervals = [(10, 20), (44, 55), (60, 61), (80, 1000)]
        with self.assertRaises(PulseError):
            _find_insertion_index(intervals, (60, 62))
        with self.assertRaises(PulseError):
            _find_insertion_index(intervals, (100, 1500))

        intervals = [(0, 1), (10, 15)]
        with self.assertRaises(PulseError):
            _find_insertion_index(intervals, (7, 13))
Example #2
0
 def test_find_insertion_index_empty_list(self):
     """Test that the insertion index is properly found for empty lists."""
     self.assertEqual(_find_insertion_index([], (0, 1)), 0)
Example #3
0
    def test_find_insertion_index(self):
        """Test the `_find_insertion_index` function."""
        intervals = [(1, 2), (4, 5)]
        self.assertEqual(_find_insertion_index(intervals, (2, 3)), 1)
        self.assertEqual(_find_insertion_index(intervals, (3, 4)), 1)
        self.assertEqual(intervals, [(1, 2), (4, 5)])
        intervals = [(1, 2), (4, 5), (6, 7)]
        self.assertEqual(_find_insertion_index(intervals, (2, 3)), 1)
        self.assertEqual(_find_insertion_index(intervals, (0, 1)), 0)
        self.assertEqual(_find_insertion_index(intervals, (5, 6)), 2)
        self.assertEqual(_find_insertion_index(intervals, (8, 9)), 3)

        longer_intervals = [(1, 2), (2, 3), (4, 5), (5, 6), (7, 9), (11, 11)]
        self.assertEqual(_find_insertion_index(longer_intervals, (4, 4)), 2)
        self.assertEqual(_find_insertion_index(longer_intervals, (5, 5)), 3)
        self.assertEqual(_find_insertion_index(longer_intervals, (3, 4)), 2)
        self.assertEqual(_find_insertion_index(longer_intervals, (3, 4)), 2)

        # test when two identical zero duration timeslots are present
        intervals = [(0, 10), (73, 73), (73, 73), (90, 101)]
        self.assertEqual(_find_insertion_index(intervals, (42, 73)), 1)
        self.assertEqual(_find_insertion_index(intervals, (73, 81)), 3)