def test_circumscribed_rectangle_non_ortho_2_pts_common_pos_slope_on_diagonal(self): p1 = IntegerPoint(0, 0) p2 = IntegerPoint(2, 2) p3 = IntegerPoint(5, 5) t1 = IntegerTriangle(p1, p2, p3) rp1 = IntegerPoint(0, 0) rp3 = IntegerPoint(5, 5) a = IntegerSegment(rp1, IntegerPoint(rp3._x, rp1._y)) b = IntegerSegment(IntegerPoint(rp3._x, rp1._y), rp3) c = IntegerSegment(rp3, IntegerPoint(rp1._x, rp3._y)) d = IntegerSegment(IntegerPoint(rp1._x, rp3._y), rp1) self.assertTupleEqual(t1.circumscribed_rectangle().sides(), (a, b, c, d)) self.assertTupleEqual(t1.circumscribed_rectangle().vertices(), (a._p1, b._p1, c._p1, d._p1))
def test_circumscribed_rectangle_non_ortho_2_pts_common_neg_slope_above_diagonal(self): p1 = IntegerPoint(0, 0) p2 = IntegerPoint(3, -1) p3 = IntegerPoint(5, -5) t1 = IntegerTriangle(p1, p2, p3) rp1 = IntegerPoint(0, -5) rp3 = IntegerPoint(5, 0) a = IntegerSegment(rp1, IntegerPoint(rp3._x, rp1._y)) b = IntegerSegment(IntegerPoint(rp3._x, rp1._y), rp3) c = IntegerSegment(rp3, IntegerPoint(rp1._x, rp3._y)) d = IntegerSegment(IntegerPoint(rp1._x, rp3._y), rp1) rect = t1.circumscribed_rectangle() self.assertTupleEqual(rect.sides(), (a, b, c, d)) self.assertTupleEqual(rect.vertices(), (a._p1, b._p1, c._p1, d._p1))