def test_difference_endpoints_overlap_interior_preserved(self): left = RangeIndex(-8, 20, 7) right = RangeIndex(13, -9, -3) result = left.difference(right) expected = RangeIndex(-1, 13, 7) assert expected.tolist() == [-1, 6] tm.assert_index_equal(result, expected, exact=True)
def test_difference_interior_overlap_endpoints_preserved(self): left = RangeIndex(range(4)) right = RangeIndex(range(1, 3)) result = left.difference(right) expected = RangeIndex(0, 4, 3) assert expected.tolist() == [0, 3] tm.assert_index_equal(result, expected, exact=True)
def test_range_difference(start1, stop1, step1, start2, stop2, step2): # test that # a) we match Int64Index.difference and # b) we return RangeIndex whenever it is possible to do so. assume(step1 != 0) assume(step2 != 0) left = RangeIndex(start1, stop1, step1) right = RangeIndex(start2, stop2, step2) result = left.difference(right, sort=None) assert_range_or_not_is_rangelike(result) alt = Int64Index(left).difference(Int64Index(right), sort=None) tm.assert_index_equal(result, alt, exact="equiv") result = left.difference(right, sort=False) assert_range_or_not_is_rangelike(result) alt = Int64Index(left).difference(Int64Index(right), sort=False) tm.assert_index_equal(result, alt, exact="equiv")