@@ -418,48 +418,28 @@ def test_maybe_convert_i8_nat(self, breaks):
418
418
tm .assert_index_equal (result , expected )
419
419
420
420
@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" ,
449
422
[
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
+ ]
452
432
],
453
- ids = ["Index" , "list" ],
454
433
)
455
- def test_maybe_convert_i8_numeric_listlike (self , breaks , make_key ):
434
+ def test_maybe_convert_i8_numeric (self , idx , key , is_identical ):
456
435
# GH 20636
457
- index = IntervalIndex .from_breaks (breaks )
458
- key = make_key (breaks )
436
+ result = idx ._maybe_convert_i8 (key )
459
437
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 )
463
443
464
444
@pytest .mark .parametrize (
465
445
"breaks1, breaks2" ,
0 commit comments