| from sympy.assumptions.ask import Q | |
| from sympy.assumptions.wrapper import (AssumptionsWrapper, is_infinite, | |
| is_extended_real) | |
| from sympy.core.symbol import Symbol | |
| from sympy.core.assumptions import _assume_defined | |
| def test_all_predicates(): | |
| for fact in _assume_defined: | |
| method_name = f'_eval_is_{fact}' | |
| assert hasattr(AssumptionsWrapper, method_name) | |
| def test_AssumptionsWrapper(): | |
| x = Symbol('x', positive=True) | |
| y = Symbol('y') | |
| assert AssumptionsWrapper(x).is_positive | |
| assert AssumptionsWrapper(y).is_positive is None | |
| assert AssumptionsWrapper(y, Q.positive(y)).is_positive | |
| def test_is_infinite(): | |
| x = Symbol('x', infinite=True) | |
| y = Symbol('y', infinite=False) | |
| z = Symbol('z') | |
| assert is_infinite(x) | |
| assert not is_infinite(y) | |
| assert is_infinite(z) is None | |
| assert is_infinite(z, Q.infinite(z)) | |
| def test_is_extended_real(): | |
| x = Symbol('x', extended_real=True) | |
| y = Symbol('y', extended_real=False) | |
| z = Symbol('z') | |
| assert is_extended_real(x) | |
| assert not is_extended_real(y) | |
| assert is_extended_real(z) is None | |
| assert is_extended_real(z, Q.extended_real(z)) | |