Skip to content

Commit 44e3c7e

Browse files
committed
fixups
1 parent 8f46391 commit 44e3c7e

File tree

1 file changed

+31
-4
lines changed

1 file changed

+31
-4
lines changed

pandas/tests/series/test_ufunc.py

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
import pandas.util.testing as tm
88

99
UNARY_UFUNCS = [np.positive, np.floor, np.exp]
10-
BINARY_UFUNCS = [np.add, np.logaddexp] # -> dunder op
10+
BINARY_UFUNCS = [
11+
np.add, # dunder op
12+
np.logaddexp,
13+
]
1114
SPARSE = [
1215
pytest.param(True,
1316
marks=pytest.mark.xfail(reason="Series.__array_ufunc__")),
@@ -52,8 +55,12 @@ def test_unary_ufunc(ufunc, sparse):
5255
@pytest.mark.parametrize("ufunc", BINARY_UFUNCS)
5356
@pytest.mark.parametrize("sparse", SPARSE, ids=SPARSE_IDS)
5457
@pytest.mark.parametrize("shuffle", SHUFFLE)
55-
@pytest.mark.parametrize("box_other", [True, False])
58+
@pytest.mark.parametrize("box_other", [True, False],
59+
ids=['other-boxed', 'other-raw'])
60+
@pytest.mark.parametrize("flip", [True, False],
61+
ids=['flipped', 'straight'])
5662
def test_binary_ufunc(ufunc, sparse, shuffle, box_other,
63+
flip,
5764
arrays_for_binary_ufunc):
5865
# Check the invariant that
5966
# ufunc(Series(a), Series(b)) == Series(ufunc(a, b))
@@ -80,8 +87,15 @@ def test_binary_ufunc(ufunc, sparse, shuffle, box_other,
8087
elif shuffle:
8188
a2 = a2.take(idx)
8289

83-
result = ufunc(s1, s2)
84-
expected = pd.Series(ufunc(a1, a2), name=name)
90+
a, b = s1, s2
91+
c, d = a1, a2
92+
93+
if flip:
94+
a, b = b, a
95+
c, d = d, c
96+
97+
result = ufunc(a, b)
98+
expected = pd.Series(ufunc(c, d), name=name)
8599
tm.assert_series_equal(result, expected)
86100

87101

@@ -150,3 +164,16 @@ def test_multiple_ouput_ufunc(sparse, arrays_for_binary_ufunc):
150164

151165
tm.assert_series_equal(result[0], pd.Series(expected[0], name="name"))
152166
tm.assert_series_equal(result[1], pd.Series(expected[1], name="name"))
167+
168+
169+
@pytest.mark.parametrize("sparse", SPARSE, ids=SPARSE_IDS)
170+
@pytest.mark.parametrize("ufunc", BINARY_UFUNCS)
171+
@pytest.mark.xfail(reason="Series.__array_ufunc__")
172+
def test_binary_ufunc_drops_series_name(ufunc, sparse,
173+
arrays_for_binary_ufunc):
174+
a1, a2 = arrays_for_binary_ufunc
175+
s1 = pd.Series(a1, name='a')
176+
s2 = pd.Series(a2, name='b')
177+
178+
result = ufunc(s1, s2)
179+
assert result.name is None

0 commit comments

Comments
 (0)