public void BooleanExpressionTest_RegexEqualsOperator() { BooleanQueryExpression e1 = new BooleanQueryExpression(QueryOperator.RegexEquals, new List <PathFilter> { new ArrayIndexFilter() }, JsonDocument.Parse("\"/foo.*d/\"").RootElement); var nullElt = JsonDocument.Parse("null").RootElement; Assert.IsTrue(e1.IsMatch(nullElt, JsonDocument.Parse("[\"food\"]").RootElement)); Assert.IsTrue(e1.IsMatch(nullElt, JsonDocument.Parse("[\"fooood and drink\"]").RootElement)); Assert.IsFalse(e1.IsMatch(nullElt, JsonDocument.Parse("[\"FOOD\"]").RootElement)); Assert.IsFalse(e1.IsMatch(nullElt, JsonDocument.Parse("[\"foo\", \"foog\", \"good\"]").RootElement)); BooleanQueryExpression e2 = new BooleanQueryExpression(QueryOperator.RegexEquals, new List <PathFilter> { new ArrayIndexFilter() }, JsonDocument.Parse("\"/Foo.*d/i\"").RootElement); Assert.IsTrue(e2.IsMatch(nullElt, JsonDocument.Parse("[\"food\"]").RootElement)); Assert.IsTrue(e2.IsMatch(nullElt, JsonDocument.Parse("[\"fooood and drink\"]").RootElement)); Assert.IsTrue(e2.IsMatch(nullElt, JsonDocument.Parse("[\"FOOD\"]").RootElement)); Assert.IsFalse(e2.IsMatch(nullElt, JsonDocument.Parse("[\"foo\", \"foog\", \"good\"]").RootElement)); }
public void BooleanExpressionTest() { BooleanQueryExpression e1 = new BooleanQueryExpression { Operator = QueryOperator.LessThan, Value = new JValue(3), Path = new List <PathFilter> { new ArrayIndexFilter() } }; Assert.IsTrue(e1.IsMatch(null, new JArray(1, 2, 3, 4, 5))); Assert.IsTrue(e1.IsMatch(null, new JArray(2, 3, 4, 5))); Assert.IsFalse(e1.IsMatch(null, new JArray(3, 4, 5))); Assert.IsFalse(e1.IsMatch(null, new JArray(4, 5))); BooleanQueryExpression e2 = new BooleanQueryExpression { Operator = QueryOperator.LessThanOrEquals, Value = new JValue(3), Path = new List <PathFilter> { new ArrayIndexFilter() } }; Assert.IsTrue(e2.IsMatch(null, new JArray(1, 2, 3, 4, 5))); Assert.IsTrue(e2.IsMatch(null, new JArray(2, 3, 4, 5))); Assert.IsTrue(e2.IsMatch(null, new JArray(3, 4, 5))); Assert.IsFalse(e2.IsMatch(null, new JArray(4, 5))); }
public void BooleanExpressionTest() { BooleanQueryExpression e1 = new BooleanQueryExpression(QueryOperator.LessThan, new List <PathFilter> { new ArrayIndexFilter() }, JsonDocument.Parse("3").RootElement); var nullElt = JsonDocument.Parse("null").RootElement; Assert.IsTrue(e1.IsMatch(nullElt, JsonDocument.Parse("[1, 2, 3, 4, 5]").RootElement)); Assert.IsTrue(e1.IsMatch(nullElt, JsonDocument.Parse("[2, 3, 4, 5]").RootElement)); Assert.IsFalse(e1.IsMatch(nullElt, JsonDocument.Parse("[3, 4, 5]").RootElement)); Assert.IsFalse(e1.IsMatch(nullElt, JsonDocument.Parse("[4, 5]").RootElement)); Assert.IsFalse(e1.IsMatch(nullElt, JsonDocument.Parse("[\"11\", 5]").RootElement)); BooleanQueryExpression e2 = new BooleanQueryExpression(QueryOperator.LessThanOrEquals, new List <PathFilter> { new ArrayIndexFilter() }, JsonDocument.Parse("3").RootElement); Assert.IsTrue(e2.IsMatch(nullElt, JsonDocument.Parse("[1, 2, 3, 4, 5]").RootElement)); Assert.IsTrue(e2.IsMatch(nullElt, JsonDocument.Parse("[2, 3, 4, 5]").RootElement)); Assert.IsTrue(e2.IsMatch(nullElt, JsonDocument.Parse("[3, 4, 5]").RootElement)); Assert.IsFalse(e2.IsMatch(nullElt, JsonDocument.Parse("[4, 5]").RootElement)); Assert.IsFalse(e2.IsMatch(nullElt, JsonDocument.Parse("[\"11\", 5]").RootElement)); }
public void BooleanExpressionTest_RegexEqualsOperator() { BooleanQueryExpression e1 = new BooleanQueryExpression( QueryOperator.RegexEquals, new List <PathFilter> { new ArrayIndexFilter() }, new JValue("/foo.*d/") ); Assert.IsTrue(e1.IsMatch(null, new JArray("food"))); Assert.IsTrue(e1.IsMatch(null, new JArray("fooood and drink"))); Assert.IsFalse(e1.IsMatch(null, new JArray("FOOD"))); Assert.IsFalse(e1.IsMatch(null, new JArray("foo", "foog", "good"))); BooleanQueryExpression e2 = new BooleanQueryExpression( QueryOperator.RegexEquals, new List <PathFilter> { new ArrayIndexFilter() }, new JValue("/Foo.*d/i") ); Assert.IsTrue(e2.IsMatch(null, new JArray("food"))); Assert.IsTrue(e2.IsMatch(null, new JArray("fooood and drink"))); Assert.IsTrue(e2.IsMatch(null, new JArray("FOOD"))); Assert.IsFalse(e2.IsMatch(null, new JArray("foo", "foog", "good"))); }
public void BooleanExpressionTest_RegexEqualsOperator_CornerCase() { BooleanQueryExpression e1 = new BooleanQueryExpression { Operator = QueryOperator.RegexEquals, Right = new JValue("/// comment/"), Left = new List <PathFilter> { new ArrayIndexFilter() } }; Assert.IsTrue(e1.IsMatch(null, new JArray("// comment"))); Assert.IsFalse(e1.IsMatch(null, new JArray("//comment", "/ comment"))); BooleanQueryExpression e2 = new BooleanQueryExpression { Operator = QueryOperator.RegexEquals, Right = new JValue("/<tag>.*</tag>/i"), Left = new List <PathFilter> { new ArrayIndexFilter() } }; Assert.IsTrue(e2.IsMatch(null, new JArray("<Tag>Test</Tag>", ""))); Assert.IsFalse(e2.IsMatch(null, new JArray("<tag>Test<tag>"))); }
public void BooleanExpressionTest_GreaterThanOperator() { BooleanQueryExpression e1 = new BooleanQueryExpression(QueryOperator.GreaterThan, new List <PathFilter> { new ArrayIndexFilter() }, new JValue(3)); Assert.IsTrue(e1.IsMatch(null, new JArray("2", "26"))); Assert.IsTrue(e1.IsMatch(null, new JArray(2, 26))); Assert.IsFalse(e1.IsMatch(null, new JArray(2, 3))); Assert.IsFalse(e1.IsMatch(null, new JArray("2", "3"))); }
public void BooleanExpressionTest_GreaterThanOperator() { BooleanQueryExpression e1 = new BooleanQueryExpression(QueryOperator.GreaterThan, new List <PathFilter> { new ArrayIndexFilter() }, JsonDocument.Parse("3").RootElement); var nullElt = JsonDocument.Parse("null").RootElement; Assert.IsTrue(e1.IsMatch(nullElt, JsonDocument.Parse("[\"2\", \"26\"]").RootElement)); Assert.IsTrue(e1.IsMatch(nullElt, JsonDocument.Parse("[2, 26]").RootElement)); Assert.IsFalse(e1.IsMatch(nullElt, JsonDocument.Parse("[2, 3]").RootElement)); Assert.IsFalse(e1.IsMatch(nullElt, JsonDocument.Parse("[\"2\", \"3\"]").RootElement)); }
public void BooleanExpressionTest_RegexEqualsOperator_CornerCase() { BooleanQueryExpression e1 = new BooleanQueryExpression(QueryOperator.RegexEquals, new List <PathFilter> { new ArrayIndexFilter() }, JsonDocument.Parse("\"/// comment/\"").RootElement); var oNull = JsonDocument.Parse("null").RootElement; Assert.True(e1.IsMatch(oNull, JsonDocument.Parse("[\"// comment\"]").RootElement)); Assert.False(e1.IsMatch(oNull, JsonDocument.Parse("[\"//comment\",\"/ comment\"]").RootElement)); BooleanQueryExpression e2 = new BooleanQueryExpression(QueryOperator.RegexEquals, new List <PathFilter> { new ArrayIndexFilter() }, JsonDocument.Parse("\"/<tag>.*</tag>/i\"").RootElement); Assert.True(e2.IsMatch(oNull, JsonDocument.Parse("[\"<Tag>Test</Tag>\",\"\"]").RootElement)); Assert.False(e2.IsMatch(oNull, JsonDocument.Parse("[\"<tag>Test<tag>\"]").RootElement)); }
public void BooleanExpressionTest_GreaterThanOrEqualsOperator() { BooleanQueryExpression e1 = new BooleanQueryExpression { Operator = QueryOperator.GreaterThanOrEquals, Right = new JValue(3), Left = new List <PathFilter> { new ArrayIndexFilter() } }; Assert.IsTrue(e1.IsMatch(null, new JArray("2", "26"))); Assert.IsTrue(e1.IsMatch(null, new JArray(2, 26))); Assert.IsTrue(e1.IsMatch(null, new JArray(2, 3))); Assert.IsTrue(e1.IsMatch(null, new JArray("2", "3"))); Assert.IsFalse(e1.IsMatch(null, new JArray(2, 1))); Assert.IsFalse(e1.IsMatch(null, new JArray("2", "1"))); }