Inzynierka/Lib/site-packages/pandas/tests/test_flags.py

49 lines
1.5 KiB
Python
Raw Normal View History

2023-06-02 12:51:02 +02:00
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