2005-06-05 Peter Bartok <pbartok@novell.com>
[mono.git] / mcs / tests / vararg-exe.cs
1 // Compiler options: -r:vararg-dll.dll
2
3 using System;
4
5 class TestVararg
6 {
7         static int Main ()
8         {
9                 int result = Vararg.AddABunchOfInts (__arglist ( 2, 3, 4 ));
10                 Console.WriteLine ("Answer: {0}", result);
11
12                 if (result != 9)
13                         return 1;
14
15                 result = Vararg.AddASecondBunchOfInts (16, __arglist ( 2, 3, 4 ));
16                 Console.WriteLine ("Answer: {0}", result);
17
18                 if (result != 9)
19                         return 2;
20
21                 Vararg s = new Vararg ();
22
23                 result = s.InstAddABunchOfInts (__arglist ( 2, 3, 4, 5 ));
24                 Console.WriteLine ("Answer: {0}", result);
25
26                 if (result != 14)
27                         return 3;
28
29                 result = s.InstAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6 ));
30                 Console.WriteLine ("Answer: {0}", result);
31
32                 if (result != 20)
33                         return 4;
34
35                 result = s.InstVtAddABunchOfInts (__arglist ( 2, 3, 4, 5 )).res;
36                 Console.WriteLine ("Answer: {0}", result);
37
38                 if (result != 14)
39                         return 5;
40
41                 result = s.InstVtAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6 )).res;
42                 Console.WriteLine ("Answer: {0}", result);
43
44                 if (result != 20)
45                         return 6;
46
47                 result = Vararg.VtAddABunchOfInts (__arglist ( 2, 3, 4, 5, 1 )).res;
48                 Console.WriteLine ("Answer: {0}", result);
49
50                 if (result != 15)
51                         return 7;
52
53                 result = Vararg.VtAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6, 1 )).res;
54                 Console.WriteLine ("Answer: {0}", result);
55
56                 if (result != 21)
57                         return 8;
58
59                 return 0;
60         }
61 }