2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / tests / test-37.cs
1 //
2 // This test excercises array access on single dimension, multi-dimension
3 // and jagged arrays.
4 //
5 using System;
6
7 class X {
8         static void m (int [] a)
9         {
10                 a [0] = 0xdead;
11         }
12
13         static int test_int_single_dim ()
14         {
15                 int [] a = new int [10];
16                 int i;
17                 
18                 for (i = 0; i < 10; i++)
19                         a [i] = i;
20
21                 m (a);
22
23                 if (a [0] != 0xdead)
24                         return 1;
25
26                 a [0] = 0;
27                 for (i = 9; i >= 0; i--){
28                         if (a [i] != i)
29                                 return 2;
30                 }
31                 return 0;
32         }
33
34         static int simple_test_double_dim ()
35         {
36                 int [,] b = new int [10, 10];
37
38                 b [0, 0] = 1;
39                 b [4, 4] = 1;
40
41                 if (b [0, 0] != b [4, 4])
42                         return 20;
43                 if (b [1, 1] != b [5, 5])
44                         return 21;
45
46                 return 0;
47         }
48         
49 //        static void dd (int [,] b)
50 //        {
51 //                int i, j;
52 //
53 //                for (i = 0; i < 10; i++)
54 //                        for (j = 0; j < 10; j++)
55 //                                b [i, j] = b [i, j] + 1;
56 //        }
57 //
58 //        static int test_int_double_dim ()
59 //        {
60 //                int [,] b = new int [10,10];
61 //                int i, j;
62 //                
63 //                for (i = 0; i < 10; i++)
64 //                        for (j = 0; j < 10; j++)
65 //                                b [i,j] = i * 10 + j;
66 //
67 //                dd (b);
68 //                
69 //                for (i = 0; i < 10; i++)
70 //                        for (j = 0; j < 10; j++)
71 //                                if (b [i,j] != i *10 + j + 1){
72 //                                        Console.WriteLine ("Expecting " + (i * 10 + j + 1) + "got: " + b [i,j]);
73 //                                        return 10;
74 //                                }
75 //                
76 //                return 0;
77 //        }
78
79 //        static int test_jagged ()
80 //        {
81 //                int [][] a = new int [10][];
82 //                int i;
83 //                
84 //                for (i = 0; i < 10; i++){
85 //                        if (a [i] != null)
86 //                                return 20;
87 //                        
88 //                        a [i] = new int [10];
89 //
90 //                        for (int j = 0; j < 10; j++){
91 //                                int q;
92 //                                a [i][j] = j * 10;
93 //                                q = a [i][j] = j * 10;
94 //                                
95 //                                a [i][j]++;
96 //
97 //                                if (a [i][j] != q + 1)
98 //                                        return 21;
99 //                        }
100 //                }
101 //
102 //                return 0;
103 //        }
104
105         static int Main ()
106         {
107                 int v;
108                 
109                 Console.WriteLine ("hello");
110                 return 0;
111
112 #if FIXME
113                 v = test_int_single_dim ();
114
115                 if (v != 0)
116                         return v;
117
118                 //              v = test_int_double_dim ();
119                 //              if (v != 0)
120                 //                      return v;
121                 //
122                 //              v = test_jagged ();
123
124                 v = simple_test_double_dim ();
125                 if (v != 0)
126                         return v;
127
128                 int [] a = new int [10];
129                 int i;
130                 for (i = 0; i < 10; i++){
131                         a [i] = i;
132                         //                      a [i]++;
133                         // Console.WriteLine ("Should be: " + (i + 1) + " it is = " + a [i]);
134                 }
135                 return 0;
136 #endif
137         }
138 }