leap: Change tests `assertIs(..., True)` for `assertTrue(...)` by jgomo3 · Pull Request #419 · exercism/python
Predicate functions shouldn't convert its implementation based on
logic expressions (combinations of `not`, `and` and `or`).
I.e. The following should be correct:
def is_NOT_divisible_by_4(n):
return n % 4
assert is_NOT_divisible_by_4(10)
But as the TestCases for this exercise are using `assertIs(..., True)
instead of `assertTrue(...)`, implementations cointing on the numbers
behaviour on boolean contexts will Fail.
What this mean, is that for the given definition of
`is_NOT_divisible_by_4`, the folloging assertion will Fail:
assert is_NOT_divisible_by_4(10) == True
I think it is meaningless to check for `True` as it is naive to write:
if predicate(x) == True:
do_something(x)
Instead of:
if predicate(x):
do_something(x)