Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enumerable extensions support #3

Closed
davideicardi opened this issue Oct 16, 2013 · 2 comments
Closed

Enumerable extensions support #3

davideicardi opened this issue Oct 16, 2013 · 2 comments
Milestone

Comments

@davideicardi
Copy link
Member

Load enumerable extensions by default.

@davideicardi
Copy link
Member Author

It should be possible to write this code:

        var x = new int[] { 10, 30, 4 };

        var target = new Interpreter()
                                .Reference(typeof(System.Linq.Enumerable))
                                .SetVariable("x", x);

        Assert.AreEqual(x.Count(), target.Eval("x.Count()"));
        Assert.AreEqual(x.Average(), target.Eval("x.Average()"));
        Assert.AreEqual(x.First(), target.Eval("x.First()"));
        Assert.AreEqual(x.Last(), target.Eval("x.Last()"));
        Assert.AreEqual(x.Max(), target.Eval("x.Max()"));
        CollectionAssert.AreEqual(x.Skip(2).ToArray(), target.Eval<IEnumerable<int>>("x.Skip(2)").ToArray());
        CollectionAssert.AreEqual(x.Skip(2).ToArray(), target.Eval<IEnumerable<int>>("x.Skip(2)").ToArray());

@davideicardi
Copy link
Member Author

Consider that only enumerable extensions that have primitive parameters will be supported. Other methods that takes lampda or delegate will not be supported.

samuelcadieux pushed a commit to samuelcadieux/DynamicExpresso that referenced this issue May 4, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant