public void CallOperationExpressionProducesCallWithParameters()
        {
            var c1 = fn.Call(1, 2, "Hello!");
            var p = new List<Expression> { 1, 2, 3 };
            var c2 = fn.Call(p);
            var p2 = c2.Arguments.AsEnumerable().Reverse().ToList();
            var c3 = new CallOperationExpression(null, p2);
            c3.Operand = c2.Operand;

            Assert.AreEqual("fn(1,2,\"Hello!\");", c1.ToString());
            Assert.AreEqual("fn(1,2,3);", c2.ToString());
            Assert.AreEqual("fn(3,2,1);", c3.ToString());
        }
        public void CallOperationExpressionProducesCallWithParameters()
        {
            var c1 = fn.Call(1, 2, "Hello!");
            var p  = new List <Expression> {
                1, 2, 3
            };
            var c2 = fn.Call(p);
            var p2 = c2.Arguments.AsEnumerable().Reverse().ToList();
            var c3 = new CallOperationExpression(null, p2);

            c3.Operand = c2.Operand;

            Assert.AreEqual("fn(1,2,\"Hello!\");", c1.ToString());
            Assert.AreEqual("fn(1,2,3);", c2.ToString());
            Assert.AreEqual("fn(3,2,1);", c3.ToString());
        }