Skip to content

Commit

Permalink
refactor test_maybe_convert_i8_numeric again
Browse files Browse the repository at this point in the history
  • Loading branch information
topper-123 committed Jan 3, 2023
1 parent 220d25d commit 872c199
Showing 1 changed file with 17 additions and 37 deletions.
54 changes: 17 additions & 37 deletions pandas/tests/indexes/interval/test_interval.py
Original file line number Diff line number Diff line change
Expand Up @@ -418,48 +418,28 @@ def test_maybe_convert_i8_nat(self, breaks):
tm.assert_index_equal(result, expected)

@pytest.mark.parametrize(
"breaks",
[np.arange(5, dtype="int64"), np.arange(5, dtype="float64")],
ids=lambda x: str(x.dtype),
)
@pytest.mark.parametrize(
"make_key",
[
IntervalIndex.from_breaks,
lambda breaks: Interval(breaks[0], breaks[1]),
lambda breaks: breaks[0],
],
ids=["IntervalIndex", "Interval", "scalar"],
)
def test_maybe_convert_i8_numeric(self, breaks, make_key):
# GH 20636
index = IntervalIndex.from_breaks(breaks)
key = make_key(breaks)

result = index._maybe_convert_i8(key)
assert result is key

@pytest.mark.parametrize(
"breaks",
[np.arange(5, dtype="int64"), np.arange(5, dtype="float64")],
ids=lambda x: str(x.dtype),
)
@pytest.mark.parametrize(
"make_key",
"idx, key, is_identical",
[
lambda breaks: breaks,
list,
(IntervalIndex.from_breaks(rng), make_key(rng), is_identical)
for rng in [np.arange(5, dtype="int64"), np.arange(5, dtype="float64")]
for (make_key, is_identical) in [
(IntervalIndex.from_breaks, True),
(lambda breaks: Interval(breaks[0], breaks[1]), True),
(lambda breaks: breaks[0], True),
(lambda breaks: breaks, False),
(list, False),
]
],
ids=["Index", "list"],
)
def test_maybe_convert_i8_numeric_listlike(self, breaks, make_key):
def test_maybe_convert_i8_numeric(self, idx, key, is_identical):
# GH 20636
index = IntervalIndex.from_breaks(breaks)
key = make_key(breaks)
result = idx._maybe_convert_i8(key)

result = index._maybe_convert_i8(key)
expected = NumericIndex(key)
tm.assert_index_equal(result, expected)
if is_identical:
assert result is key
else:
expected = NumericIndex(key)
tm.assert_index_equal(result, expected)

@pytest.mark.parametrize(
"breaks1, breaks2",
Expand Down

0 comments on commit 872c199

Please sign in to comment.