Author: jbevain
Date: 2008-01-27 17:02:56 -0500 (Sun, 27 Jan 2008)
New Revision: 94093

Modified:
   trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ChangeLog
   
trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Condition.cs
Log:
2008-01-27  Jb Evain  <[EMAIL PROTECTED]>

        * ExpressionTest_Condition.cs: tests for compilation of
        conditionals.



Modified: trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ChangeLog
===================================================================
--- trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ChangeLog  
2008-01-27 22:02:31 UTC (rev 94092)
+++ trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ChangeLog  
2008-01-27 22:02:56 UTC (rev 94093)
@@ -1,5 +1,10 @@
 2008-01-27  Jb Evain  <[EMAIL PROTECTED]>
 
+       * ExpressionTest_Condition.cs: tests for compilation of
+       conditionals.
+
+2008-01-27  Jb Evain  <[EMAIL PROTECTED]>
+
        * ExpressionTest_Lambda.cs: add test for the
        Lambda(Expression,ParameterExpression[]) method.
 

Modified: 
trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Condition.cs
===================================================================
--- 
trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Condition.cs
        2008-01-27 22:02:31 UTC (rev 94092)
+++ 
trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Condition.cs
        2008-01-27 22:02:56 UTC (rev 94093)
@@ -80,5 +80,26 @@
                        Assert.AreEqual (typeof (bool), cond.Test.Type);
                        Assert.AreEqual ("IIF((2 > 1), 1, 0)", cond.ToString 
());
                }
+
+               [Test]
+               public void CompileConditional ()
+               {
+                       var parameters = new [] { Expression.Parameter (typeof 
(int), "number") };
+
+                       var l = Expression.Lambda<Func<int, string>> (
+                                               Expression.Condition (
+                                                       
Expression.GreaterThanOrEqual (
+                                                               parameters [0],
+                                                               
Expression.Constant (0)),
+                                                       Expression.Constant 
("+"),
+                                                       Expression.Constant 
("-")),
+                                               parameters);
+
+                       var gt = l.Compile ();
+
+                       Assert.AreEqual ("+", gt (1));
+                       Assert.AreEqual ("+", gt (0));
+                       Assert.AreEqual ("-", gt (-1));
+               }
        }
 }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to