[Mono-dev] [PATCH] System.Linq.Expressions
Marek Safar
marek.safar at seznam.cz
Sun Aug 12 15:09:57 EDT 2007
Hello Federico,
> this is the first of a series of patches vs the System.Linq.Expressions
> namespace. This patch doesn't change a lot of things but at least adds
> some tests (they were completely missing before). Included:
>
> * Added Test/ directory, modified Makefile to build and execute them
> * Changed a couple of Expression methods to raise exceptions identicals
> to MS ones
> * Added tests for AddExpression and ConstantExpression
> * Implemented somme missing stuff in BinaryExpression
> * The stuff in ExpressionUtils is very generic and does quite some
> redundant checks: I started splitting the stuff there into more
> "specific" methods that should be both understandable and fast.
>
Nice!
Just a few minor problems:
* Assert.AreEqual (expr.Method, null);
It's always better to use most appropriate method. In the cases like
this should be
Assert.IsNull or similar.
* Assert.AreEqual(expr.Method.Name, "op_Addition");
The preferred way it's add a message or at least id to each assertion.
* BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Static;
This should be constant.
* builder.Append ("[" + nodeType + "]");
I know you didn't write this code, but this is preferred when you have
StringBuilder
to avoid double allocation.
builder.Append ("[").Append (nodeType).Append ("]");
> Also, as I check that everything is done I do some cosmetic changes to
> have the code in line with the style guidelines. Hope this is ok.
>
Yes, no problem.
> Just tell me if the patch is fine and if does make sense to continue
> implementing System.Linq.Expressions.
>
>
Thanks,
Marek
More information about the Mono-devel-list
mailing list