test_wrapper.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from sympy.assumptions.ask import Q
  2. from sympy.assumptions.wrapper import (AssumptionsWrapper, is_infinite,
  3. is_extended_real)
  4. from sympy.core.symbol import Symbol
  5. from sympy.core.assumptions import _assume_defined
  6. def test_all_predicates():
  7. for fact in _assume_defined:
  8. method_name = f'_eval_is_{fact}'
  9. assert hasattr(AssumptionsWrapper, method_name)
  10. def test_AssumptionsWrapper():
  11. x = Symbol('x', positive=True)
  12. y = Symbol('y')
  13. assert AssumptionsWrapper(x).is_positive
  14. assert AssumptionsWrapper(y).is_positive is None
  15. assert AssumptionsWrapper(y, Q.positive(y)).is_positive
  16. def test_is_infinite():
  17. x = Symbol('x', infinite=True)
  18. y = Symbol('y', infinite=False)
  19. z = Symbol('z')
  20. assert is_infinite(x)
  21. assert not is_infinite(y)
  22. assert is_infinite(z) is None
  23. assert is_infinite(z, Q.infinite(z))
  24. def test_is_extended_real():
  25. x = Symbol('x', extended_real=True)
  26. y = Symbol('y', extended_real=False)
  27. z = Symbol('z')
  28. assert is_extended_real(x)
  29. assert not is_extended_real(y)
  30. assert is_extended_real(z) is None
  31. assert is_extended_real(z, Q.extended_real(z))