MCPcopy
hub / github.com/pandas-dev/pandas / test_bad_version

Function test_bad_version

pandas/tests/test_optional_dependency.py:30–65  ·  view source on GitHub ↗
(monkeypatch)

Source from the content-addressed store, hash-verified

28
29
30def test_bad_version(monkeypatch):
31 name = "fakemodule"
32 module = types.ModuleType(name)
33 module.__version__ = "0.9.0"
34 sys.modules[name] = module
35 monkeypatch.setitem(VERSIONS, name, "1.0.0")
36
37 match = "Pandas requires .*1.0.0.* of .fakemodule.*'0.9.0'"
38 with pytest.raises(ImportError, match=match):
39 import_optional_dependency("fakemodule")
40
41 # Test min_version parameter
42 result = import_optional_dependency("fakemodule", min_version="0.8")
43 assert result is module
44
45 with tm.assert_produces_warning(UserWarning, match=match):
46 result = import_optional_dependency("fakemodule", errors="warn")
47 assert result is None
48
49 module.__version__ = "1.0.0" # exact match is OK
50 result = import_optional_dependency("fakemodule")
51 assert result is module
52
53 with pytest.raises(ImportError, match="Pandas requires version '1.1.0'"):
54 import_optional_dependency("fakemodule", min_version="1.1.0")
55
56 with tm.assert_produces_warning(UserWarning, match="Pandas requires version"):
57 result = import_optional_dependency(
58 "fakemodule", errors="warn", min_version="1.1.0"
59 )
60 assert result is None
61
62 result = import_optional_dependency(
63 "fakemodule", errors="ignore", min_version="1.1.0"
64 )
65 assert result is None
66
67
68def test_submodule(monkeypatch):

Callers

nothing calls this directly

Calls 3

setitemMethod · 0.45
raisesMethod · 0.45

Tested by

no test coverage detected