public void InvalidOrderByExpressionsTest()
        {
            IEnumerable<InvalidExpressionTestCase> testCases = new InvalidExpressionTestCase[]
            {
                new InvalidExpressionTestCase { Expression = "", ExpectedErrorMessage = "Expression expected at position 0 in '$(Expression)'." },

                new InvalidExpressionTestCase { Expression = "foo,", ExpectedErrorMessage = "Expression expected at position 4 in '$(Expression)'." },
                new InvalidExpressionTestCase { Expression = ",foo", ExpectedErrorMessage = "Expression expected at position 0 in '$(Expression)'." },
                new InvalidExpressionTestCase { Expression = "foo asc,", ExpectedErrorMessage = "Expression expected at position 8 in '$(Expression)'." },
                new InvalidExpressionTestCase { Expression = "foo desc,", ExpectedErrorMessage = "Expression expected at position 9 in '$(Expression)'." },
                new InvalidExpressionTestCase { Expression = "foo asc desc", ExpectedErrorMessage = "Syntax error at position 12 in '$(Expression)'." },
                new InvalidExpressionTestCase { Expression = "foo ASC", ExpectedErrorMessage = "Syntax error at position 7 in '$(Expression)'." },
            };

            testCases = testCases.Concat(InvalidExpressionTestCase.InvalidPrimitiveLiteralTestCases);

            this.CombinatorialEngineProvider.RunCombinations(
                testCases,
                (testCase) =>
                {
                    this.Assert.ExpectedException<ODataException>(
                        () => QueryTokenUtils.ParseQuery("Root", orderby: testCase.Expression),
                        StringUtils.ResolveVariables(testCase.ExpectedErrorMessage, new Dictionary<string, string>() { { "Expression", testCase.Expression } }),
                        "The orderby parsing should have failed.");
                });
        }
        public void InvalidFilterExpressionsTest()
        {
            IEnumerable <InvalidExpressionTestCase> testCases = new InvalidExpressionTestCase[]
            {
                new InvalidExpressionTestCase {
                    Expression = "", ExpectedErrorMessage = "Expression expected at position 0 in '$(Expression)'."
                },
            };

            testCases = testCases.Concat(InvalidExpressionTestCase.InvalidPrimitiveLiteralTestCases);
            testCases = testCases.Concat(InvalidExpressionTestCase.InvalidExpressionTestCases);

            this.CombinatorialEngineProvider.RunCombinations(
                testCases,
                (testCase) =>
            {
                this.Assert.ExpectedException <ODataException>(
                    () => QueryTokenUtils.ParseQuery("Root", filter: testCase.Expression),
                    StringUtils.ResolveVariables(testCase.ExpectedErrorMessage, new Dictionary <string, string>()
                {
                    { "Expression", testCase.Expression }
                }),
                    "The filter parsing should have failed.");
            });
        }
Exemple #3
0
        public void InvalidOrderByExpressionsTest()
        {
            IEnumerable <InvalidExpressionTestCase> testCases = new InvalidExpressionTestCase[]
            {
                new InvalidExpressionTestCase {
                    Expression = "", ExpectedErrorMessage = "Expression expected at position 0 in '$(Expression)'."
                },

                new InvalidExpressionTestCase {
                    Expression = "foo,", ExpectedErrorMessage = "Expression expected at position 4 in '$(Expression)'."
                },
                new InvalidExpressionTestCase {
                    Expression = ",foo", ExpectedErrorMessage = "Expression expected at position 0 in '$(Expression)'."
                },
                new InvalidExpressionTestCase {
                    Expression = "foo asc,", ExpectedErrorMessage = "Expression expected at position 8 in '$(Expression)'."
                },
                new InvalidExpressionTestCase {
                    Expression = "foo desc,", ExpectedErrorMessage = "Expression expected at position 9 in '$(Expression)'."
                },
                new InvalidExpressionTestCase {
                    Expression = "foo asc desc", ExpectedErrorMessage = "Syntax error at position 12 in '$(Expression)'."
                },
                new InvalidExpressionTestCase {
                    Expression = "foo ASC", ExpectedErrorMessage = "Syntax error at position 7 in '$(Expression)'."
                },
            };

            testCases = testCases.Concat(InvalidExpressionTestCase.InvalidPrimitiveLiteralTestCases);

            this.CombinatorialEngineProvider.RunCombinations(
                testCases,
                (testCase) =>
            {
                this.Assert.ExpectedException <ODataException>(
                    () => QueryTokenUtils.ParseQuery("Root", orderby: testCase.Expression),
                    StringUtils.ResolveVariables(testCase.ExpectedErrorMessage, new Dictionary <string, string>()
                {
                    { "Expression", testCase.Expression }
                }),
                    "The orderby parsing should have failed.");
            });
        }
        public void InvalidFilterExpressionsTest()
        {
            IEnumerable<InvalidExpressionTestCase> testCases = new InvalidExpressionTestCase[]
            {
                new InvalidExpressionTestCase { Expression = "", ExpectedErrorMessage = "Expression expected at position 0 in '$(Expression)'." },
            };

            testCases = testCases.Concat(InvalidExpressionTestCase.InvalidPrimitiveLiteralTestCases);
            testCases = testCases.Concat(InvalidExpressionTestCase.InvalidExpressionTestCases);

            this.CombinatorialEngineProvider.RunCombinations(
                testCases,
                (testCase) =>
                {
                    this.Assert.ExpectedException<ODataException>(
                        () => QueryTokenUtils.ParseQuery("Root", filter: testCase.Expression),
                        StringUtils.ResolveVariables(testCase.ExpectedErrorMessage, new Dictionary<string, string>() { { "Expression", testCase.Expression } }),
                        "The filter parsing should have failed.");
                });
        }