test_join.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import pytest
  2. from pandas import (
  3. IntervalIndex,
  4. MultiIndex,
  5. RangeIndex,
  6. )
  7. import pandas._testing as tm
  8. @pytest.fixture
  9. def range_index():
  10. return RangeIndex(3, name="range_index")
  11. @pytest.fixture
  12. def interval_index():
  13. return IntervalIndex.from_tuples(
  14. [(0.0, 1.0), (1.0, 2.0), (1.5, 2.5)], name="interval_index"
  15. )
  16. def test_join_overlapping_in_mi_to_same_intervalindex(range_index, interval_index):
  17. # GH-45661
  18. multi_index = MultiIndex.from_product([interval_index, range_index])
  19. result = multi_index.join(interval_index)
  20. tm.assert_index_equal(result, multi_index)
  21. def test_join_overlapping_to_multiindex_with_same_interval(range_index, interval_index):
  22. # GH-45661
  23. multi_index = MultiIndex.from_product([interval_index, range_index])
  24. result = interval_index.join(multi_index)
  25. tm.assert_index_equal(result, multi_index)
  26. def test_join_overlapping_interval_to_another_intervalindex(interval_index):
  27. # GH-45661
  28. flipped_interval_index = interval_index[::-1]
  29. result = interval_index.join(flipped_interval_index)
  30. tm.assert_index_equal(result, interval_index)