The following test cases:
have "fase" as their expected result. I don't understand why. I think the expected result should be "true", assuming the implementation does not pose any upper bounds on integers and decimals.
I have changed these tests to allow either true or false. An implementation is allowed to return false because the supplied value might be outside the limits of an integer/decimal; it is also allowed to return true, because the limits are implementation-defined.