コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }