public void GetTemplatesFunctionImportSegmentTemplate_ReturnsTemplates_ForEmptyParameter() { // Arrange EdmFunction function = new EdmFunction("NS", "MyFunction", IntType, true, null, false); function.AddParameter("bindingParameter", IntType); FunctionSegmentTemplate functionSegment = new FunctionSegmentTemplate(function, null); // Act & Assert IEnumerable <string> templates = functionSegment.GetTemplates(); Assert.Collection(templates, e => { Assert.Equal("/NS.MyFunction()", e); }, e => { Assert.Equal("/MyFunction()", e); }); // Act & Assert templates = functionSegment.GetTemplates(new ODataRouteOptions { EnableNonParenthesisForEmptyParameterFunction = true, EnableQualifiedOperationCall = false }); string template = Assert.Single(templates); Assert.Equal("/MyFunction", template); }
public void GetTemplatesFunctionSegmentTemplate_ReturnsTemplates() { // Assert _edmFunction.AddOptionalParameter("option1", IntType); _edmFunction.AddOptionalParameter("option2", IntType); IDictionary <string, string> parameters = new Dictionary <string, string> { { "name", "{nameTemp}" }, { "title", "{titleTemp}" }, { "option2", "{option2Temp}" }, }; FunctionSegmentTemplate functionSegment = new FunctionSegmentTemplate(parameters, _edmFunction, null); // Act & Assert IEnumerable <string> templates = functionSegment.GetTemplates(); Assert.Collection(templates, e => { Assert.Equal("/NS.MyFunction(name={nameTemp},title={titleTemp},option2={option2Temp})", e); }, e => { Assert.Equal("/MyFunction(name={nameTemp},title={titleTemp},option2={option2Temp})", e); }); // Act & Assert templates = functionSegment.GetTemplates(new ODataRouteOptions { EnableUnqualifiedOperationCall = false }); string template = Assert.Single(templates); Assert.Equal("/NS.MyFunction(name={nameTemp},title={titleTemp},option2={option2Temp})", template); // Act & Assert templates = functionSegment.GetTemplates(new ODataRouteOptions { EnableQualifiedOperationCall = false }); template = Assert.Single(templates); Assert.Equal("/MyFunction(name={nameTemp},title={titleTemp},option2={option2Temp})", template); }