Skip to content

Commit f21890e

Browse files
Update pandas/tests/extension/base/interface.py
Co-authored-by: Joris Van den Bossche <jorisvandenbossche@gmail.com>
1 parent 52e2b43 commit f21890e

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

pandas/tests/extension/base/interface.py

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,23 +35,24 @@ def test_contains(self, data, data_missing):
3535
# the settled on rule is: `nan_like in arr` is True if nan_like is
3636
# arr.dtype.na_value and arr.isna().any() is True. Else the check returns False.
3737

38-
for this_data in [data, data_missing]:
39-
scalar = this_data[~this_data.isna()][0]
40-
41-
assert scalar in this_data
42-
43-
na_value = this_data.dtype.na_value
44-
45-
if this_data.isna().any():
46-
assert na_value in this_data
47-
else:
48-
assert na_value not in this_data
49-
50-
# this_data can never contain other nan-likes than na_value
51-
for na_value_type in {None, np.nan, pd.NA, pd.NaT}:
52-
if na_value_type is na_value:
53-
continue
54-
assert na_value_type not in this_data
38+
na_value = data.dtype.na_value
39+
# ensure data without missing values
40+
data = data[~data.isna()]
41+
42+
# first elements are non-missing
43+
assert data[0] in data
44+
assert data_missing[0] in data_missing
45+
46+
# check the presence of na_value
47+
assert na_value in data_missing
48+
assert na_value not in data
49+
50+
# the data can never contain other nan-likes than na_value
51+
for na_value_type in {None, np.nan, pd.NA, pd.NaT}:
52+
if na_value_type is na_value:
53+
continue
54+
assert na_value_type not in data
55+
assert na_value_type not in data_missing
5556

5657
def test_memory_usage(self, data):
5758
s = pd.Series(data)

0 commit comments

Comments
 (0)