def test_get_range():
	"""Test get_range."""
	rm = RangeMap({1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}, default_value='z')
	print_underlying(rm)
	print_underlying(rm.get_range(1, 3))
	print_underlying(RangeMap.from_iterable(((1, 2, 'a'), (2, 3, 'b'))))
	assert (
		rm.get_range(1, 3) ==
		RangeMap.from_iterable(((1, 2, 'a'), (2, 3, 'b')))
		)
	assert (
		rm.get_range(1.5, 3) ==
		RangeMap.from_iterable(((1.5, 2, 'a'), (2, 3, 'b')))
		)
	print_underlying(rm.get_range(start=3))
	assert rm.get_range(start=3) == RangeMap({3: 'c', 4: 'd', 5: 'e'})
	assert (
		rm.get_range(stop=3) ==
		RangeMap.from_iterable(((None, 1, 'z'), (1, 2, 'a'), (2, 3, 'b')))
		)
	if is_py2:
		with pytest.raises(SyntaxError):
			rm[2:3]
	else:
		assert rm[2:3] == rm.get_range(2, 3)
def test_start_gt_stop():
	rm = RangeMap({1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}, default_value='z')
	with pytest.raises(ValueError):
		rm.set('a', start=3, stop=2)
	with pytest.raises(ValueError):
		rm.get_range(start=3, stop=2)
Ejemplo n.º 3
0
def test_start_gt_stop():
	rm = RangeMap({1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}, default_value='z')
	with pytest.raises(ValueError):
		rm.set('a', start=3, stop=2)
	with pytest.raises(ValueError):
		rm.get_range(start=3, stop=2)