Esempio n. 1
0
        public void ConstructObjectTestTwoKeys()
        {
            // Arrange
            var data = MakeArray();
            var op   = new Compose {
                First  = new Enumerate(),
                Second = new ConstructObject(
                    new PropertyDescriptor(new Literal("a"), new Identity()),
                    new PropertyDescriptor(new Literal("b"), new Identity()))
            };

            // Act
            var result = op.RunAsSequence(data);

            // Assert
            Json.Array(result)
            .DeepEqual(Json.ArrayParams(
                           Json.ObjectParams(
                               new JsonProperty("a", Json.Number(1)),
                               new JsonProperty("b", Json.Number(1))),
                           Json.ObjectParams(
                               new JsonProperty("a", Json.Number(2)),
                               new JsonProperty("b", Json.Number(2))),
                           Json.ObjectParams(
                               new JsonProperty("a", Json.Number(3)),
                               new JsonProperty("b", Json.Number(3)))))
            .Should().BeTrue();
        }
Esempio n. 2
0
        public void Arrays()
        {
            // Arrange
            var data = Json.Null;
            var op   = new Compose {
                First = new FunctionCall(
                    Minus.Builtin_2,
                    new Literal {
                    Value = Utils.JsonNumberArray(1, 2, 3)
                },
                    new Literal {
                    Value = Utils.JsonNumberArray(3, 4, 5)
                }),
                Second = new Enumerate()
            };

            // Act
            var result = op.RunAsSequence(data);

            // Assert
            Json.Array(result)
            .DeepEqual(Utils.JsonNumberArray(1, 2))
            .Should().BeTrue();
        }