1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import pytest
- from pandas.core.frame import DataFrame
- @pytest.fixture
- def dataframe():
- return DataFrame({"a": [1, 2], "b": [3, 4]})
- class TestDataFrameValidate:
- """Tests for error handling related to data types of method arguments."""
- @pytest.mark.parametrize(
- "func",
- [
- "query",
- "eval",
- "set_index",
- "reset_index",
- "dropna",
- "drop_duplicates",
- "sort_values",
- ],
- )
- @pytest.mark.parametrize("inplace", [1, "True", [1, 2, 3], 5.0])
- def test_validate_bool_args(self, dataframe, func, inplace):
- msg = 'For argument "inplace" expected type bool'
- kwargs = {"inplace": inplace}
- if func == "query":
- kwargs["expr"] = "a > b"
- elif func == "eval":
- kwargs["expr"] = "a + b"
- elif func == "set_index":
- kwargs["keys"] = ["a"]
- elif func == "sort_values":
- kwargs["by"] = ["a"]
- with pytest.raises(ValueError, match=msg):
- getattr(dataframe, func)(**kwargs)
|