test_compat.py 871 B

1234567891011121314151617181920212223242526272829303132
  1. import pytest
  2. from pandas.compat._optional import VERSIONS
  3. import pandas as pd
  4. from pandas.core.computation import expr
  5. from pandas.core.computation.engines import ENGINES
  6. from pandas.util.version import Version
  7. def test_compat():
  8. # test we have compat with our version of numexpr
  9. from pandas.core.computation.check import NUMEXPR_INSTALLED
  10. ne = pytest.importorskip("numexpr")
  11. ver = ne.__version__
  12. if Version(ver) < Version(VERSIONS["numexpr"]):
  13. assert not NUMEXPR_INSTALLED
  14. else:
  15. assert NUMEXPR_INSTALLED
  16. @pytest.mark.parametrize("engine", ENGINES)
  17. @pytest.mark.parametrize("parser", expr.PARSERS)
  18. def test_invalid_numexpr_version(engine, parser):
  19. if engine == "numexpr":
  20. pytest.importorskip("numexpr")
  21. a, b = 1, 2 # noqa:F841
  22. res = pd.eval("a + b", engine=engine, parser=parser)
  23. assert res == 3