Ejemplo n.º 1
0
        public void TestDeconstruct()
        {
            var a = new Constant("a");

            var app = new Apply(
                new Apply(
                    new Apply(Funcs.Id, Funcs.Id), Funcs.Id), a);

            var(f, args) = app.DeconstructApply().Value;
            Assert.Equal(Funcs.Id.Name, ((Function)f).Name);
            Assert.Equal(new List <IExpression> {
                Funcs.Id, Funcs.Id, a
            }.Select(e => e.ToString()),
                         args.Select(e => e.ToString()));
        }