Skip to content

Commit 890d039

Browse files
jbrockmendelJulianWgs
authored andcommitted
REF: share tests (pandas-dev#37162)
1 parent 1f7ab5e commit 890d039

File tree

3 files changed

+49
-72
lines changed

3 files changed

+49
-72
lines changed

pandas/tests/frame/test_operators.py

-36
Original file line numberDiff line numberDiff line change
@@ -244,39 +244,3 @@ def test_logical_with_nas(self):
244244
result = d["a"].fillna(False, downcast=False) | d["b"]
245245
expected = Series([True, True])
246246
tm.assert_series_equal(result, expected)
247-
248-
@pytest.mark.parametrize(
249-
"left, right, op, expected",
250-
[
251-
(
252-
[True, False, np.nan],
253-
[True, False, True],
254-
operator.and_,
255-
[True, False, False],
256-
),
257-
(
258-
[True, False, True],
259-
[True, False, np.nan],
260-
operator.and_,
261-
[True, False, False],
262-
),
263-
(
264-
[True, False, np.nan],
265-
[True, False, True],
266-
operator.or_,
267-
[True, False, False],
268-
),
269-
(
270-
[True, False, True],
271-
[True, False, np.nan],
272-
operator.or_,
273-
[True, False, True],
274-
),
275-
],
276-
)
277-
def test_logical_operators_nans(self, left, right, op, expected):
278-
# GH 13896
279-
result = op(DataFrame(left), DataFrame(right))
280-
expected = DataFrame(expected)
281-
282-
tm.assert_frame_equal(result, expected)
+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
"""
2+
Shareable tests for &, |, ^
3+
"""
4+
import operator
5+
6+
import numpy as np
7+
import pytest
8+
9+
from pandas import DataFrame, Series
10+
import pandas._testing as tm
11+
12+
13+
class TestLogicalOps:
14+
@pytest.mark.parametrize(
15+
"left, right, op, expected",
16+
[
17+
(
18+
[True, False, np.nan],
19+
[True, False, True],
20+
operator.and_,
21+
[True, False, False],
22+
),
23+
(
24+
[True, False, True],
25+
[True, False, np.nan],
26+
operator.and_,
27+
[True, False, False],
28+
),
29+
(
30+
[True, False, np.nan],
31+
[True, False, True],
32+
operator.or_,
33+
[True, False, False],
34+
),
35+
(
36+
[True, False, True],
37+
[True, False, np.nan],
38+
operator.or_,
39+
[True, False, True],
40+
),
41+
],
42+
)
43+
@pytest.mark.parametrize("klass", [Series, DataFrame])
44+
def test_logical_operators_nans(self, left, right, op, expected, klass):
45+
# GH#13896
46+
result = op(klass(left), klass(right))
47+
expected = klass(expected)
48+
49+
tm.assert_equal(result, expected)

pandas/tests/series/test_operators.py

-36
Original file line numberDiff line numberDiff line change
@@ -42,42 +42,6 @@ def test_logical_operators_bool_dtype_with_empty(self):
4242
expected = s_tft
4343
tm.assert_series_equal(res, expected)
4444

45-
@pytest.mark.parametrize(
46-
"left, right, op, expected",
47-
[
48-
(
49-
[True, False, np.nan],
50-
[True, False, True],
51-
operator.and_,
52-
[True, False, False],
53-
),
54-
(
55-
[True, False, True],
56-
[True, False, np.nan],
57-
operator.and_,
58-
[True, False, False],
59-
),
60-
(
61-
[True, False, np.nan],
62-
[True, False, True],
63-
operator.or_,
64-
[True, False, False],
65-
),
66-
(
67-
[True, False, True],
68-
[True, False, np.nan],
69-
operator.or_,
70-
[True, False, True],
71-
),
72-
],
73-
)
74-
def test_logical_operators_nans(self, left, right, op, expected):
75-
# GH 13896
76-
result = op(Series(left), Series(right))
77-
expected = Series(expected)
78-
79-
tm.assert_series_equal(result, expected)
80-
8145
def test_logical_operators_int_dtype_with_int_dtype(self):
8246
# GH#9016: support bitwise op for integer types
8347

0 commit comments

Comments
 (0)