def test_check_non_zero(): """Test the check_non_zero method.""" plane_1 = Plane(Vector3D(0, 0, 1)) pts_1 = (Point3D(0, 0), Point3D(2, 0), Point3D(2, 2)) pts_2 = (Point3D(0, 0), Point3D(2, 0), Point3D(2, 0)) shade_1 = Shade('shade1', Face3D(pts_1, plane_1)) shade_2 = Shade('shade2', Face3D(pts_2, plane_1)) assert shade_1.check_non_zero(0.0001, False) is True assert shade_2.check_non_zero(0.0001, False) is False with pytest.raises(Exception): assert shade_2.check_self_intersecting(0.0001, True)
def test_check_self_intersecting(): """Test the check_self_intersecting method.""" plane_1 = Plane(Vector3D(0, 0, 1)) plane_2 = Plane(Vector3D(0, 0, -1)) pts_1 = (Point3D(0, 0), Point3D(2, 0), Point3D(2, 2), Point3D(0, 2)) pts_2 = (Point3D(0, 0), Point3D(0, 2), Point3D(2, 0), Point3D(2, 2)) shade_1 = Shade('shade1', Face3D(pts_1, plane_1)) shade_2 = Shade('shade2', Face3D(pts_2, plane_1)) shade_3 = Shade('shade3', Face3D(pts_1, plane_2)) shade_4 = Shade('shade4', Face3D(pts_2, plane_2)) assert shade_1.check_self_intersecting(False) is True assert shade_2.check_self_intersecting(False) is False with pytest.raises(Exception): assert shade_2.check_self_intersecting(True) assert shade_3.check_self_intersecting(False) is True assert shade_4.check_self_intersecting(False) is False with pytest.raises(Exception): assert shade_4.check_self_intersecting(True)