def test_range_per_level_zero_length(start):
    assert list(binning.range_per_level(start, start)) == \
        list(binning.range_per_level(start, start + 1))
def test_range_per_level_range(start, stop):
    with pytest.raises(binning.OutOfRangeError):
        list(binning.range_per_level(start, stop))
def test_range_per_level(start, stop, expected):
    assert list(binning.range_per_level(start, stop)) == expected