def test_is_inside_rotated_box(self): box = ConstructionBox(angle=67) assert box.is_inside((0, 0)) is True # on border is inside assert box.is_inside(box[0]) is True assert box.is_inside(box[1]) is True assert box.is_inside(box[2]) is True assert box.is_inside(box[3]) is True # outside assert box.is_inside((1, 1)) is False assert box.is_inside((-1, -1)) is False assert box.is_inside((-1, +1)) is False assert box.is_inside((+1, -1)) is False
def test_issue_2020_01_30(): box = ConstructionBox((0.22499999999999978, -6.15), 1.0, 0.4, 270.0) start = (-1.4349395363018706e-16, -7.25) end = (-2.1084952758329149e-16, -6.15) assert box.is_inside(start) is False assert box.is_inside(end) is False
def test_is_inside_horiz_box(self): box = ConstructionBox() assert box.is_inside((0, 0)) is True # on border is inside assert box.is_inside((0.5, 0.5)) is True assert box.is_inside(box[0]) is True assert box.is_inside(box[1]) is True assert box.is_inside(box[2]) is True assert box.is_inside(box[3]) is True # outside assert box.is_inside((1, 1)) is False assert box.is_inside((-1, -1)) is False assert box.is_inside((-1, +1)) is False assert box.is_inside((+1, -1)) is False # outside but on extension lines assert box.is_inside((1, 0.5)) is False assert box.is_inside((-1, -0.5)) is False assert box.is_inside((-1, 0.5)) is False assert box.is_inside((+1, -0.5)) is False