Ejemplo n.º 1
0
        public void Interpreter_WalkFiltered_IsInvoked_ExpectSuccess()
        {
            //--------------------------Arrange---------------------------
            var mockJsonPathValueSystem = new Mock <IJsonPathValueSystem>();

            var output = new JsonPathResultAccumulator((o, sa) => sa = new[] { "string_Test" });
            var eval   = new JsonPathScriptEvaluator((s, o, ss) => o = true);

            var objList = new List <string> {
                "string1", "string2"
            };
            var isInvoked = false;

            mockJsonPathValueSystem.Setup(o => o.IsObject(It.IsAny <object>())).Returns(true);
            mockJsonPathValueSystem.Setup(o => o.GetMembers(It.IsAny <object>()))
            .Callback(() => isInvoked = true)
            .Returns(objList);

            var interpreter = new Interpreter(output, mockJsonPathValueSystem.Object, eval);

            //--------------------------Act-------------------------------
            interpreter.StoreExpressionTreeLeafNodes("?(asd);", new object(), "test_path;");
            //--------------------------Assert----------------------------
            Assert.AreEqual(eval, interpreter._eval);
            Assert.AreEqual(output, interpreter._output);

            Assert.IsTrue(isInvoked);
        }
Ejemplo n.º 2
0
            public Interpreter(JsonPathResultAccumulator output, IJsonPathValueSystem valueSystem, JsonPathScriptEvaluator eval)
            {
                Debug.Assert(output != null);

                this.output = output;
                this.eval   = eval != null ? eval : new JsonPathScriptEvaluator(NullEval);
                this.system = valueSystem != null ? valueSystem : defaultValueSystem;
            }
Ejemplo n.º 3
0
            public Interpreter(JsonPathResultAccumulator output, IJsonPathValueSystem valueSystem, JsonPathScriptEvaluator eval)
            {
                Debug.Assert(output != null);

                _output = output;
                _eval   = eval ?? NullEval;
                _system = valueSystem ?? DefaultValueSystem;
            }
Ejemplo n.º 4
0
        public void Interpreter_Trace_Expr_IsNull_ExpectSuccess()
        {
            //--------------------------Arrange---------------------------
            var mockJsonPathValueSystem = new Mock <IJsonPathValueSystem>();

            var output = new JsonPathResultAccumulator((o, sa) => sa = new[] { "string_Test" });
            var eval   = new JsonPathScriptEvaluator((s, o, ss) => ss = "test_test");

            var interpreter = new Interpreter(output, mockJsonPathValueSystem.Object, eval);
            var obj         = new object();

            //--------------------------Act-------------------------------
            interpreter.StoreExpressionTreeLeafNodes(null, obj, "test_path");
            //--------------------------Assert----------------------------
            Assert.AreEqual(output, interpreter._output);
        }
Ejemplo n.º 5
0
        public void Interpreter_Trace_Walk_SystemIsPrimitive_True_ExpectSuccess()
        {
            //--------------------------Arrange---------------------------
            var mockJsonPathValueSystem = new Mock <IJsonPathValueSystem>();

            var output = new JsonPathResultAccumulator((o, sa) => sa = new[] { "string_Test" });
            var eval   = new JsonPathScriptEvaluator((s, o, ss) => ss = "test_test");
            var obj    = new object();

            mockJsonPathValueSystem.Setup(o => o.IsPrimitive(It.IsAny <object>())).Returns(true);

            var interpreter = new Interpreter(output, mockJsonPathValueSystem.Object, eval);

            //--------------------------Act-------------------------------
            interpreter.StoreExpressionTreeLeafNodes("*;", obj, "test_path");
            //--------------------------Assert----------------------------
            mockJsonPathValueSystem.Verify(o => o.IsPrimitive(It.IsAny <object>()), Times.Once);
        }
Ejemplo n.º 6
0
        public void Interpreter_Trace_SystemHasMember_True_ExpectSuccess()
        {
            //--------------------------Arrange---------------------------
            var mockJsonPathValueSystem = new Mock <IJsonPathValueSystem>();

            var output = new JsonPathResultAccumulator((o, sa) => sa = new[] { "string_Test" });
            var eval   = new JsonPathScriptEvaluator((s, o, ss) => ss = "test_test");
            var obj    = new object();

            mockJsonPathValueSystem.Setup(o => o.HasMember(It.IsAny <object>(), It.IsAny <string>())).Returns(true);
            mockJsonPathValueSystem.Setup(o => o.GetMemberValue(It.IsAny <object>(), It.IsAny <string>())).Returns("test_member_value");

            var interpreter = new Interpreter(output, mockJsonPathValueSystem.Object, eval);

            //--------------------------Act-------------------------------
            interpreter.StoreExpressionTreeLeafNodes("test_expr", obj, "test_path");
            //--------------------------Assert----------------------------
            Assert.AreEqual(output, interpreter._output);
        }
Ejemplo n.º 7
0
        public void Interpreter_Trace_Walk_IsObject_True_ContainsCommaParentheses_ExpectSuccess()
        {
            //--------------------------Arrange---------------------------
            var mockJsonPathValueSystem = new Mock <IJsonPathValueSystem>();

            var output = new JsonPathResultAccumulator((o, sa) => sa = new[] { "string_Test" });
            var eval   = new JsonPathScriptEvaluator((s, o, ss) => ss = "test_test, testsss");

            var obj = new object();

            obj = "test_object".ToString();

            mockJsonPathValueSystem.Setup(o => o.IsObject(It.IsAny <object>())).Returns(true);

            var interpreter = new Interpreter(output, mockJsonPathValueSystem.Object, eval);

            //--------------------------Act-------------------------------
            interpreter.StoreExpressionTreeLeafNodes("(..,asdf.*);", obj, "test_path;");
            //--------------------------Assert----------------------------
            Assert.AreEqual(eval, interpreter._eval);
        }
Ejemplo n.º 8
0
        public void Interpreter_Trace_Slice_Value_IsNull_ExpectSuccess()
        {
            //--------------------------Arrange---------------------------
            var mockJsonPathValueSystem = new Mock <IJsonPathValueSystem>();

            var output = new JsonPathResultAccumulator((o, sa) => sa = new[] { "string_Test" });
            var eval   = new JsonPathScriptEvaluator((s, o, ss) => ss = "?(test_test, testsss)");

            var obj = new object();

            obj = new List <string> {
                null
            };

            mockJsonPathValueSystem.Setup(o => o.IsObject(It.IsAny <object>())).Returns(true);

            var interpreter = new Interpreter(output, mockJsonPathValueSystem.Object, eval);

            //--------------------------Act-------------------------------
            interpreter.StoreExpressionTreeLeafNodes("09:01:00;", null, "test_path;");
            //--------------------------Assert----------------------------
            Assert.AreEqual(eval, interpreter._eval);
            Assert.AreEqual(output, interpreter._output);
        }
Ejemplo n.º 9
0
        public void Interpreter_Trace_ParseInt_Throw_FormatException_ExpectSuccess()
        {
            //--------------------------Arrange---------------------------
            var mockJsonPathValueSystem = new Mock <IJsonPathValueSystem>();

            var output = new JsonPathResultAccumulator((o, sa) => sa = new[] { "string_Test" });
            var eval   = new JsonPathScriptEvaluator((s, o, ss) => ss = "?(test_test, testsss)");

            var obj = new object();

            obj = new List <string> {
                "string1", "string2"
            }.ToArray();

            mockJsonPathValueSystem.Setup(o => o.IsObject(It.IsAny <object>())).Returns(true);

            var interpreter = new Interpreter(output, mockJsonPathValueSystem.Object, eval);

            //--------------------------Act-------------------------------
            interpreter.StoreExpressionTreeLeafNodes("-1::;", obj, "test_path;");
            //--------------------------Assert----------------------------
            Assert.AreEqual(eval, interpreter._eval);
            Assert.AreEqual(output, interpreter._output);
        }
Ejemplo n.º 10
0
 public Interpreter(JsonPathResultAccumulator output, JsonPathScriptEvaluator eval, IJsonValueSystem system)
 {
     this.output = output;
     this.eval   = eval ?? new JsonPathScriptEvaluator(NullEval);
     this.system = system ?? defaultSystem;
 }
Ejemplo n.º 11
0
            public Interpreter(JsonPathResultAccumulator output, IJsonPathValueSystem valueSystem,
                JsonPathScriptEvaluator eval)
            {
                Debug.Assert(output != null);

                _output = output;
                _eval = eval ?? NullEval;
                _system = valueSystem ?? DefaultValueSystem;
            }
Ejemplo n.º 12
-1
            public Interpreter(JsonPathResultAccumulator output, IJsonPathValueSystem valueSystem, JsonPathScriptEvaluator eval)
            {
                Debug.Assert(output != null);

                this.output = output;
                this.eval = eval != null ? eval : new JsonPathScriptEvaluator(NullEval);
                this.system = valueSystem != null ? valueSystem : defaultValueSystem;
            }