1 using System; 2 using cpp11_strongly_typed_enumerationsNamespace; 3 4 public class cpp11_strongly_typed_enumerations_runme { 5 enumCheck(int actual, int expected)6 public static int enumCheck(int actual, int expected) { 7 if (actual != expected) 8 throw new ApplicationException("Enum value mismatch. Expected " + expected + " Actual: " + actual); 9 return expected + 1; 10 } 11 Main()12 public static void Main() { 13 int val = 0; 14 val = enumCheck((int)Enum1.Val1, val); 15 val = enumCheck((int)Enum1.Val2, val); 16 val = enumCheck((int)Enum1.Val3, 13); 17 val = enumCheck((int)Enum1.Val4, val); 18 val = enumCheck((int)Enum1.Val5a, 13); 19 val = enumCheck((int)Enum1.Val6a, val); 20 21 val = 0; 22 val = enumCheck((int)Enum2.Val1, val); 23 val = enumCheck((int)Enum2.Val2, val); 24 val = enumCheck((int)Enum2.Val3, 23); 25 val = enumCheck((int)Enum2.Val4, val); 26 val = enumCheck((int)Enum2.Val5b, 23); 27 val = enumCheck((int)Enum2.Val6b, val); 28 29 val = 0; 30 val = enumCheck((int)Enum4.Val1, val); 31 val = enumCheck((int)Enum4.Val2, val); 32 val = enumCheck((int)Enum4.Val3, 43); 33 val = enumCheck((int)Enum4.Val4, val); 34 35 val = 0; 36 val = enumCheck((int)Enum5.Val1, val); 37 val = enumCheck((int)Enum5.Val2, val); 38 val = enumCheck((int)Enum5.Val3, 53); 39 val = enumCheck((int)Enum5.Val4, val); 40 41 val = 0; 42 val = enumCheck((int)Enum6.Val1, val); 43 val = enumCheck((int)Enum6.Val2, val); 44 val = enumCheck((int)Enum6.Val3, 63); 45 val = enumCheck((int)Enum6.Val4, val); 46 47 val = 0; 48 val = enumCheck((int)Enum7td.Val1, val); 49 val = enumCheck((int)Enum7td.Val2, val); 50 val = enumCheck((int)Enum7td.Val3, 73); 51 val = enumCheck((int)Enum7td.Val4, val); 52 53 val = 0; 54 val = enumCheck((int)Enum8.Val1, val); 55 val = enumCheck((int)Enum8.Val2, val); 56 val = enumCheck((int)Enum8.Val3, 83); 57 val = enumCheck((int)Enum8.Val4, val); 58 59 val = 0; 60 val = enumCheck((int)Enum10.Val1, val); 61 val = enumCheck((int)Enum10.Val2, val); 62 val = enumCheck((int)Enum10.Val3, 103); 63 val = enumCheck((int)Enum10.Val4, val); 64 65 val = 0; 66 val = enumCheck((int)Class1.Enum12.Val1, 1121); 67 val = enumCheck((int)Class1.Enum12.Val2, 1122); 68 val = enumCheck((int)Class1.Enum12.Val3, val); 69 val = enumCheck((int)Class1.Enum12.Val4, val); 70 val = enumCheck((int)Class1.Enum12.Val5c, 1121); 71 val = enumCheck((int)Class1.Enum12.Val6c, val); 72 73 val = 0; 74 val = enumCheck((int)Class1.Enum13.Val1, 1131); 75 val = enumCheck((int)Class1.Enum13.Val2, 1132); 76 val = enumCheck((int)Class1.Enum13.Val3, val); 77 val = enumCheck((int)Class1.Enum13.Val4, val); 78 val = enumCheck((int)Class1.Enum13.Val5d, 1131); 79 val = enumCheck((int)Class1.Enum13.Val6d, val); 80 81 val = 0; 82 val = enumCheck((int)Class1.Enum14.Val1, 1141); 83 val = enumCheck((int)Class1.Enum14.Val2, 1142); 84 val = enumCheck((int)Class1.Enum14.Val3, val); 85 val = enumCheck((int)Class1.Enum14.Val4, val); 86 val = enumCheck((int)Class1.Enum14.Val5e, 1141); 87 val = enumCheck((int)Class1.Enum14.Val6e, val); 88 89 val = 0; 90 val = enumCheck((int)Class1.Struct1.Enum12.Val1, 3121); 91 val = enumCheck((int)Class1.Struct1.Enum12.Val2, 3122); 92 val = enumCheck((int)Class1.Struct1.Enum12.Val3, val); 93 val = enumCheck((int)Class1.Struct1.Enum12.Val4, val); 94 val = enumCheck((int)Class1.Struct1.Enum12.Val5f, 3121); 95 val = enumCheck((int)Class1.Struct1.Enum12.Val6f, val); 96 97 val = 0; 98 val = enumCheck((int)Class1.Struct1.Enum13.Val1, 3131); 99 val = enumCheck((int)Class1.Struct1.Enum13.Val2, 3132); 100 val = enumCheck((int)Class1.Struct1.Enum13.Val3, val); 101 val = enumCheck((int)Class1.Struct1.Enum13.Val4, val); 102 103 val = 0; 104 val = enumCheck((int)Class1.Struct1.Enum14.Val1, 3141); 105 val = enumCheck((int)Class1.Struct1.Enum14.Val2, 3142); 106 val = enumCheck((int)Class1.Struct1.Enum14.Val3, val); 107 val = enumCheck((int)Class1.Struct1.Enum14.Val4, val); 108 val = enumCheck((int)Class1.Struct1.Enum14.Val5g, 3141); 109 val = enumCheck((int)Class1.Struct1.Enum14.Val6g, val); 110 111 val = 0; 112 val = enumCheck((int)Class2.Enum12.Val1, 2121); 113 val = enumCheck((int)Class2.Enum12.Val2, 2122); 114 val = enumCheck((int)Class2.Enum12.Val3, val); 115 val = enumCheck((int)Class2.Enum12.Val4, val); 116 val = enumCheck((int)Class2.Enum12.Val5h, 2121); 117 val = enumCheck((int)Class2.Enum12.Val6h, val); 118 119 val = 0; 120 val = enumCheck((int)Class2.Enum13.Val1, 2131); 121 val = enumCheck((int)Class2.Enum13.Val2, 2132); 122 val = enumCheck((int)Class2.Enum13.Val3, val); 123 val = enumCheck((int)Class2.Enum13.Val4, val); 124 val = enumCheck((int)Class2.Enum13.Val5i, 2131); 125 val = enumCheck((int)Class2.Enum13.Val6i, val); 126 127 val = 0; 128 val = enumCheck((int)Class2.Enum14.Val1, 2141); 129 val = enumCheck((int)Class2.Enum14.Val2, 2142); 130 val = enumCheck((int)Class2.Enum14.Val3, val); 131 val = enumCheck((int)Class2.Enum14.Val4, val); 132 val = enumCheck((int)Class2.Enum14.Val5j, 2141); 133 val = enumCheck((int)Class2.Enum14.Val6j, val); 134 135 val = 0; 136 val = enumCheck((int)Class2.Struct1.Enum12.Val1, 4121); 137 val = enumCheck((int)Class2.Struct1.Enum12.Val2, 4122); 138 val = enumCheck((int)Class2.Struct1.Enum12.Val3, val); 139 val = enumCheck((int)Class2.Struct1.Enum12.Val4, val); 140 val = enumCheck((int)Class2.Struct1.Enum12.Val5k, 4121); 141 val = enumCheck((int)Class2.Struct1.Enum12.Val6k, val); 142 143 val = 0; 144 val = enumCheck((int)Class2.Struct1.Enum13.Val1, 4131); 145 val = enumCheck((int)Class2.Struct1.Enum13.Val2, 4132); 146 val = enumCheck((int)Class2.Struct1.Enum13.Val3, val); 147 val = enumCheck((int)Class2.Struct1.Enum13.Val4, val); 148 val = enumCheck((int)Class2.Struct1.Enum13.Val5l, 4131); 149 val = enumCheck((int)Class2.Struct1.Enum13.Val6l, val); 150 151 val = 0; 152 val = enumCheck((int)Class2.Struct1.Enum14.Val1, 4141); 153 val = enumCheck((int)Class2.Struct1.Enum14.Val2, 4142); 154 val = enumCheck((int)Class2.Struct1.Enum14.Val3, val); 155 val = enumCheck((int)Class2.Struct1.Enum14.Val4, val); 156 val = enumCheck((int)Class2.Struct1.Enum14.Val5m, 4141); 157 val = enumCheck((int)Class2.Struct1.Enum14.Val6m, val); 158 159 Class1 class1 = new Class1(); 160 enumCheck((int)class1.class1Test1(Enum1.Val5a), 13); 161 enumCheck((int)class1.class1Test2(Class1.Enum12.Val5c), 1121); 162 enumCheck((int)class1.class1Test3(Class1.Struct1.Enum12.Val5f), 3121); 163 164 enumCheck((int)cpp11_strongly_typed_enumerations.globalTest1(Enum1.Val5a), 13); 165 enumCheck((int)cpp11_strongly_typed_enumerations.globalTest2(Class1.Enum12.Val5c), 1121); 166 enumCheck((int)cpp11_strongly_typed_enumerations.globalTest3(Class1.Struct1.Enum12.Val5f), 3121); 167 } 168 } 169 170