New test.
authorMartin Baulig <martin@novell.com>
Wed, 29 Nov 2006 20:29:31 +0000 (20:29 -0000)
committerMartin Baulig <martin@novell.com>
Wed, 29 Nov 2006 20:29:31 +0000 (20:29 -0000)
svn path=/trunk/mcs/; revision=68686

mcs/tests/test-anon-57.cs [new file with mode: 0755]

diff --git a/mcs/tests/test-anon-57.cs b/mcs/tests/test-anon-57.cs
new file mode 100755 (executable)
index 0000000..f37504e
--- /dev/null
@@ -0,0 +1,48 @@
+using System;
+
+public class X
+{
+       public delegate void TestDelegate ();
+
+       static long sum_i, sum_k;
+
+       public static int Test ()
+       {
+               TestDelegate d = null;
+               for (int i = 1; i <= 5; i++) {
+                       int k = i;
+                       TestDelegate temp = delegate {
+                               Console.WriteLine ("i = {0}, k = {1}", i, k);
+                               sum_i += 1 << i;
+                               sum_k += 1 << k;
+                       };
+                       temp ();
+                       d += temp;
+               }
+               Console.WriteLine ("SUM i = {0}, k = {1}", sum_i, sum_k);
+               Console.WriteLine ();
+               if (sum_i != 62)
+                       return 1;
+               if (sum_k != 62)
+                       return 2;
+               sum_i = sum_k = 0;
+               d();
+               Console.WriteLine ("SUM i = {0}, k = {1}", sum_i, sum_k);
+               Console.WriteLine ();
+               if (sum_i != 320)
+                       return 3;
+               if (sum_k != 62)
+                       return 4;
+               return 0;
+       }
+
+       public static int Main ()
+       {
+               int result = Test ();
+               if (result != 0)
+                       Console.WriteLine ("ERROR: {0}", result);
+               else
+                       Console.WriteLine ("OK");
+               return result;
+       }
+}