Fixed test.
[mono.git] / mcs / tests / test-646.cs
1 using System;\r
2 \r
3 // Undocumented IntPtr and UIntPtr conversion exceptions\r
4 \r
5 class Program\r
6 {\r
7         static long CastUIntPtrToInt64 (UIntPtr ptr)\r
8         {\r
9                 return (long) ptr;\r
10         }\r
11         \r
12         static uint CastIntPtrToUInt32 (IntPtr ptr)\r
13         {\r
14                 return (uint) ptr;\r
15         }\r
16         \r
17         static int Main ()\r
18         {\r
19                 if (IntPtr.Size < 8) {\r
20                         if (CastUIntPtrToInt64 (new UIntPtr (uint.MaxValue)) != uint.MaxValue)\r
21                                 return 1;\r
22                         if (CastIntPtrToUInt32 (new IntPtr (int.MaxValue)) != int.MaxValue)\r
23                                 return 2;\r
24                 } else {\r
25                         throw new ApplicationException (CastUIntPtrToInt64 (new UIntPtr (ulong.MaxValue)).ToString ());\r
26 //                      if (CastIntPtrToUInt32 (new IntPtr (long.MaxValue)) != long.MaxValue)\r
27 //                              return 4;\r
28                 }\r
29                 \r
30                 return 0;\r
31         }\r
32 }\r