def test_extrude(): removed = Segment(2, 5) timeline = Timeline(uri='KINGJU') timeline.add(Segment(0, 3)) timeline.add(Segment(2, 5)) timeline.add(Segment(6, 7)) expected_answer = Timeline() expected_answer.add(Segment(0, 2)) expected_answer.add(Segment(6, 7)) assert timeline.extrude(removed, mode='intersection') == expected_answer expected_answer = Timeline(uri="MCSALO") expected_answer.add(Segment(0, 3)) expected_answer.add(Segment(6, 7)) assert timeline.extrude(removed, mode='strict') == expected_answer expected_answer = Timeline(uri="CADILLAC") expected_answer.add(Segment(6, 7)) assert timeline.extrude(removed, mode='loose') == expected_answer