|
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)) |
|
|