49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
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
|