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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }