123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- # -*- coding: utf-8 -*-
- import sys
- import types
- import pytest
- import pandas.util._test_decorators as td
- @pytest.mark.parametrize("name", ["foo", "hello123"])
- def test_safe_import_non_existent(name):
- assert not td.safe_import(name)
- def test_safe_import_exists():
- assert td.safe_import("pandas")
- @pytest.mark.parametrize("min_version,valid", [
- ("0.0.0", True),
- ("99.99.99", False)
- ])
- def test_safe_import_versions(min_version, valid):
- result = td.safe_import("pandas", min_version=min_version)
- result = result if valid else not result
- assert result
- @pytest.mark.parametrize("min_version,valid", [
- (None, False),
- ("1.0", True),
- ("2.0", False)
- ])
- def test_safe_import_dummy(monkeypatch, min_version, valid):
- mod_name = "hello123"
- mod = types.ModuleType(mod_name)
- mod.__version__ = "1.5"
- if min_version is not None:
- monkeypatch.setitem(sys.modules, mod_name, mod)
- result = td.safe_import(mod_name, min_version=min_version)
- result = result if valid else not result
- assert result
|