def test_validate_level_indexes_duplicate_v_level_index_is_out_of_lower_range( ): with raises(ValueError): validate_level_indexes(5, [4, 1, -1], [0, 2])
def test_validate_level_indexes_duplicate_h_level_index_is_out_of_upper_range( ): with raises(ValueError): validate_level_indexes(5, [4, 1, 3], [0, 5])
def test_validate_level_indexes_duplicate_h_level_index(): with raises(ValueError): validate_level_indexes(5, [4, 1, 3], [0, 0, 2])
def test_validate_level_indexes_duplicate_v_and_h_level_indexes_are_not_disjoint( ): with raises(ValueError): validate_level_indexes(5, [4, 1, 3], [0, 1, 2])
def test_validate_level_indexes_with_reordered_indexes_provided(): v_level_indexes, h_level_indexes = validate_level_indexes( 5, [4, 1, 3], [0, 2]) assert list(v_level_indexes) == [4, 1, 3] assert list(h_level_indexes) == [0, 2]
def test_validate_level_indexes_missing_h_level_index(): with raises(ValueError): validate_level_indexes(5, [4, 1, 3], [0])
def test_validate_level_indexes_with_mixed_indexes_provided(): v_level_indexes, h_level_indexes = validate_level_indexes( 5, [0, 1, 2], [3, 4]) assert list(v_level_indexes) == [0, 1, 2] assert list(h_level_indexes) == [3, 4]
def test_validate_level_indexes_with_alternate_indexes_provided(): v_level_indexes, h_level_indexes = validate_level_indexes( 5, [0, 2, 4], [1, 3]) assert list(v_level_indexes) == [0, 2, 4] assert list(h_level_indexes) == [1, 3]
def test_validate_level_indexes_with_only_h_level_indexes_provided(): v_level_indexes, h_level_indexes = validate_level_indexes( 5, None, [0, 1, 2, 3, 4]) assert list(v_level_indexes) == [] assert list(h_level_indexes) == [0, 1, 2, 3, 4]
def test_validate_level_indexes_with_with_num_levels_equal_to_five(): v_level_indexes, h_level_indexes = validate_level_indexes(5, None, None) assert list(v_level_indexes) == [0, 2, 4] assert list(h_level_indexes) == [1, 3]
def test_validate_level_indexes_with_with_num_levels_equal_to_three(): v_level_indexes, h_level_indexes = validate_level_indexes(3, None, None) assert list(v_level_indexes) == [0, 2] assert list(h_level_indexes) == [1]
def test_validate_level_indexes_with_with_num_levels_equal_to_one(): v_level_indexes, h_level_indexes = validate_level_indexes(1, None, None) assert list(v_level_indexes) == [0] assert list(h_level_indexes) == []
def test_validate_level_indexes_with_num_levels_less_than_zero_raises_value_error( ): with raises(ValueError): validate_level_indexes(-1, None, None)