def validateShape(value, errorMessage): if not isinstance(value, Shape): raise ShapeException(errorMessage) Point.validatePoint( value.center, "Center <{}> is not a valid point.".format(value.center)) for point in value.points: Point.validatePoint( point, "Point <{}> is not a valid point.".format(point))
def validateLine(value, errorMessage): """ Method that validates that a line is valid. :raises: ShapeException: If the line is invalid """ if not isinstance(value, Line): raise ShapeException(errorMessage) Point.validatePoint(value.point1, "Invalid point1") Point.validatePoint(value.point2, "Invalid point2") Validator.validateLineHasLength( value, "A Line must have a length greater than 0")
def testValidatePoint(self): p1 = Point(1, 1) Point.validatePoint(p1, "Point unexpectedly invalid") self.assertRaises(ShapeException, Point.validatePoint, "(1, 1)", "String \'(1, 1)\' is not a valid point")