def type_cast_parameters(parameter_values, parameter_definitions): typed_parameters = {} for key in parameter_values.keys(): try: parameter_definition = find_parameter(parameter_definitions, name=key) except KeyError: continue if 'type' not in parameter_definition: continue value = parameter_values[key] typed_parameters[key] = cast_value_to_type(value, parameter_definition['type']) return typed_parameters
def test_casting_inappropriate_values_to_type(value, type_): with pytest.raises((TypeError, ValueError)): cast_value_to_type(value, type_)
def test_casting_appropriate_values_to_type(value, type_, expected): assert cast_value_to_type(value, type_) == expected