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

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

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a3458b7f9b168eb85bceabdfaf0d35f743966b79
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,66 @@@
++using System;
++
++public class X
++{
++      public delegate void TestDelegate ();
++
++      static long sum_i, sum_j, sum_k;
++      static ulong sum_p;
++
++      public static int Test (int p)
++      {
++              TestDelegate d = null;
++              for (int i = 1; i <= 5; i++) {
++                      for (int j = i; j <= 8; j++) {
++                              int k = i;
++                              TestDelegate temp = delegate {
++                                      Console.WriteLine ("i = {0}, j = {1}, k = {2}, p = {3}",
++                                                         i, j, k, p);
++                                      sum_i += 1 << i;
++                                      sum_j += 1 << j;
++                                      sum_k += 1 << k;
++                                      sum_p += (ulong) (1 << p);
++                                      p += k;
++                              };
++                              temp ();
++                              d += temp;
++                      }
++              }
++              Console.WriteLine ("SUM i = {0}, j = {1}, k = {2}, p = {3}",
++                                 sum_i, sum_j, sum_k, sum_p);
++              Console.WriteLine ();
++              if (sum_i != 300)
++                      return 1;
++              if (sum_j != 2498)
++                      return 2;
++              if (sum_k != 300)
++                      return 3;
++              if (sum_p != 1825434804)
++                      return 4;
++              sum_i = sum_j = sum_k = 0;
++              sum_p = 0;
++              d();
++              Console.WriteLine ("SUM i = {0}, j = {1}, k = {2}, p = {3}",
++                                 sum_i, sum_j, sum_k, sum_p);
++              Console.WriteLine ();
++              if (sum_i != 1920)
++                      return 5;
++              if (sum_j != 15360)
++                      return 6;
++              if (sum_k != 300)
++                      return 7;
++              if (sum_p != 18446744073385831629)
++                      return 8;
++              return 0;
++      }
++
++      public static int Main ()
++      {
++              int result = Test (5);
++              if (result != 0)
++                      Console.WriteLine ("ERROR: {0}", result);
++              else
++                      Console.WriteLine ("OK");
++              return result;
++      }
++}