def test_delitem_beginning(): """Test RangeMap.__delitem__ at the beginning.""" rm = RangeMap({1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}) if not is_py2: with pytest.raises(TypeError): del rm[2] with pytest.raises(ValueError): del rm[2:4:2] rm.delete(1, 2) assert rm == RangeMap({2: 'b', 3: 'c', 4: 'd', 5: 'e'})
def test_delitem_consecutive(): """Test deleting consecutive ranges.""" rm = RangeMap({2: 'b', 3: 'c', 4: 'd', 5: 'e'}) rm.delete(3, 4) rm.delete(4, 5) assert rm == RangeMap.from_iterable(((2, 3, 'b'), (5, None, 'e')))
def test_delitem_beginning(): """Test RangeMap.__delitem__ at the beginning.""" rm = RangeMap({1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}) rm.delete(1, 2) assert rm == RangeMap({2: 'b', 3: 'c', 4: 'd', 5: 'e'})
def test_delete(): """Test deleting.""" rm = RangeMap({1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}, default_value='z') rm.delete(stop=1) assert rm == RangeMap({1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}) rm.delete(start=2, stop=4) assert rm == RangeMap.from_iterable(( (1, 2, 'a'), (4, 5, 'd'), (5, None, 'e'), )) rm.delete(start=5) assert rm == RangeMap.from_iterable(((1, 2, 'a'), (4, 5, 'd'))) rm = RangeMap({1: 'a', 2: 'b', 3: 'c'}) rm.delete(2, 3) assert rm == RangeMap([(1, 2, 'a'), (3, None, 'c')]) print(repr(rm)) with pytest.raises(KeyError): rm.delete(2, 3) with pytest.raises(KeyError): rm.delete(0, 2) with pytest.raises(KeyError): rm.delete(2.5, 3.5)