Skip to content

Commit

Permalink
Add Java runtime testcases for C++11 strongly typed enums
Browse files Browse the repository at this point in the history
  • Loading branch information
wsfulton committed Nov 25, 2014
1 parent b5cb93f commit 49761fe
Show file tree
Hide file tree
Showing 2 changed files with 334 additions and 0 deletions.
167 changes: 167 additions & 0 deletions Examples/test-suite/java/cpp11_strongly_typed_enumerations_runme.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
import cpp11_strongly_typed_enumerations.*;

public class cpp11_strongly_typed_enumerations_runme {

static {
try {
System.loadLibrary("cpp11_strongly_typed_enumerations");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
System.exit(1);
}
}

public static int enumCheck(int actual, int expected) {
if (actual != expected)
throw new RuntimeException("Enum value mismatch. Expected " + expected + " Actual: " + actual);
return expected + 1;
}

public static void main(String argv[]) {
int val = 0;
val = enumCheck(Enum1.Val1.swigValue(), val);
val = enumCheck(Enum1.Val2.swigValue(), val);
val = enumCheck(Enum1.Val3.swigValue(), 13);
val = enumCheck(Enum1.Val4.swigValue(), val);
val = enumCheck(Enum1.Val5a.swigValue(), 13);
val = enumCheck(Enum1.Val6a.swigValue(), val);

val = 0;
val = enumCheck(Enum2.Val1.swigValue(), val);
val = enumCheck(Enum2.Val2.swigValue(), val);
val = enumCheck(Enum2.Val3.swigValue(), 23);
val = enumCheck(Enum2.Val4.swigValue(), val);
val = enumCheck(Enum2.Val5b.swigValue(), 23);
val = enumCheck(Enum2.Val6b.swigValue(), val);

val = 0;
val = enumCheck(Enum4.Val1.swigValue(), val);
val = enumCheck(Enum4.Val2.swigValue(), val);
val = enumCheck(Enum4.Val3.swigValue(), 43);
val = enumCheck(Enum4.Val4.swigValue(), val);

val = 0;
val = enumCheck(Enum5.Val1.swigValue(), val);
val = enumCheck(Enum5.Val2.swigValue(), val);
val = enumCheck(Enum5.Val3.swigValue(), 53);
val = enumCheck(Enum5.Val4.swigValue(), val);

val = 0;
val = enumCheck(Enum6.Val1.swigValue(), val);
val = enumCheck(Enum6.Val2.swigValue(), val);
val = enumCheck(Enum6.Val3.swigValue(), 63);
val = enumCheck(Enum6.Val4.swigValue(), val);

val = 0;
val = enumCheck(Enum7td.Val1.swigValue(), val);
val = enumCheck(Enum7td.Val2.swigValue(), val);
val = enumCheck(Enum7td.Val3.swigValue(), 73);
val = enumCheck(Enum7td.Val4.swigValue(), val);

val = 0;
val = enumCheck(Enum8.Val1.swigValue(), val);
val = enumCheck(Enum8.Val2.swigValue(), val);
val = enumCheck(Enum8.Val3.swigValue(), 83);
val = enumCheck(Enum8.Val4.swigValue(), val);

val = 0;
val = enumCheck(Enum10.Val1.swigValue(), val);
val = enumCheck(Enum10.Val2.swigValue(), val);
val = enumCheck(Enum10.Val3.swigValue(), 103);
val = enumCheck(Enum10.Val4.swigValue(), val);

val = 0;
val = enumCheck(Class1.Enum12.Val1.swigValue(), 1121);
val = enumCheck(Class1.Enum12.Val2.swigValue(), 1122);
val = enumCheck(Class1.Enum12.Val3.swigValue(), val);
val = enumCheck(Class1.Enum12.Val4.swigValue(), val);
val = enumCheck(Class1.Enum12.Val5c.swigValue(), 1121);
val = enumCheck(Class1.Enum12.Val6c.swigValue(), val);

val = 0;
val = enumCheck(Class1.Enum13.Val1.swigValue(), 1131);
val = enumCheck(Class1.Enum13.Val2.swigValue(), 1132);
val = enumCheck(Class1.Enum13.Val3.swigValue(), val);
val = enumCheck(Class1.Enum13.Val4.swigValue(), val);
val = enumCheck(Class1.Enum13.Val5d.swigValue(), 1131);
val = enumCheck(Class1.Enum13.Val6d.swigValue(), val);

val = 0;
val = enumCheck(Class1.Enum14.Val1.swigValue(), 1141);
val = enumCheck(Class1.Enum14.Val2.swigValue(), 1142);
val = enumCheck(Class1.Enum14.Val3.swigValue(), val);
val = enumCheck(Class1.Enum14.Val4.swigValue(), val);
val = enumCheck(Class1.Enum14.Val5e.swigValue(), 1141);
val = enumCheck(Class1.Enum14.Val6e.swigValue(), val);

val = 0;
val = enumCheck(Class1.Struct1.Enum12.Val1.swigValue(), 3121);
val = enumCheck(Class1.Struct1.Enum12.Val2.swigValue(), 3122);
val = enumCheck(Class1.Struct1.Enum12.Val3.swigValue(), val);
val = enumCheck(Class1.Struct1.Enum12.Val4.swigValue(), val);
val = enumCheck(Class1.Struct1.Enum12.Val5f.swigValue(), 3121);
val = enumCheck(Class1.Struct1.Enum12.Val6f.swigValue(), val);

val = 0;
val = enumCheck(Class1.Struct1.Enum13.Val1.swigValue(), 3131);
val = enumCheck(Class1.Struct1.Enum13.Val2.swigValue(), 3132);
val = enumCheck(Class1.Struct1.Enum13.Val3.swigValue(), val);
val = enumCheck(Class1.Struct1.Enum13.Val4.swigValue(), val);

val = 0;
val = enumCheck(Class1.Struct1.Enum14.Val1.swigValue(), 3141);
val = enumCheck(Class1.Struct1.Enum14.Val2.swigValue(), 3142);
val = enumCheck(Class1.Struct1.Enum14.Val3.swigValue(), val);
val = enumCheck(Class1.Struct1.Enum14.Val4.swigValue(), val);
val = enumCheck(Class1.Struct1.Enum14.Val5g.swigValue(), 3141);
val = enumCheck(Class1.Struct1.Enum14.Val6g.swigValue(), val);

val = 0;
val = enumCheck(Class2.Enum12.Val1.swigValue(), 2121);
val = enumCheck(Class2.Enum12.Val2.swigValue(), 2122);
val = enumCheck(Class2.Enum12.Val3.swigValue(), val);
val = enumCheck(Class2.Enum12.Val4.swigValue(), val);
val = enumCheck(Class2.Enum12.Val5h.swigValue(), 2121);
val = enumCheck(Class2.Enum12.Val6h.swigValue(), val);

val = 0;
val = enumCheck(Class2.Enum13.Val1.swigValue(), 2131);
val = enumCheck(Class2.Enum13.Val2.swigValue(), 2132);
val = enumCheck(Class2.Enum13.Val3.swigValue(), val);
val = enumCheck(Class2.Enum13.Val4.swigValue(), val);
val = enumCheck(Class2.Enum13.Val5i.swigValue(), 2131);
val = enumCheck(Class2.Enum13.Val6i.swigValue(), val);

val = 0;
val = enumCheck(Class2.Enum14.Val1.swigValue(), 2141);
val = enumCheck(Class2.Enum14.Val2.swigValue(), 2142);
val = enumCheck(Class2.Enum14.Val3.swigValue(), val);
val = enumCheck(Class2.Enum14.Val4.swigValue(), val);
val = enumCheck(Class2.Enum14.Val5j.swigValue(), 2141);
val = enumCheck(Class2.Enum14.Val6j.swigValue(), val);

val = 0;
val = enumCheck(Class2.Struct1.Enum12.Val1.swigValue(), 4121);
val = enumCheck(Class2.Struct1.Enum12.Val2.swigValue(), 4122);
val = enumCheck(Class2.Struct1.Enum12.Val3.swigValue(), val);
val = enumCheck(Class2.Struct1.Enum12.Val4.swigValue(), val);
val = enumCheck(Class2.Struct1.Enum12.Val5k.swigValue(), 4121);
val = enumCheck(Class2.Struct1.Enum12.Val6k.swigValue(), val);

val = 0;
val = enumCheck(Class2.Struct1.Enum13.Val1.swigValue(), 4131);
val = enumCheck(Class2.Struct1.Enum13.Val2.swigValue(), 4132);
val = enumCheck(Class2.Struct1.Enum13.Val3.swigValue(), val);
val = enumCheck(Class2.Struct1.Enum13.Val4.swigValue(), val);
val = enumCheck(Class2.Struct1.Enum13.Val5l.swigValue(), 4131);
val = enumCheck(Class2.Struct1.Enum13.Val6l.swigValue(), val);

val = 0;
val = enumCheck(Class2.Struct1.Enum14.Val1.swigValue(), 4141);
val = enumCheck(Class2.Struct1.Enum14.Val2.swigValue(), 4142);
val = enumCheck(Class2.Struct1.Enum14.Val3.swigValue(), val);
val = enumCheck(Class2.Struct1.Enum14.Val4.swigValue(), val);
val = enumCheck(Class2.Struct1.Enum14.Val5m.swigValue(), 4141);
val = enumCheck(Class2.Struct1.Enum14.Val6m.swigValue(), val);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
import cpp11_strongly_typed_enumerations_simple.*;

public class cpp11_strongly_typed_enumerations_simple_runme {

static {
try {
System.loadLibrary("cpp11_strongly_typed_enumerations_simple");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
System.exit(1);
}
}

public static int enumCheck(int actual, int expected) {
if (actual != expected)
throw new RuntimeException("Enum value mismatch. Expected " + expected + " Actual: " + actual);
return expected + 1;
}

public static void main(String argv[]) {
int val = 0;
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum1_Val1, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum1_Val2, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum1_Val3, 13);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum1_Val4, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum1_Val5a, 13);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum1_Val6a, val);

val = 0;
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum2_Val1, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum2_Val2, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum2_Val3, 23);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum2_Val4, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum2_Val5b, 23);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum2_Val6b, val);

val = 0;
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Val1, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Val2, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Val3, 43);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Val4, val);

val = 0;
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum5_Val1, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum5_Val2, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum5_Val3, 53);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum5_Val4, val);

val = 0;
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum6_Val1, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum6_Val2, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum6_Val3, 63);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum6_Val4, val);

val = 0;
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum7td_Val1, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum7td_Val2, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum7td_Val3, 73);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum7td_Val4, val);

val = 0;
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum8_Val1, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum8_Val2, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum8_Val3, 83);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum8_Val4, val);

val = 0;
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum10_Val1, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum10_Val2, val);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum10_Val3, 103);
val = enumCheck(cpp11_strongly_typed_enumerations_simple.Enum10_Val4, val);

val = 0;
val = enumCheck(Class1.Enum12_Val1, 1121);
val = enumCheck(Class1.Enum12_Val2, 1122);
val = enumCheck(Class1.Enum12_Val3, val);
val = enumCheck(Class1.Enum12_Val4, val);
val = enumCheck(Class1.Enum12_Val5c, 1121);
val = enumCheck(Class1.Enum12_Val6c, val);

val = 0;
val = enumCheck(Class1.Val1, 1131);
val = enumCheck(Class1.Val2, 1132);
val = enumCheck(Class1.Val3, val);
val = enumCheck(Class1.Val4, val);
val = enumCheck(Class1.Val5d, 1131);
val = enumCheck(Class1.Val6d, val);

val = 0;
val = enumCheck(Class1.Enum14_Val1, 1141);
val = enumCheck(Class1.Enum14_Val2, 1142);
val = enumCheck(Class1.Enum14_Val3, val);
val = enumCheck(Class1.Enum14_Val4, val);
val = enumCheck(Class1.Enum14_Val5e, 1141);
val = enumCheck(Class1.Enum14_Val6e, val);

val = 0;
val = enumCheck(Class1.Struct1.Enum12_Val1, 3121);
val = enumCheck(Class1.Struct1.Enum12_Val2, 3122);
val = enumCheck(Class1.Struct1.Enum12_Val3, val);
val = enumCheck(Class1.Struct1.Enum12_Val4, val);
val = enumCheck(Class1.Struct1.Enum12_Val5f, 3121);
val = enumCheck(Class1.Struct1.Enum12_Val6f, val);

val = 0;
val = enumCheck(Class1.Struct1.Val1, 3131);
val = enumCheck(Class1.Struct1.Val2, 3132);
val = enumCheck(Class1.Struct1.Val3, val);
val = enumCheck(Class1.Struct1.Val4, val);

val = 0;
val = enumCheck(Class1.Struct1.Enum14_Val1, 3141);
val = enumCheck(Class1.Struct1.Enum14_Val2, 3142);
val = enumCheck(Class1.Struct1.Enum14_Val3, val);
val = enumCheck(Class1.Struct1.Enum14_Val4, val);
val = enumCheck(Class1.Struct1.Enum14_Val5g, 3141);
val = enumCheck(Class1.Struct1.Enum14_Val6g, val);

val = 0;
val = enumCheck(Class2.Enum12_Val1, 2121);
val = enumCheck(Class2.Enum12_Val2, 2122);
val = enumCheck(Class2.Enum12_Val3, val);
val = enumCheck(Class2.Enum12_Val4, val);
val = enumCheck(Class2.Enum12_Val5h, 2121);
val = enumCheck(Class2.Enum12_Val6h, val);

val = 0;
val = enumCheck(Class2.Val1, 2131);
val = enumCheck(Class2.Val2, 2132);
val = enumCheck(Class2.Val3, val);
val = enumCheck(Class2.Val4, val);
val = enumCheck(Class2.Val5i, 2131);
val = enumCheck(Class2.Val6i, val);

val = 0;
val = enumCheck(Class2.Enum14_Val1, 2141);
val = enumCheck(Class2.Enum14_Val2, 2142);
val = enumCheck(Class2.Enum14_Val3, val);
val = enumCheck(Class2.Enum14_Val4, val);
val = enumCheck(Class2.Enum14_Val5j, 2141);
val = enumCheck(Class2.Enum14_Val6j, val);

val = 0;
val = enumCheck(Class2.Struct1.Enum12_Val1, 4121);
val = enumCheck(Class2.Struct1.Enum12_Val2, 4122);
val = enumCheck(Class2.Struct1.Enum12_Val3, val);
val = enumCheck(Class2.Struct1.Enum12_Val4, val);
val = enumCheck(Class2.Struct1.Enum12_Val5k, 4121);
val = enumCheck(Class2.Struct1.Enum12_Val6k, val);

val = 0;
val = enumCheck(Class2.Struct1.Val1, 4131);
val = enumCheck(Class2.Struct1.Val2, 4132);
val = enumCheck(Class2.Struct1.Val3, val);
val = enumCheck(Class2.Struct1.Val4, val);
val = enumCheck(Class2.Struct1.Val5l, 4131);
val = enumCheck(Class2.Struct1.Val6l, val);

val = 0;
val = enumCheck(Class2.Struct1.Enum14_Val1, 4141);
val = enumCheck(Class2.Struct1.Enum14_Val2, 4142);
val = enumCheck(Class2.Struct1.Enum14_Val3, val);
val = enumCheck(Class2.Struct1.Enum14_Val4, val);
val = enumCheck(Class2.Struct1.Enum14_Val5m, 4141);
val = enumCheck(Class2.Struct1.Enum14_Val6m, val);
}
}

0 comments on commit 49761fe

Please sign in to comment.