2 using System.Runtime.InteropServices;
5 delegate void SimpleDelegate ();
9 Console.WriteLine ("Test.F1");
13 Console.WriteLine ("Test.F2");
17 Console.WriteLine ("Test.F4");
20 public static int Main () {
21 return TestDriver.RunTests (typeof (Tests));
25 static bool check_is_expected_v (SimpleDelegate d, int expected_v)
29 return v == expected_v;
32 static public int test_0_test () {
33 SimpleDelegate d1 = new SimpleDelegate (F1);
34 SimpleDelegate d2 = new SimpleDelegate (F2);
35 SimpleDelegate d4 = new SimpleDelegate (F4);
39 if (!check_is_expected_v (d1 - d2, 1))
41 if (!check_is_expected_v (d1 - d4, 1))
44 if (!check_is_expected_v (d2 - d1, 2))
48 if (!check_is_expected_v (d2 - d4, 2))
51 if (!check_is_expected_v (d4 - d1, 4))
53 if (!check_is_expected_v (d4 - d2, 4))
58 SimpleDelegate d12 = d1 + d2;
59 SimpleDelegate d14 = d1 + d4;
60 SimpleDelegate d24 = d2 + d4;
62 if (!check_is_expected_v (d12 - d1, 2))
64 if (!check_is_expected_v (d12 - d2, 1))
66 if (!check_is_expected_v (d12 - d4, 3))
69 if (!check_is_expected_v (d14 - d1, 4))
71 if (!check_is_expected_v (d14 - d2, 5))
73 if (!check_is_expected_v (d14 - d4, 1))
76 if (!check_is_expected_v (d14 - d1, 4))
78 if (!check_is_expected_v (d14 - d2, 5))
80 if (!check_is_expected_v (d14 - d4, 1))
83 if (d12 - d12 != null)
85 if (!check_is_expected_v (d12 - d14, 2))
87 if (!check_is_expected_v (d12 - d24, 1))
90 if (!check_is_expected_v (d14 - d12, 4))
92 if (d14 - d14 != null)
94 if (!check_is_expected_v (d14 - d24, 1))
97 if (!check_is_expected_v (d24 - d12, 4))
99 if (!check_is_expected_v (d24 - d14, 2))
101 if (d24 - d24 != null)
104 SimpleDelegate d124 = d1 + d2 + d4;
106 if (!check_is_expected_v (d124 - d1, 6))
108 if (!check_is_expected_v (d124 - d2, 5))
110 if (!check_is_expected_v (d124 - d4, 3))
113 if (!check_is_expected_v (d124 - d12, 4))
115 if (!check_is_expected_v (d124 - d14, 2))
117 if (!check_is_expected_v (d124 - d24, 1))
120 if (d124 - d124 != null)
126 // Regression test for bug #50366
127 static public int test_0_delegate_equality () {
128 if (new SimpleDelegate (F1) == new SimpleDelegate (F1))