More tests.
authorPaolo Molaro <lupus@oddwiz.org>
Fri, 21 Dec 2001 10:17:00 +0000 (10:17 -0000)
committerPaolo Molaro <lupus@oddwiz.org>
Fri, 21 Dec 2001 10:17:00 +0000 (10:17 -0000)
svn path=/trunk/mono/; revision=1668

mono/tests/Makefile.am
mono/tests/long.cs [new file with mode: 0644]
mono/tests/reflection.cs [new file with mode: 0644]

index 388fddcd8b2a5e1211983facc195ed0a92d1cde4..7c9e6ef1cfdf004d2fa44b72f1bbdc0ad748899b 100644 (file)
@@ -30,6 +30,7 @@ TESTSRC=                      \
        array.cs                \
        enum.cs                 \
        property.cs             \
+       reflection.cs           \
        interface.cs            \
        iface.cs                \
        iface2.cs               \
@@ -44,6 +45,7 @@ TESTSRC=                      \
        jit-int.cs              \
        jit-uint.cs             \
        jit-long.cs             \
+       long.cs                 \
        jit-ulong.cs            \
        jit-float.cs            \
        pop.cs                  \
diff --git a/mono/tests/long.cs b/mono/tests/long.cs
new file mode 100644 (file)
index 0000000..012207c
--- /dev/null
@@ -0,0 +1,50 @@
+namespace test {
+
+       public class T {
+               static ulong[] values = {
+                       1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048,
+                       4096, 8192, 16384, 32768, 65536, 131072,
+                       262144, 524288, 1048576, 2097152, 4194304, 8388608,
+                       16777216, 33554432, 67108864, 134217728, 268435456,
+                       536870912, 1073741824, 2147483648, 4294967296,
+                       8589934592, 17179869184, 34359738368, 68719476736,
+                       137438953472, 274877906944, 549755813888, 1099511627776,
+                       2199023255552, 4398046511104, 8796093022208,
+                       17592186044416, 35184372088832, 70368744177664,
+                       140737488355328, 281474976710656, 562949953421312,
+                       1125899906842624, 2251799813685248, 4503599627370496,
+                       9007199254740992, 18014398509481984, 36028797018963968,
+                       72057594037927936, 144115188075855872, 288230376151711744,
+                       576460752303423488, 1152921504606846976,
+                       2305843009213693952, 4611686018427387904,
+                       9223372036854775808
+               };
+               public static int Main() {
+                       int i;
+                       ulong val = 1;
+                       ulong val17 = 131072;
+                       ulong val33 = 8589934592;
+                       ulong val39 = 549755813888;
+                       ulong val47 = 140737488355328;
+                       ulong val55 = 36028797018963968;
+
+                       for (i = 0; i < values.Length; ++i) {
+                               if (val != values [i])
+                                       return i+1;
+                               val *= 2;
+                       }
+                       if (val33 != values [33])
+                               return 1;
+                       if (val39 != values [39])
+                               return 2;
+                       if (val47 != values [47])
+                               return 3;
+                       if (val55 != values [55])
+                               return 4;
+                       if (val17 != values [17])
+                               return 5;
+
+                       return 0;
+               }
+       }
+}
diff --git a/mono/tests/reflection.cs b/mono/tests/reflection.cs
new file mode 100644 (file)
index 0000000..fd907ff
--- /dev/null
@@ -0,0 +1,37 @@
+using System.Reflection;
+using System.Collections;
+using System;
+
+namespace Test {
+       internal class CM : IComparer {
+               public int Compare (object x, object y) {
+                       return ((MethodInfo)x).Name.CompareTo (((MethodInfo)y).Name);
+               }
+       }
+       public class T {
+               public static int Main(string[] args) {
+                       string[] names = {
+                               "Equals", "Equals",
+                               "GetHashCode", "GetType",
+                               "ReferenceEquals", "ToString"
+                       };
+                       int i;
+                       string name = "System.Object";
+                       if (args.Length > 0)
+                               name = args [0];
+                       Type t = Type.GetType (name);
+                       MethodInfo[] ms = t.GetMethods();
+
+                       Array.Sort (ms, new CM());
+                       foreach (MethodInfo m in ms) {
+                               Console.WriteLine (m.ReturnType.Name + " " + m.Name);
+                       }
+                       if (name == "System.Object") {
+                               for (i=0; i < names.Length; ++i)
+                                       if (names [i] != ms [i].Name)
+                                               return i + 1;
+                       }
+                       return 0;
+               }
+       }
+}