Re: linq - how to test expression reducers

"Ayende Rahien" <[email protected]> Fri, 15 Aug 2008 17:08:15 +0300
Newsgroups gmane.comp.windows.dotnet.nhibernate.devel
Message-ID <[email protected]>
What about something like:
var reducedExpression = Reduce( () => true && x>1 && x<2));
AssertExpressionEq( reducedExpression,
   new BinaryExpression{ And, new (x>1), new (x<2));

On Fri, Aug 15, 2008 at 4:54 PM, Tuna Toksöz <[email protected]> wrote:

> Hello team,
> I am working on Expression reducers to simplify complex expressions.
> I made LogicalExpressionReducer which simply converts not(not(not(true)))
> to ConstantExpression(false) and (true & x.Name=="johndoe") to
> (x.Name=="john doe"), meaning that it just uses the truth table to reduce
> expressions.
>
> The problem with expressions is that they are trees! For simple ones, it is
> easy to check if I get the same result but complex ones are hard to deal
> with.
> I first thought that I can use .ToString() of expression which produces
> string representation of an expression, that is some thing like
> Assert.AreEqual("false",reducedExpression.ToString())
>
> But this simply sounds incorrect to me. I then thought about using visitors
> to check for equality, but not sure about that.
>
> 2nd one sounds the way to go, but are there any simpler way to test it?
>
> Producing
>
> --
> Tuna Toksöz
>
> Typos included to enhance the readers attention!
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Nhibernate-development mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/nhibernate-development
>
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

_______________________________________________
Nhibernate-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nhibernate-development