コード例 #1
0
        public void JmesPathOrExpression_Override()
        {
            var expression = new JmesPathOrExpression(
                new JmesPathIdentifier("override"),
                new JmesPathIndexExpression(
                    new JmesPathIdentifier("mylist"),
                    new JmesPathIndex(-1)
                    )
                );

            Assert(expression, "{\"mylist\": [\"one\", \"two\"]}", "\"two\"");
            Assert(expression, "{\"mylist\": [\"one\", \"two\"], \"override\": \"yes\"}", "\"yes\"");
        }
コード例 #2
0
        private void OnOrExpression()
        {
            Prolog();

            System.Diagnostics.Debug.Assert(expressions_.Count >= 2);

            var right = expressions_.Pop();
            var left  = expressions_.Pop();

            var expression = new JmesPathOrExpression(left, right);

            expressions_.Push(expression);
        }
コード例 #3
0
        public void JmesPathOrExpression_Or()
        {
            var expression = new JmesPathOrExpression(
                new JmesPathIdentifier("foo"),
                new JmesPathIdentifier("bar")
                );

            Assert(expression, "{\"foo\": \"foo-value\"}", "\"foo-value\"");
            Assert(expression, "{\"bar\": \"bar-value\"}", "\"bar-value\"");
            Assert(expression, "{\"foo\": \"foo-value\", \"bar\": \"bar-value\"}", "\"foo-value\"");
            Assert(expression, "{\"baz\": \"baz-value\"}", "null");

            expression = new JmesPathOrExpression(
                new JmesPathIdentifier("foo"),
                new JmesPathOrExpression(
                    new JmesPathIdentifier("bar"),
                    new JmesPathIdentifier("baz")
                    ));

            Assert(expression, "{\"baz\": \"baz-value\"}", "\"baz-value\"");
        }