Skip to content

Commit 927dedb

Browse files
authored
REF: .get tests (#33164)
1 parent 0fbdf48 commit 927dedb

File tree

4 files changed

+70
-63
lines changed

4 files changed

+70
-63
lines changed
+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import pytest
2+
3+
from pandas import DataFrame
4+
import pandas._testing as tm
5+
6+
7+
class TestGet:
8+
def test_get(self, float_frame):
9+
b = float_frame.get("B")
10+
tm.assert_series_equal(b, float_frame["B"])
11+
12+
assert float_frame.get("foo") is None
13+
tm.assert_series_equal(
14+
float_frame.get("foo", float_frame["B"]), float_frame["B"]
15+
)
16+
17+
@pytest.mark.parametrize(
18+
"df",
19+
[
20+
DataFrame(),
21+
DataFrame(columns=list("AB")),
22+
DataFrame(columns=list("AB"), index=range(3)),
23+
],
24+
)
25+
def test_get_none(self, df):
26+
# see gh-5652
27+
assert df.get(None) is None

pandas/tests/frame/indexing/test_indexing.py

-23
Original file line numberDiff line numberDiff line change
@@ -31,29 +31,6 @@
3131
_slice_msg = "slice indices must be integers or None or have an __index__ method"
3232

3333

34-
class TestGet:
35-
def test_get(self, float_frame):
36-
b = float_frame.get("B")
37-
tm.assert_series_equal(b, float_frame["B"])
38-
39-
assert float_frame.get("foo") is None
40-
tm.assert_series_equal(
41-
float_frame.get("foo", float_frame["B"]), float_frame["B"]
42-
)
43-
44-
@pytest.mark.parametrize(
45-
"df",
46-
[
47-
DataFrame(),
48-
DataFrame(columns=list("AB")),
49-
DataFrame(columns=list("AB"), index=range(3)),
50-
],
51-
)
52-
def test_get_none(self, df):
53-
# see gh-5652
54-
assert df.get(None) is None
55-
56-
5734
class TestDataFrameIndexing:
5835
def test_getitem(self, float_frame):
5936
# Slicing

pandas/tests/series/indexing/test_get.py

+43
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import numpy as np
2+
import pytest
23

34
import pandas as pd
45
from pandas import Series
6+
import pandas._testing as tm
57

68

79
def test_get():
@@ -149,3 +151,44 @@ def test_get_with_default():
149151
for other in others:
150152
assert s.get(other, "z") == "z"
151153
assert s.get(other, other) == other
154+
155+
156+
@pytest.mark.parametrize(
157+
"arr",
158+
[np.random.randn(10), tm.makeDateIndex(10, name="a").tz_localize(tz="US/Eastern")],
159+
)
160+
def test_get2(arr):
161+
# TODO: better name, possibly split
162+
# GH#21260
163+
ser = Series(arr, index=[2 * i for i in range(len(arr))])
164+
assert ser.get(4) == ser.iloc[2]
165+
166+
result = ser.get([4, 6])
167+
expected = ser.iloc[[2, 3]]
168+
tm.assert_series_equal(result, expected)
169+
170+
result = ser.get(slice(2))
171+
expected = ser.iloc[[0, 1]]
172+
tm.assert_series_equal(result, expected)
173+
174+
assert ser.get(-1) is None
175+
assert ser.get(ser.index.max() + 1) is None
176+
177+
ser = Series(arr[:6], index=list("abcdef"))
178+
assert ser.get("c") == ser.iloc[2]
179+
180+
result = ser.get(slice("b", "d"))
181+
expected = ser.iloc[[1, 2, 3]]
182+
tm.assert_series_equal(result, expected)
183+
184+
result = ser.get("Z")
185+
assert result is None
186+
187+
assert ser.get(4) == ser.iloc[4]
188+
assert ser.get(-1) == ser.iloc[-1]
189+
assert ser.get(len(ser)) is None
190+
191+
# GH#21257
192+
ser = Series(arr)
193+
ser2 = ser[::2]
194+
assert ser2.get(1) is None

pandas/tests/series/indexing/test_indexing.py

-40
Original file line numberDiff line numberDiff line change
@@ -188,46 +188,6 @@ def test_getitem_box_float64(datetime_series):
188188
assert isinstance(value, np.float64)
189189

190190

191-
@pytest.mark.parametrize(
192-
"arr",
193-
[np.random.randn(10), tm.makeDateIndex(10, name="a").tz_localize(tz="US/Eastern")],
194-
)
195-
def test_get(arr):
196-
# GH 21260
197-
s = Series(arr, index=[2 * i for i in range(len(arr))])
198-
assert s.get(4) == s.iloc[2]
199-
200-
result = s.get([4, 6])
201-
expected = s.iloc[[2, 3]]
202-
tm.assert_series_equal(result, expected)
203-
204-
result = s.get(slice(2))
205-
expected = s.iloc[[0, 1]]
206-
tm.assert_series_equal(result, expected)
207-
208-
assert s.get(-1) is None
209-
assert s.get(s.index.max() + 1) is None
210-
211-
s = Series(arr[:6], index=list("abcdef"))
212-
assert s.get("c") == s.iloc[2]
213-
214-
result = s.get(slice("b", "d"))
215-
expected = s.iloc[[1, 2, 3]]
216-
tm.assert_series_equal(result, expected)
217-
218-
result = s.get("Z")
219-
assert result is None
220-
221-
assert s.get(4) == s.iloc[4]
222-
assert s.get(-1) == s.iloc[-1]
223-
assert s.get(len(s)) is None
224-
225-
# GH 21257
226-
s = pd.Series(arr)
227-
s2 = s[::2]
228-
assert s2.get(1) is None
229-
230-
231191
def test_series_box_timestamp():
232192
rng = pd.date_range("20090415", "20090519", freq="B")
233193
ser = Series(rng)

0 commit comments

Comments
 (0)