def test_merge_events(self): 'Ensure that events are merged correctly' c0 = [event1, event2] c1 = [event3, event4] merged = [event1, event2, event3, event4] self.assertEqual(merge_heap_nway.merge_calendars([c0, c1]), merged) self.assertEqual(merge_heap_nway.merge_calendars([c1, c0]), merged)
def test_merge_events_same_start_timestamp(self): 'Ensure that events are merged correctly even if events have the same start_timestamp' c0 = [event1, event2] c1 = [event1a, event3, event4] merged = [event1, event1a, event2, event3, event4] self.assertEqual(merge_heap_nway.merge_calendars([c0, c1]), merged) c0 = [event1a, event2, event3] c1 = [event1, event2, event4] merged = [event1a, event1, event2, event2, event3, event4] self.assertEqual(merge_heap_nway.merge_calendars([c0, c1]), merged)
def test_efficiency(self): 'Ensure that the number of comparisons is correct.' events_a = eventlib.load_file('data/events_a.txt') events_b = eventlib.load_file('data/events_b.txt') events_c = eventlib.load_file('data/events_c.txt') merged = eventlib.load_file('data/merged_abc.txt') merge_heap_nway.counter.reset() self.assertEqual(merge_heap_nway.merge_calendars([events_a, events_b, events_c]), merged) self.assertEqual(merge_heap_nway.counter.count, 559)