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