When input is truly faulty, throw exception instead of returning false. Add appropriate tests for each such exception.
When input is truly faulty, throw exception instead of returning false. Add appropriate tests for each such exception.