コード例 #1
0
        public void Should_Return_Correct_FilterOption_When_Parsing_Escaped_Double_Quote_Character_Value()
        {
            // arrange
            var query    = "property eq '\"another\"s mock \"valu\"e\"'";
            var expected = new SearchModelBuilder()
                           .WithStatment("property", "eq", "\"\\\"another\\\"s mock \\\"valu\\\"e\\\"\"")
                           .Build();

            // Act
            var result = CreateSut().ToSearchModel(query);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #2
0
ファイル: ToQueryTests.cs プロジェクト: Assiance/AltQuery
        public void Should_Return_Correct_LinqQuery_When_Composing_Multiline_String_Value_With_Grouping_Characters()
        {
            // arrange
            var searchModel = new SearchModelBuilder()
                              .WithStatment("property", "eq", "\"(another(( mock)) ()value)\"")
                              .Build();
            var expected = $"{SearchModel.SearchPrefix}.property == \"(another(( mock)) ()value)\"";

            // Act
            var result = CreateSut().ToQuery(searchModel);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #3
0
        public void Should_Return_Correct_FilterOption_When_Parsing_Multiline_String_Value_With_Grouping_Characters()
        {
            // arrange
            var query    = "property eq '(another(( mock)) ()value)'";
            var expected = new SearchModelBuilder()
                           .WithStatment("property", "eq", "\"(another(( mock)) ()value)\"")
                           .Build();

            // Act
            var result = CreateSut().ToSearchModel(query);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #4
0
ファイル: ToQueryTests.cs プロジェクト: Assiance/AltQuery
        public void Should_Return_Correct_LinqQuery_When_Composing_Escaped_Double_Quote_Character_Value()
        {
            // arrange
            var searchModel = new SearchModelBuilder()
                              .WithStatment("property", "eq", "\"\\\"another\\\"s mock \\\"valu\\\"e\\\"\"")
                              .Build();
            var expected = $"{SearchModel.SearchPrefix}.property == \"\\\"another\\\"s mock \\\"valu\\\"e\\\"\"";

            // Act
            var result = CreateSut().ToQuery(searchModel);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #5
0
ファイル: ToQueryTests.cs プロジェクト: Assiance/AltQuery
        public void Should_Return_Correct_LinqQuery_When_Composing_LessThan_Or_EqualTo_Statement()
        {
            // arrange
            var searchModel = new SearchModelBuilder()
                              .WithStatment("property", "le", "5")
                              .Build();
            var expected = $"{SearchModel.SearchPrefix}.property <= 5";

            // Act
            var result = CreateSut().ToQuery(searchModel);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #6
0
ファイル: ToQueryTests.cs プロジェクト: Assiance/AltQuery
        public void Should_Return_Correct_LinqQuery_When_Composing_Not_GreaterThan_Statement()
        {
            // arrange
            var searchModel = new SearchModelBuilder()
                              .WithStatment("property", "gt", "5", null, null, "not")
                              .Build();
            var expected = $"! {SearchModel.SearchPrefix}.property > 5";

            // Act
            var result = CreateSut().ToQuery(searchModel);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #7
0
        public void Should_Return_Correct_FilterOption_When_Parsing_Not_GreaterThan_Statement()
        {
            // arrange
            var query    = "not property gt 5";
            var expected = new SearchModelBuilder()
                           .WithStatment("property", "gt", "5", null, null, "not")
                           .Build();

            // Act
            var result = CreateSut().ToSearchModel(query);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #8
0
        public void Should_Return_Correct_FilterOption_When_Parsing_LessThan_Or_EqualTo_Statement()
        {
            // arrange
            var query    = "property le 5";
            var expected = new SearchModelBuilder()
                           .WithStatment("property", "le", "5")
                           .Build();

            // Act
            var result = CreateSut().ToSearchModel(query);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #9
0
        public void Should_Return_Correct_FilterOptions_When_Parsing_Or_Operator()
        {
            // arrange
            var query    = "propertyX le 5 or propertyY gt 1";
            var expected = new SearchModelBuilder()
                           .WithStatment("propertyX", "le", "5")
                           .OrStatment("propertyY", "gt", "1")
                           .Build();

            // Act
            var result = CreateSut().ToSearchModel(query);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #10
0
ファイル: ToQueryTests.cs プロジェクト: Assiance/AltQuery
        public void Should_Return_Correct_LinqQuery_When_Composing_Not_Not_With_Grouping_GreaterThan_5_And_LessThan_10_Statement()
        {
            // arrange
            var searchModel = new SearchModelBuilder()
                              .WithStatment("property", "gt", "5", null, ")", "not ((not")
                              .AndStatment("property", "lt", "10", ")")
                              .Build();
            var expected = $"! ((! {SearchModel.SearchPrefix}.property > 5) && {SearchModel.SearchPrefix}.property < 10)";

            // Act
            var result = CreateSut().ToQuery(searchModel);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #11
0
        public void Should_Return_Correct_FilterOption_When_Parsing_Not_Not_With_Grouping_GreaterThan_5_And_LessThan_10_Statement()
        {
            // arrange
            var query    = "not ((not property gt 5) and property lt 10)";
            var expected = new SearchModelBuilder()
                           .WithStatment("property", "gt", "5", null, ")", "not ((not")
                           .AndStatment("property", "lt", "10", ")")
                           .Build();

            // Act
            var result = CreateSut().ToSearchModel(query);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #12
0
ファイル: ToQueryTests.cs プロジェクト: Assiance/AltQuery
        public void Should_Return_Correct_LinqQuerys_When_Composing_Or_Operator()
        {
            // arrange
            var searchModel = new SearchModelBuilder()
                              .WithStatment("propertyX", "le", "5")
                              .OrStatment("propertyY", "gt", "1")
                              .Build();
            var expected = $"{SearchModel.SearchPrefix}.propertyX <= 5 || {SearchModel.SearchPrefix}.propertyY > 1";

            // Act
            var result = CreateSut().ToQuery(searchModel);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #13
0
        public void Should_Return_Correct_FilterOptions_When_Parsing_Using_Grouping_Operators()
        {
            // arrange
            var query    = "(propertyX ne 2 or not (propertyY gt 5 and propertyZ lt 10))";
            var expected = new SearchModelBuilder()
                           .WithStatment("propertyX", "ne", "2", null, "(")
                           .OrStatment("propertyY", "gt", "5", "(", "not")
                           .AndStatment("propertyZ", "lt", "10", "))")
                           .Build();

            // Act
            var result = CreateSut().ToSearchModel(query);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #14
0
ファイル: ToQueryTests.cs プロジェクト: Assiance/AltQuery
        public void Should_Return_Correct_LinqQuerys_When_Composing_Using_Grouping_Operators()
        {
            // arrange
            var searchModel = new SearchModelBuilder()
                              .WithStatment("propertyX", "ne", "2", null, "(")
                              .OrStatment("propertyY", "gt", "5", "(", "not")
                              .AndStatment("propertyZ", "lt", "10", "))")
                              .Build();
            var expected = $"( {SearchModel.SearchPrefix}.propertyX != 2 || !( {SearchModel.SearchPrefix}.propertyY > 5 && {SearchModel.SearchPrefix}.propertyZ < 10))";

            // Act
            var result = CreateSut().ToQuery(searchModel);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #15
0
        public void Should_Return_Correct_FilterOption_When_Parsing_Custom_EqualTo_Operator()
        {
            // arrange
            var moddedOptions = new AltQueryOptions()
            {
                ComparisonOperatorOptions = new ComparisonOperatorOptions()
                {
                    Equal = "MOCK-EQUAL"
                }
            };

            var query    = "property MOCK-EQUAL 5";
            var expected = new SearchModelBuilder()
                           .WithStatment("property", "MOCK-EQUAL", "5")
                           .Build();

            // Act
            var result = CreateSut(moddedOptions).ToSearchModel(query);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #16
0
ファイル: ToQueryTests.cs プロジェクト: Assiance/AltQuery
        public void Should_Return_Correct_LinqQuery_When_Composing_Custom_EqualTo_Operator()
        {
            // arrange
            var moddedOptions = new AltQueryOptions()
            {
                ComparisonOperatorOptions = new ComparisonOperatorOptions()
                {
                    Equal = "MOCK-EQUAL"
                }
            };

            var searchModel = new SearchModelBuilder()
                              .WithStatment("property", "MOCK-EQUAL", "5")
                              .Build();
            var expected = $"{SearchModel.SearchPrefix}.property == 5";

            // Act
            var result = CreateSut(moddedOptions).ToQuery(searchModel);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #17
0
ファイル: ToQueryTests.cs プロジェクト: Assiance/AltQuery
        public void Should_Return_Correct_LinqQuerys_When_Composing_Custom_And_Operator()
        {
            // arrange
            var moddedOptions = new AltQueryOptions()
            {
                LogicalOperatorOptions = new LogicalOperatorOptions()
                {
                    And = "MOCK-AND"
                }
            };

            var searchModel = new SearchModelBuilder()
                              .WithStatment("propertyX", "le", "5")
                              .WithStatment("propertyY", "gt", "1", "MOCK-AND")
                              .Build();
            var expected = $"{SearchModel.SearchPrefix}.propertyX <= 5 && {SearchModel.SearchPrefix}.propertyY > 1";

            // Act
            var result = CreateSut(moddedOptions).ToQuery(searchModel);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
コード例 #18
0
        public void Should_Return_Correct_FilterOptions_When_Parsing_Custom_And_Operator()
        {
            // arrange
            var moddedOptions = new AltQueryOptions()
            {
                LogicalOperatorOptions = new LogicalOperatorOptions()
                {
                    And = "MOCK-AND"
                }
            };

            var query    = "propertyX le 5 MOCK-AND propertyY gt 1";
            var expected = new SearchModelBuilder()
                           .WithStatment("propertyX", "le", "5")
                           .WithStatment("propertyY", "gt", "1", "MOCK-AND")
                           .Build();

            // Act
            var result = CreateSut(moddedOptions).ToSearchModel(query);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }