123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 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
|