예제 #1
0
  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)
예제 #2
0
  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)
예제 #3
0
  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)