| import pytest | |
| import pandas as pd | |
| class TestFlags: | |
| def test_equality(self): | |
| a = pd.DataFrame().set_flags(allows_duplicate_labels=True).flags | |
| b = pd.DataFrame().set_flags(allows_duplicate_labels=False).flags | |
| assert a == a | |
| assert b == b | |
| assert a != b | |
| assert a != 2 | |
| def test_set(self): | |
| df = pd.DataFrame().set_flags(allows_duplicate_labels=True) | |
| a = df.flags | |
| a.allows_duplicate_labels = False | |
| assert a.allows_duplicate_labels is False | |
| a["allows_duplicate_labels"] = True | |
| assert a.allows_duplicate_labels is True | |
| def test_repr(self): | |
| a = repr(pd.DataFrame({"A"}).set_flags(allows_duplicate_labels=True).flags) | |
| assert a == "<Flags(allows_duplicate_labels=True)>" | |
| a = repr(pd.DataFrame({"A"}).set_flags(allows_duplicate_labels=False).flags) | |
| assert a == "<Flags(allows_duplicate_labels=False)>" | |
| def test_obj_ref(self): | |
| df = pd.DataFrame() | |
| flags = df.flags | |
| del df | |
| with pytest.raises(ValueError, match="object has been deleted"): | |
| flags.allows_duplicate_labels = True | |
| def test_getitem(self): | |
| df = pd.DataFrame() | |
| flags = df.flags | |
| assert flags["allows_duplicate_labels"] is True | |
| flags["allows_duplicate_labels"] = False | |
| assert flags["allows_duplicate_labels"] is False | |
| with pytest.raises(KeyError, match="a"): | |
| flags["a"] | |
| with pytest.raises(ValueError, match="a"): | |
| flags["a"] = 10 | |