public void GetValues() { ODataUnresolvedFunctionParameterAlias alias = new ODataUnresolvedFunctionParameterAlias( "alias", HardCodedTestModel.GetPersonAddressProp().Type); alias.Alias.Should().Be("alias"); alias.Type.Should().Be(HardCodedTestModel.GetPersonAddressProp().Type); }
public void GetValues() { ODataUnresolvedFunctionParameterAlias alias = new ODataUnresolvedFunctionParameterAlias( "alias", HardCodedTestModel.GetPersonAddressProp().Type); Assert.Equal("alias", alias.Alias); Assert.Same(alias.Type, HardCodedTestModel.GetPersonAddressProp().Type); }
/// <summary> /// Tries to create a parameter using any representation based on the provided delegate for creating it from a converted value. /// </summary> /// <typeparam name="TParam">The type used to represent a parameter.</typeparam> /// <param name="parameterToken">The token from the syntactic parsing step.</param> /// <param name="configuration">The configuration for the URI Parser.</param> /// <param name="expectedType">The type that the parameter is expected to resolve to.</param> /// <param name="createParameter">Callback to create the final parameter from the parsed value.</param> /// <param name="parameter">The parameter if one was successfully created.</param> /// <returns>Whether the parameter could be created from the parameterToken.</returns> private static bool TryCreateParameter <TParam>(FunctionParameterToken parameterToken, ODataUriParserConfiguration configuration, IEdmTypeReference expectedType, Func <object, TParam> createParameter, out TParam parameter) { Debug.Assert(parameterToken != null, "parameterToken != null"); QueryToken valueToken = parameterToken.ValueToken; object convertedValue; if (valueToken.Kind == QueryTokenKind.FunctionParameterAlias && configuration.FunctionParameterAliasCallback == null) { convertedValue = new ODataUnresolvedFunctionParameterAlias(((FunctionParameterAliasToken)valueToken).Alias, expectedType); } else { string textToParse; if (valueToken.Kind == QueryTokenKind.FunctionParameterAlias) { textToParse = configuration.FunctionParameterAliasCallback(((FunctionParameterAliasToken)valueToken).Alias); } else if (valueToken.Kind == QueryTokenKind.RawFunctionParameterValue) { textToParse = ((RawFunctionParameterValueToken)valueToken).RawText; } else { parameter = default(TParam); return(false); } if (textToParse == null) { convertedValue = null; } else { convertedValue = ODataUriUtils.ConvertFromUriLiteral(textToParse, ODataVersion.V3, configuration.Model, expectedType); } } parameter = createParameter(convertedValue); return(true); }