def test_containing_overlap(self): self.lines_intersect_test(HorizontalLine(0, 1, 4), HorizontalLine(0, 0, 5), HorizontalLine(0, 1, 4))
def test_contained_by_overlap_inverse(self): self.lines_intersect_test(HorizontalLine(0, 1, 4), HorizontalLine(0, 4, 1), HorizontalLine(0, 0, 5))
def test_continuing_lines_intersect(self): self.lines_intersect_test(Point(5, 0), HorizontalLine(0, 0, 5), HorizontalLine(0, 5, 7))
def test_start_end_overlap(self): self.lines_intersect_test(HorizontalLine(0, 2, 3), HorizontalLine(0, 2, 4), HorizontalLine(0, 0, 3))
def test_touching_lines_intersect(self): self.lines_intersect_test(Point(0, 2), HorizontalLine(2, 0, 5), VerticalLine(0, 0, 5))
def test_crossing_lines_intersect2(self): self.lines_intersect_test(None, HorizontalLine(1, 1, 9), VerticalLine(7, 6, 4))
def test_crossing_lines_intersect(self): self.lines_intersect_test(Point(2, 2), HorizontalLine(2, 0, 5), VerticalLine(2, 0, 5))
def test_horizontal_parallel_lines_dont_intersect(self): self.lines_intersect_test(None, HorizontalLine(0, 0, 5), HorizontalLine(1, 0, 5))
def right(self, distance): self.add_line( HorizontalLine(self.head.y, self.head.x, self.head.x + distance)) return self