Skip to content

Commit 61034b4

Browse files
authored
CLN: misplaced TimedeltaIndex tests (#31755)
1 parent c988567 commit 61034b4

File tree

7 files changed

+36
-45
lines changed

7 files changed

+36
-45
lines changed

pandas/tests/frame/indexing/test_indexing.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,14 @@ def test_loc_iterable(self, float_frame, key_type):
9494
expected = float_frame.loc[:, ["A", "B", "C"]]
9595
tm.assert_frame_equal(result, expected)
9696

97+
def test_loc_timedelta_0seconds(self):
98+
# GH#10583
99+
df = pd.DataFrame(np.random.normal(size=(10, 4)))
100+
df.index = pd.timedelta_range(start="0s", periods=10, freq="s")
101+
expected = df.loc[pd.Timedelta("0s") :, :]
102+
result = df.loc["0s":, :]
103+
tm.assert_frame_equal(expected, result)
104+
97105
@pytest.mark.parametrize(
98106
"idx_type",
99107
[
@@ -204,7 +212,7 @@ def test_setitem_list_of_tuples(self, float_frame):
204212
expected = Series(tuples, index=float_frame.index, name="tuples")
205213
tm.assert_series_equal(result, expected)
206214

207-
def test_setitem_mulit_index(self):
215+
def test_setitem_multi_index(self):
208216
# GH7655, test that assigning to a sub-frame of a frame
209217
# with multi-index columns aligns both rows and columns
210218
it = ["jim", "joe", "jolie"], ["first", "last"], ["left", "center", "right"]

pandas/tests/indexes/timedeltas/test_constructors.py

+6
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@
1010

1111

1212
class TestTimedeltaIndex:
13+
@pytest.mark.parametrize("unit", ["Y", "y", "M"])
14+
def test_unit_m_y_raises(self, unit):
15+
msg = "Units 'M' and 'Y' are no longer supported"
16+
with pytest.raises(ValueError, match=msg):
17+
TimedeltaIndex([1, 3, 7], unit)
18+
1319
def test_int64_nocopy(self):
1420
# GH#23539 check that a copy isn't made when we pass int64 data
1521
# and copy=False

pandas/tests/indexes/timedeltas/test_ops.py

-12
Original file line numberDiff line numberDiff line change
@@ -113,15 +113,6 @@ def test_order(self):
113113
["1 day", "3 day", "5 day", "2 day", "1 day"], name="idx2"
114114
)
115115

116-
# TODO(wesm): unused?
117-
# exp2 = TimedeltaIndex(['1 day', '1 day', '2 day',
118-
# '3 day', '5 day'], name='idx2')
119-
120-
# idx3 = TimedeltaIndex([pd.NaT, '3 minute', '5 minute',
121-
# '2 minute', pd.NaT], name='idx3')
122-
# exp3 = TimedeltaIndex([pd.NaT, pd.NaT, '2 minute', '3 minute',
123-
# '5 minute'], name='idx3')
124-
125116
for idx, expected in [(idx1, exp1), (idx1, exp1), (idx1, exp1)]:
126117
ordered = idx.sort_values()
127118
tm.assert_index_equal(ordered, expected)
@@ -189,9 +180,6 @@ def test_infer_freq(self, freq):
189180
tm.assert_index_equal(idx, result)
190181
assert result.freq == freq
191182

192-
def test_shift(self):
193-
pass # handled in test_arithmetic.py
194-
195183
def test_repeat(self):
196184
index = pd.timedelta_range("1 days", periods=2, freq="D")
197185
exp = pd.TimedeltaIndex(["1 days", "1 days", "2 days", "2 days"])

pandas/tests/indexes/timedeltas/test_timedelta.py

-14
Original file line numberDiff line numberDiff line change
@@ -284,17 +284,3 @@ def test_freq_conversion(self):
284284

285285
result = td.astype("timedelta64[s]")
286286
tm.assert_index_equal(result, expected)
287-
288-
@pytest.mark.parametrize("unit", ["Y", "y", "M"])
289-
def test_unit_m_y_raises(self, unit):
290-
msg = "Units 'M' and 'Y' are no longer supported"
291-
with pytest.raises(ValueError, match=msg):
292-
TimedeltaIndex([1, 3, 7], unit)
293-
294-
295-
class TestTimeSeries:
296-
def test_series_box_timedelta(self):
297-
rng = timedelta_range("1 day 1 s", periods=5, freq="h")
298-
s = Series(rng)
299-
assert isinstance(s[1], Timedelta)
300-
assert isinstance(s.iat[2], Timedelta)

pandas/tests/indexes/timedeltas/test_timedelta_range.py

-18
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import numpy as np
22
import pytest
33

4-
import pandas as pd
54
from pandas import timedelta_range, to_timedelta
65
import pandas._testing as tm
76

@@ -31,23 +30,6 @@ def test_timedelta_range(self):
3130
result = timedelta_range("0 days", freq="30T", periods=50)
3231
tm.assert_index_equal(result, expected)
3332

34-
# GH 11776
35-
arr = np.arange(10).reshape(2, 5)
36-
df = pd.DataFrame(np.arange(10).reshape(2, 5))
37-
for arg in (arr, df):
38-
with pytest.raises(TypeError, match="1-d array"):
39-
to_timedelta(arg)
40-
for errors in ["ignore", "raise", "coerce"]:
41-
with pytest.raises(TypeError, match="1-d array"):
42-
to_timedelta(arg, errors=errors)
43-
44-
# issue10583
45-
df = pd.DataFrame(np.random.normal(size=(10, 4)))
46-
df.index = pd.timedelta_range(start="0s", periods=10, freq="s")
47-
expected = df.loc[pd.Timedelta("0s") :, :]
48-
result = df.loc["0s":, :]
49-
tm.assert_frame_equal(expected, result)
50-
5133
@pytest.mark.parametrize(
5234
"periods, freq", [(3, "2D"), (5, "D"), (6, "19H12T"), (7, "16H"), (9, "12H")]
5335
)

pandas/tests/indexes/timedeltas/test_tools.py

+11
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,17 @@ def test_to_timedelta(self):
5757
expected = TimedeltaIndex([np.timedelta64(1, "D")] * 5)
5858
tm.assert_index_equal(result, expected)
5959

60+
def test_to_timedelta_dataframe(self):
61+
# GH 11776
62+
arr = np.arange(10).reshape(2, 5)
63+
df = pd.DataFrame(np.arange(10).reshape(2, 5))
64+
for arg in (arr, df):
65+
with pytest.raises(TypeError, match="1-d array"):
66+
to_timedelta(arg)
67+
for errors in ["ignore", "raise", "coerce"]:
68+
with pytest.raises(TypeError, match="1-d array"):
69+
to_timedelta(arg, errors=errors)
70+
6071
def test_to_timedelta_invalid(self):
6172

6273
# bad value for errors parameter

pandas/tests/series/indexing/test_indexing.py

+10
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,16 @@ def test_series_box_timestamp():
241241
assert isinstance(ser.iat[5], pd.Timestamp)
242242

243243

244+
def test_series_box_timedelta():
245+
rng = pd.timedelta_range("1 day 1 s", periods=5, freq="h")
246+
ser = pd.Series(rng)
247+
assert isinstance(ser[0], Timedelta)
248+
assert isinstance(ser.at[1], Timedelta)
249+
assert isinstance(ser.iat[2], Timedelta)
250+
assert isinstance(ser.loc[3], Timedelta)
251+
assert isinstance(ser.iloc[4], Timedelta)
252+
253+
244254
def test_getitem_ambiguous_keyerror():
245255
s = Series(range(10), index=list(range(0, 20, 2)))
246256
with pytest.raises(KeyError, match=r"^1$"):

0 commit comments

Comments
 (0)