Author: jbevain
Date: 2008-02-08 09:06:21 -0500 (Fri, 08 Feb 2008)
New Revision: 95247

Modified:
   
trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Invoke.cs
Log:
add test for lambda invocation

Modified: 
trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Invoke.cs
===================================================================
--- 
trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Invoke.cs
   2008-02-08 13:53:06 UTC (rev 95246)
+++ 
trunk/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Invoke.cs
   2008-02-08 14:06:21 UTC (rev 95247)
@@ -94,7 +94,30 @@
                        var invoke = Expression.Invoke 
(CreateInvokable<Func<string, string, int>> (), "foo".ToConstant (), 
"bar".ToConstant ());
                        Assert.AreEqual (typeof (int), invoke.Type);
                        Assert.AreEqual (2, invoke.Arguments.Count);
-                       Assert.AreEqual ("Invoke(invokable, \"foo\", \"bar\")", 
invoke.ToString ());
+                       if (OnMono ())
+                               Assert.AreEqual ("Invoke(invokable, \"foo\", 
\"bar\")", invoke.ToString ());
+                       else
+                               Assert.AreEqual 
("Invoke(invokable,\"foo\",\"bar\")", invoke.ToString ());
                }
+
+               [Test]
+               public void InvokeLambda ()
+               {
+                       var p = Expression.Parameter (typeof (int), "i");
+                       var lambda = Expression.Lambda<Func<int, int>> (p, p);
+
+                       var invoke = Expression.Invoke (lambda, 1.ToConstant 
());
+                       Assert.AreEqual (typeof (int), invoke.Type);
+                       Assert.AreEqual (1, invoke.Arguments.Count);
+                       if (OnMono ())
+                               Assert.AreEqual ("Invoke(i => i, 1)", 
invoke.ToString ());
+                       else
+                               Assert.AreEqual ("Invoke(i => i,1)", 
invoke.ToString ());
+               }
+
+               static bool OnMono ()
+               {
+                       return Type.GetType ("Mono.Runtime") != null;
+               }
        }
 }

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

Reply via email to