File size: 1,550 Bytes
7885a28 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
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
|