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

1  2 
mcs/tests/test-anon-61.cs

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4a98dbc0774d9cbf09c8efc54f98eb490ad608d0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,57 @@@
++using System;
++
++public class X
++{
++      public int p;
++      public delegate void TestDelegate ();
++
++      static long sum_i, sum_k, sum_p;
++
++      public int Test ()
++      {
++              TestDelegate d = null;
++              for (int i = 1; i <= 5; i++) {
++                      int k = i;
++                      TestDelegate temp = delegate {
++                              Console.WriteLine ("i = {0}, k = {1}, p = {2}", i, k, p);
++                              sum_i += 1 << i;
++                              sum_k += 1 << k;
++                              sum_p += 1 << p;
++                              p += k;
++                      };
++                      temp ();
++                      d += temp;
++              }
++              Console.WriteLine ("SUM i = {0}, k = {1}, p = {2}", sum_i, sum_k, sum_p);
++              Console.WriteLine ();
++              if (sum_i != 62)
++                      return 1;
++              if (sum_k != 62)
++                      return 2;
++              if (sum_p != 35168)
++                      return 3;
++              sum_i = sum_k = sum_p = 0;
++              d();
++              Console.WriteLine ("SUM i = {0}, k = {1}, p = {2}", sum_i, sum_k, sum_p);
++              Console.WriteLine ();
++              if (sum_i != 320)
++                      return 4;
++              if (sum_k != 62)
++                      return 5;
++              if (sum_p != 1152385024)
++                      return 6;
++              return 0;
++      }
++
++      public static int Main ()
++      {
++              X x = new X ();
++              x.p = 5;
++              int result = x.Test ();
++              if (result != 0)
++                      Console.WriteLine ("ERROR: {0}", result);
++              else
++                      Console.WriteLine ("OK");
++              return result;
++      }
++}