def test_overlapping_segments_split_output(self): segment_a = [{ 'count': 1, 'end': 100 }, { 'count': 2, 'end': 200 }, { 'count': 5, 'end': 300 }] segment_b = [{'count': 1, 'end': 100}, {'count': 4, 'end': 250}] expected_output_segments = [{ 'count': 2, 'end': 100 }, { 'count': 6, 'end': 200 }, { 'count': 9, 'end': 250 }, { 'count': 5, 'end': 300 }] output_segments = merger._merge_segments(segment_a, segment_b) self.assertListEqual(output_segments, expected_output_segments)
def test_nonoverlapping_segments_concatenate(self): segment_a = [{'count': 1, 'end': 100}, {'count': 2, 'end': 200}] segment_b = [{ 'count': 0, 'end': 200 }, { 'count': 1, 'end': 300 }, { 'count': 4, 'end': 500 }] expected_output_segments = [{ 'count': 1, 'end': 100 }, { 'count': 2, 'end': 200 }, { 'count': 1, 'end': 300 }, { 'count': 4, 'end': 500 }] output_segments = merger._merge_segments(segment_a, segment_b) self.assertListEqual(output_segments, expected_output_segments)
def test_disjoint_segments_accumulate(self): segment_a = [{'count': 1, 'end': 100}, {'count': 2, 'end': 200}] segment_b = [{'count': 1, 'end': 100}, {'count': 2, 'end': 200}] expected_output_segments = [{ 'count': 2, 'end': 100 }, { 'count': 4, 'end': 200 }] output_segments = merger._merge_segments(segment_a, segment_b) self.assertListEqual(output_segments, expected_output_segments)