Skip to content

Commit bd90f1b

Browse files
committed
refactor test_maybe_convert_i8_numeric again
1 parent 7f45326 commit bd90f1b

File tree

1 file changed

+17
-37
lines changed

1 file changed

+17
-37
lines changed

pandas/tests/indexes/interval/test_interval.py

Lines changed: 17 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -418,48 +418,28 @@ def test_maybe_convert_i8_nat(self, breaks):
418418
tm.assert_index_equal(result, expected)
419419

420420
@pytest.mark.parametrize(
421-
"breaks",
422-
[np.arange(5, dtype="int64"), np.arange(5, dtype="float64")],
423-
ids=lambda x: str(x.dtype),
424-
)
425-
@pytest.mark.parametrize(
426-
"make_key",
427-
[
428-
IntervalIndex.from_breaks,
429-
lambda breaks: Interval(breaks[0], breaks[1]),
430-
lambda breaks: breaks[0],
431-
],
432-
ids=["IntervalIndex", "Interval", "scalar"],
433-
)
434-
def test_maybe_convert_i8_numeric(self, breaks, make_key):
435-
# GH 20636
436-
index = IntervalIndex.from_breaks(breaks)
437-
key = make_key(breaks)
438-
439-
result = index._maybe_convert_i8(key)
440-
assert result is key
441-
442-
@pytest.mark.parametrize(
443-
"breaks",
444-
[np.arange(5, dtype="int64"), np.arange(5, dtype="float64")],
445-
ids=lambda x: str(x.dtype),
446-
)
447-
@pytest.mark.parametrize(
448-
"make_key",
421+
"idx, key, is_identical",
449422
[
450-
lambda breaks: breaks,
451-
list,
423+
(IntervalIndex.from_breaks(rng), make_key(rng), is_identical)
424+
for rng in [np.arange(5, dtype="int64"), np.arange(5, dtype="float64")]
425+
for (make_key, is_identical) in [
426+
(IntervalIndex.from_breaks, True),
427+
(lambda breaks: Interval(breaks[0], breaks[1]), True),
428+
(lambda breaks: breaks[0], True),
429+
(lambda breaks: breaks, False),
430+
(list, False),
431+
]
452432
],
453-
ids=["Index", "list"],
454433
)
455-
def test_maybe_convert_i8_numeric_listlike(self, breaks, make_key):
434+
def test_maybe_convert_i8_numeric(self, idx, key, is_identical):
456435
# GH 20636
457-
index = IntervalIndex.from_breaks(breaks)
458-
key = make_key(breaks)
436+
result = idx._maybe_convert_i8(key)
459437

460-
result = index._maybe_convert_i8(key)
461-
expected = NumericIndex(key)
462-
tm.assert_index_equal(result, expected)
438+
if is_identical:
439+
assert result is key
440+
else:
441+
expected = NumericIndex(key)
442+
tm.assert_index_equal(result, expected)
463443

464444
@pytest.mark.parametrize(
465445
"breaks1, breaks2",

0 commit comments

Comments
 (0)