39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import pytest
|
|
|
|
import pandas
|
|
|
|
|
|
def test_matplotlib_backend_error():
|
|
msg = (
|
|
"matplotlib is required for plotting when the default backend "
|
|
'"matplotlib" is selected.'
|
|
)
|
|
try:
|
|
import matplotlib # noqa
|
|
except ImportError:
|
|
with pytest.raises(ImportError, match=msg):
|
|
pandas.set_option("plotting.backend", "matplotlib")
|
|
|
|
|
|
def test_backend_is_not_module():
|
|
msg = (
|
|
'"not_an_existing_module" does not seem to be an installed module. '
|
|
"A pandas plotting backend must be a module that can be imported"
|
|
)
|
|
with pytest.raises(ValueError, match=msg):
|
|
pandas.set_option("plotting.backend", "not_an_existing_module")
|
|
|
|
|
|
def test_backend_is_correct(monkeypatch):
|
|
monkeypatch.setattr(
|
|
"pandas.core.config_init.importlib.import_module", lambda name: None
|
|
)
|
|
pandas.set_option("plotting.backend", "correct_backend")
|
|
assert pandas.get_option("plotting.backend") == "correct_backend"
|
|
|
|
# Restore backend for other tests (matplotlib can be not installed)
|
|
try:
|
|
pandas.set_option("plotting.backend", "matplotlib")
|
|
except ImportError:
|
|
pass
|