1<?php 2 3require "tests.php"; 4require "cpp11_strongly_typed_enumerations.php"; 5 6function enumCheck($actual, $expected) { 7 check::equal($actual, $expected, "Enum value mismatch"); 8 return $expected + 1; 9} 10 11 12$val = 0; 13$val = enumCheck(Enum1_Val1, $val); 14$val = enumCheck(Enum1_Val2, $val); 15$val = enumCheck(Enum1_Val3, 13); 16$val = enumCheck(Enum1_Val4, $val); 17$val = enumCheck(Enum1_Val5a, 13); 18$val = enumCheck(Enum1_Val6a, $val); 19 20$val = 0; 21$val = enumCheck(Enum2_Val1, $val); 22$val = enumCheck(Enum2_Val2, $val); 23$val = enumCheck(Enum2_Val3, 23); 24$val = enumCheck(Enum2_Val4, $val); 25$val = enumCheck(Enum2_Val5b, 23); 26$val = enumCheck(Enum2_Val6b, $val); 27 28$val = 0; 29$val = enumCheck(Val1, $val); 30$val = enumCheck(Val2, $val); 31$val = enumCheck(Val3, 43); 32$val = enumCheck(Val4, $val); 33 34$val = 0; 35$val = enumCheck(Enum5_Val1, $val); 36$val = enumCheck(Enum5_Val2, $val); 37$val = enumCheck(Enum5_Val3, 53); 38$val = enumCheck(Enum5_Val4, $val); 39 40$val = 0; 41$val = enumCheck(Enum6_Val1, $val); 42$val = enumCheck(Enum6_Val2, $val); 43$val = enumCheck(Enum6_Val3, 63); 44$val = enumCheck(Enum6_Val4, $val); 45 46$val = 0; 47$val = enumCheck(Enum7td_Val1, $val); 48$val = enumCheck(Enum7td_Val2, $val); 49$val = enumCheck(Enum7td_Val3, 73); 50$val = enumCheck(Enum7td_Val4, $val); 51 52$val = 0; 53$val = enumCheck(Enum8_Val1, $val); 54$val = enumCheck(Enum8_Val2, $val); 55$val = enumCheck(Enum8_Val3, 83); 56$val = enumCheck(Enum8_Val4, $val); 57 58$val = 0; 59$val = enumCheck(Enum10_Val1, $val); 60$val = enumCheck(Enum10_Val2, $val); 61$val = enumCheck(Enum10_Val3, 103); 62$val = enumCheck(Enum10_Val4, $val); 63 64$val = 0; 65$val = enumCheck(Class1::Enum12_Val1, 1121); 66$val = enumCheck(Class1::Enum12_Val2, 1122); 67$val = enumCheck(Class1::Enum12_Val3, $val); 68$val = enumCheck(Class1::Enum12_Val4, $val); 69$val = enumCheck(Class1::Enum12_Val5c, 1121); 70$val = enumCheck(Class1::Enum12_Val6c, $val); 71 72$val = 0; 73$val = enumCheck(Class1::Val1, 1131); 74$val = enumCheck(Class1::Val2, 1132); 75$val = enumCheck(Class1::Val3, $val); 76$val = enumCheck(Class1::Val4, $val); 77$val = enumCheck(Class1::Val5d, 1131); 78$val = enumCheck(Class1::Val6d, $val); 79 80$val = 0; 81$val = enumCheck(Class1::Enum14_Val1, 1141); 82$val = enumCheck(Class1::Enum14_Val2, 1142); 83$val = enumCheck(Class1::Enum14_Val3, $val); 84$val = enumCheck(Class1::Enum14_Val4, $val); 85$val = enumCheck(Class1::Enum14_Val5e, 1141); 86$val = enumCheck(Class1::Enum14_Val6e, $val); 87 88# Requires nested class support to work 89#$val = 0; 90#$val = enumCheck(Class1::Struct1.Enum12_Val1, 3121); 91#$val = enumCheck(Class1::Struct1.Enum12_Val2, 3122); 92#$val = enumCheck(Class1::Struct1.Enum12_Val3, $val); 93#$val = enumCheck(Class1::Struct1.Enum12_Val4, $val); 94#$val = enumCheck(Class1::Struct1.Enum12_Val5f, 3121); 95#$val = enumCheck(Class1::Struct1.Enum12_Val6f, $val); 96# 97#$val = 0; 98#$val = enumCheck(Class1::Struct1.$val1, 3131); 99#$val = enumCheck(Class1::Struct1.$val2, 3132); 100#$val = enumCheck(Class1::Struct1.$val3, $val); 101#$val = enumCheck(Class1::Struct1.$val4, $val); 102# 103#$val = 0; 104#$val = enumCheck(Class1::Struct1.Enum14_Val1, 3141); 105#$val = enumCheck(Class1::Struct1.Enum14_Val2, 3142); 106#$val = enumCheck(Class1::Struct1.Enum14_Val3, $val); 107#$val = enumCheck(Class1::Struct1.Enum14_Val4, $val); 108#$val = enumCheck(Class1::Struct1.Enum14_Val5g, 3141); 109#$val = enumCheck(Class1::Struct1.Enum14_Val6g, $val); 110 111$val = 0; 112$val = enumCheck(Class2::Enum12_Val1, 2121); 113$val = enumCheck(Class2::Enum12_Val2, 2122); 114$val = enumCheck(Class2::Enum12_Val3, $val); 115$val = enumCheck(Class2::Enum12_Val4, $val); 116$val = enumCheck(Class2::Enum12_Val5h, 2121); 117$val = enumCheck(Class2::Enum12_Val6h, $val); 118 119$val = 0; 120$val = enumCheck(Class2::Val1, 2131); 121$val = enumCheck(Class2::Val2, 2132); 122$val = enumCheck(Class2::Val3, $val); 123$val = enumCheck(Class2::Val4, $val); 124$val = enumCheck(Class2::Val5i, 2131); 125$val = enumCheck(Class2::Val6i, $val); 126 127$val = 0; 128$val = enumCheck(Class2::Enum14_Val1, 2141); 129$val = enumCheck(Class2::Enum14_Val2, 2142); 130$val = enumCheck(Class2::Enum14_Val3, $val); 131$val = enumCheck(Class2::Enum14_Val4, $val); 132$val = enumCheck(Class2::Enum14_Val5j, 2141); 133$val = enumCheck(Class2::Enum14_Val6j, $val); 134 135# Requires nested class support to work 136#$val = 0; 137#$val = enumCheck(Class2::Struct1.Enum12_Val1, 4121); 138#$val = enumCheck(Class2::Struct1.Enum12_Val2, 4122); 139#$val = enumCheck(Class2::Struct1.Enum12_Val3, $val); 140#$val = enumCheck(Class2::Struct1.Enum12_Val4, $val); 141#$val = enumCheck(Class2::Struct1.Enum12_Val5k, 4121); 142#$val = enumCheck(Class2::Struct1.Enum12_Val6k, $val); 143# 144#$val = 0; 145#$val = enumCheck(Class2::Struct1.$val1, 4131); 146#$val = enumCheck(Class2::Struct1.$val2, 4132); 147#$val = enumCheck(Class2::Struct1.$val3, $val); 148#$val = enumCheck(Class2::Struct1.$val4, $val); 149#$val = enumCheck(Class2::Struct1.$val5l, 4131); 150#$val = enumCheck(Class2::Struct1.$val6l, $val); 151# 152#$val = 0; 153#$val = enumCheck(Class2::Struct1.Enum14_Val1, 4141); 154#$val = enumCheck(Class2::Struct1.Enum14_Val2, 4142); 155#$val = enumCheck(Class2::Struct1.Enum14_Val3, $val); 156#$val = enumCheck(Class2::Struct1.Enum14_Val4, $val); 157#$val = enumCheck(Class2::Struct1.Enum14_Val5m, 4141); 158#$val = enumCheck(Class2::Struct1.Enum14_Val6m, $val); 159 160$class1 = new Class1(); 161enumCheck($class1->class1Test1(Enum1_Val5a), 13); 162enumCheck($class1->class1Test2(Class1::Enum12_Val5c), 1121); 163#enumCheck($class1.class1Test3(Class1::Struct1.Enum12_Val5f), 3121); 164 165enumCheck(globalTest1(Enum1_Val5a), 13); 166enumCheck(globalTest2(Class1::Enum12_Val5c), 1121); 167#enumCheck(globalTest3(Class1::Struct1.Enum12_Val5f), 3121); 168 169?> 170