public void Test_Rule_4_IgnoreCase()
        {
            JObject json = RuleJson();
            var     eval = new JsonEvaluator(json)
            {
                Options = { CompareOptions = CompareOptions.IgnoreCase }
            };

            _output.WriteLine(eval.ToString());

            Assert.True(
                eval.Evaluate(new JObject
            {
                { "amount", 10 },
                { "product", "Hat" }
            })
                );

            Assert.False(
                eval.Evaluate(new JObject
            {
                { "amount", 30 },
                { "product", "Pants" }
            })
                );
        }
        public void Test_Rule_1_IgnoreAccent()
        {
            JObject json = RuleJson();
            var     eval = new JsonEvaluator(json)
            {
                Options = { CompareOptions = CompareOptions.IgnoreCase | CompareOptions.IgnoreNonSpace }
            };

            _output.WriteLine(eval.ToString());

            Assert.True(
                eval.Evaluate(new JObject
            {
                { "name", "Top plays by Joë Montana" },
                { "price", 10.00 },
                { "category", 2 }
            })
                );

            Assert.False(
                eval.Evaluate(new JObject
            {
                { "amount", 30 },
                { "date", "12/31/2019" }
            })
                );
        }
        public void Test_Rule_2()
        {
            JObject json = RuleJson();
            var     eval = new JsonEvaluator(json);

            _output.WriteLine(eval.ToString());

            Assert.True(
                eval.Evaluate(new JObject
            {
                { "sale", new JObject
                  {
                      { "amount", 22.50 },
                      { "date", "6/1/2019" }
                  } }
            })
                );

            Assert.True(
                eval.Evaluate(new JObject
            {
                { "sale", new JObject
                  {
                      { "amount", 30 },
                      { "date", "12/31/2019" }
                  } }
            })
                );

            Assert.False(
                eval.Evaluate(new JObject
            {
                { "sale", new JObject
                  {
                      { "amount", 40 },
                      { "date", "8/25/2020" }
                  } }
            })
                );

            Assert.False(
                eval.Evaluate(new JObject
            {
                { "sale", new JObject
                  {
                      { "amount", 19 },
                      { "date", "2/2/2019" }
                  } }
            })
                );
        }
        public void Test_Rule_4_Exact()
        {
            JObject json = RuleJson();
            var     eval = new JsonEvaluator(json);

            _output.WriteLine(eval.ToString());

            Assert.False(
                eval.Evaluate(new JObject
            {
                { "amount", 10 },
                { "product", "Hat" }
            })
                );

            Assert.True(
                eval.Evaluate(new JObject
            {
                { "amount", 30 },
                { "product", "shirt" }
            })
                );
        }
        public void Test_Rule_1_Exact()
        {
            JObject json = RuleJson();
            var     eval = new JsonEvaluator(json);

            _output.WriteLine(eval.ToString());

            Assert.False(
                eval.Evaluate(new JObject
            {
                { "name", "Top plays by Joe Montana" },
                { "price", 10.00 },
                { "category", 2 }
            })
                );

            Assert.False(
                eval.Evaluate(new JObject
            {
                { "amount", 30 },
                { "date", "12/31/2019" }
            })
                );
        }
Exemple #6
0
        public void Test_Rule_3()
        {
            JObject json = RuleJson();
            var     eval = new JsonEvaluator(json)
            {
                Options = { CompareOptions = CompareOptions.IgnoreCase | CompareOptions.IgnoreNonSpace }
            };

            _output.WriteLine(eval.ToString());

            Assert.True(
                eval.Evaluate(new JObject
            {
                { "call", new JObject
                  {
                      { "time", "2019-06-01T08:00:00-1:00" },
                      { "length", "PT45M" }
                  } },
                { "tags", new JArray {
                      "tag1", "tag2"
                  } }
            })
                );

            Assert.True(
                eval.Evaluate(new JObject
            {
                { "call", new JObject
                  {
                      { "time", "2019-03-15T19:00:00Z" },
                      { "length", "PT2H" }
                  } },
                { "tags", new JArray {
                      "tag2"
                  } }
            })
                );


            Assert.False(
                eval.Evaluate(new JObject
            {
                { "call", new JObject
                  {
                      { "time", "2019-06-01T08:00:00-1:00" },
                      { "length", "PT25s" }
                  } },
                { "tags", new JArray {
                      "tag1", "tag2"
                  } }
            })
                );

            Assert.False(
                eval.Evaluate(new JObject
            {
                { "call", new JObject
                  {
                      { "time", "2019-03-15T19:00:00Z" },
                      { "length", "PT4H" }
                  } }
            })
                );
        }