| |
| if [ catch { load ./cpp11_strongly_typed_enumerations[info sharedlibextension] cpp11_strongly_typed_enumerations} err_msg ] { |
| puts stderr "Could not load shared object:\n$err_msg" |
| } |
| |
| proc enumCheck {actual expected} { |
| if {$actual != $expected} { |
| error "Enum value mismatch. Expected $expected. Actual: $actual" |
| } |
| return [expr $expected + 1] |
| } |
| |
| #set val 0 |
| #set val [enumCheck $Enum1_Val1 $val] |
| #set val [enumCheck $Enum1_Val2 $val] |
| |
| set val 0 |
| set val [enumCheck $Enum1_Val1 $val] |
| set val [enumCheck $Enum1_Val2 $val] |
| set val [enumCheck $Enum1_Val3 13] |
| set val [enumCheck $Enum1_Val4 $val] |
| set val [enumCheck $Enum1_Val5a 13] |
| set val [enumCheck $Enum1_Val6a $val] |
| |
| set val 0 |
| set val [enumCheck $Enum2_Val1 $val] |
| set val [enumCheck $Enum2_Val2 $val] |
| set val [enumCheck $Enum2_Val3 23] |
| set val [enumCheck $Enum2_Val4 $val] |
| set val [enumCheck $Enum2_Val5b 23] |
| set val [enumCheck $Enum2_Val6b $val] |
| |
| set val 0 |
| set val [enumCheck $Val1 $val] |
| set val [enumCheck $Val2 $val] |
| set val [enumCheck $Val3 43] |
| set val [enumCheck $Val4 $val] |
| |
| set val 0 |
| set val [enumCheck $Enum5_Val1 $val] |
| set val [enumCheck $Enum5_Val2 $val] |
| set val [enumCheck $Enum5_Val3 53] |
| set val [enumCheck $Enum5_Val4 $val] |
| |
| set val 0 |
| set val [enumCheck $Enum6_Val1 $val] |
| set val [enumCheck $Enum6_Val2 $val] |
| set val [enumCheck $Enum6_Val3 63] |
| set val [enumCheck $Enum6_Val4 $val] |
| |
| set val 0 |
| set val [enumCheck $Enum7td_Val1 $val] |
| set val [enumCheck $Enum7td_Val2 $val] |
| set val [enumCheck $Enum7td_Val3 73] |
| set val [enumCheck $Enum7td_Val4 $val] |
| |
| set val 0 |
| set val [enumCheck $Enum8_Val1 $val] |
| set val [enumCheck $Enum8_Val2 $val] |
| set val [enumCheck $Enum8_Val3 83] |
| set val [enumCheck $Enum8_Val4 $val] |
| |
| set val 0 |
| set val [enumCheck $Enum10_Val1 $val] |
| set val [enumCheck $Enum10_Val2 $val] |
| set val [enumCheck $Enum10_Val3 103] |
| set val [enumCheck $Enum10_Val4 $val] |
| |
| set val 0 |
| set val [enumCheck $Class1_Enum12_Val1 1121] |
| set val [enumCheck $Class1_Enum12_Val2 1122] |
| set val [enumCheck $Class1_Enum12_Val3 $val] |
| set val [enumCheck $Class1_Enum12_Val4 $val] |
| set val [enumCheck $Class1_Enum12_Val5c 1121] |
| set val [enumCheck $Class1_Enum12_Val6c $val] |
| |
| set val 0 |
| set val [enumCheck $Class1_Val1 1131] |
| set val [enumCheck $Class1_Val2 1132] |
| set val [enumCheck $Class1_Val3 $val] |
| set val [enumCheck $Class1_Val4 $val] |
| set val [enumCheck $Class1_Val5d 1131] |
| set val [enumCheck $Class1_Val6d $val] |
| |
| set val 0 |
| set val [enumCheck $Class1_Enum14_Val1 1141] |
| set val [enumCheck $Class1_Enum14_Val2 1142] |
| set val [enumCheck $Class1_Enum14_Val3 $val] |
| set val [enumCheck $Class1_Enum14_Val4 $val] |
| set val [enumCheck $Class1_Enum14_Val5e 1141] |
| set val [enumCheck $Class1_Enum14_Val6e $val] |
| |
| # Requires nested class support to work |
| #set val 0 |
| #set val [enumCheck $Class1_Struct1_Enum12_Val1 3121] |
| #set val [enumCheck $Class1_Struct1_Enum12_Val2 3122] |
| #set val [enumCheck $Class1_Struct1_Enum12_Val3 $val] |
| #set val [enumCheck $Class1_Struct1_Enum12_Val4 $val] |
| #set val [enumCheck $Class1_Struct1_Enum12_Val5f 3121] |
| #set val [enumCheck $Class1_Struct1_Enum12_Val6f $val] |
| # |
| #set val 0 |
| #set val [enumCheck $Class1_Struct1_Val1 3131] |
| #set val [enumCheck $Class1_Struct1_Val2 3132] |
| #set val [enumCheck $Class1_Struct1_Val3 $val] |
| #set val [enumCheck $Class1_Struct1_Val4 $val] |
| # |
| #set val 0 |
| #set val [enumCheck $Class1_Struct1_Enum14_Val1 3141] |
| #set val [enumCheck $Class1_Struct1_Enum14_Val2 3142] |
| #set val [enumCheck $Class1_Struct1_Enum14_Val3 $val] |
| #set val [enumCheck $Class1_Struct1_Enum14_Val4 $val] |
| #set val [enumCheck $Class1_Struct1_Enum14_Val5g 3141] |
| #set val [enumCheck $Class1_Struct1_Enum14_Val6g $val] |
| |
| set val 0 |
| set val [enumCheck $Class2_Enum12_Val1 2121] |
| set val [enumCheck $Class2_Enum12_Val2 2122] |
| set val [enumCheck $Class2_Enum12_Val3 $val] |
| set val [enumCheck $Class2_Enum12_Val4 $val] |
| set val [enumCheck $Class2_Enum12_Val5h 2121] |
| set val [enumCheck $Class2_Enum12_Val6h $val] |
| |
| set val 0 |
| set val [enumCheck $Class2_Val1 2131] |
| set val [enumCheck $Class2_Val2 2132] |
| set val [enumCheck $Class2_Val3 $val] |
| set val [enumCheck $Class2_Val4 $val] |
| set val [enumCheck $Class2_Val5i 2131] |
| set val [enumCheck $Class2_Val6i $val] |
| |
| set val 0 |
| set val [enumCheck $Class2_Enum14_Val1 2141] |
| set val [enumCheck $Class2_Enum14_Val2 2142] |
| set val [enumCheck $Class2_Enum14_Val3 $val] |
| set val [enumCheck $Class2_Enum14_Val4 $val] |
| set val [enumCheck $Class2_Enum14_Val5j 2141] |
| set val [enumCheck $Class2_Enum14_Val6j $val] |
| |
| # Requires nested class support to work |
| #set val 0 |
| #set val [enumCheck $Class2_Struct1_Enum12_Val1 4121] |
| #set val [enumCheck $Class2_Struct1_Enum12_Val2 4122] |
| #set val [enumCheck $Class2_Struct1_Enum12_Val3 $val] |
| #set val [enumCheck $Class2_Struct1_Enum12_Val4 $val] |
| #set val [enumCheck $Class2_Struct1_Enum12_Val5k 4121] |
| #set val [enumCheck $Class2_Struct1_Enum12_Val6k $val] |
| # |
| #set val 0 |
| #set val [enumCheck $Class2_Struct1_Val1 4131] |
| #set val [enumCheck $Class2_Struct1_Val2 4132] |
| #set val [enumCheck $Class2_Struct1_Val3 $val] |
| #set val [enumCheck $Class2_Struct1_Val4 $val] |
| #set val [enumCheck $Class2_Struct1_Val5l 4131] |
| #set val [enumCheck $Class2_Struct1_Val6l $val] |
| # |
| #set val 0 |
| #set val [enumCheck $Class2_Struct1_Enum14_Val1 4141] |
| #set val [enumCheck $Class2_Struct1_Enum14_Val2 4142] |
| #set val [enumCheck $Class2_Struct1_Enum14_Val3 $val] |
| #set val [enumCheck $Class2_Struct1_Enum14_Val4 $val] |
| #set val [enumCheck $Class2_Struct1_Enum14_Val5m 4141] |
| #set val [enumCheck $Class2_Struct1_Enum14_Val6m $val] |
| |
| set class1 [Class1] |
| enumCheck [$class1 class1Test1 $Enum1_Val5a] 13 |
| enumCheck [$class1 class1Test2 $Class1_Enum12_Val5c] 1121 |
| #enumCheck [$class1 class1Test3 $Class1_Struct1_Enum12_Val5f] 3121 |
| |
| enumCheck [globalTest1 $Enum1_Val5a] 13 |
| enumCheck [globalTest2 $Class1_Enum12_Val5c] 1121 |
| #enumCheck [globalTest3 $Class1_Struct1_Enum12_Val5f] 3121 |