| import nested_structs.*; | |
| public class nested_structs_runme { | |
| static { | |
| try { | |
| System.loadLibrary("nested_structs"); | |
| } 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 void main(String argv[]) { | |
| Outer outer = new Outer(); | |
| nested_structs.setValues(outer, 10); | |
| Outer_inner1 inner1 = outer.getInner1(); | |
| Outer_inner1 inner2 = outer.getInner2(); | |
| Outer_inner1 inner3 = outer.getInner3(); | |
| Outer_inner1 inner4 = outer.getInner4(); | |
| if (inner1.getVal() != 10) throw new RuntimeException("failed inner1"); | |
| if (inner2.getVal() != 20) throw new RuntimeException("failed inner2"); | |
| if (inner3.getVal() != 20) throw new RuntimeException("failed inner3"); | |
| if (inner4.getVal() != 40) throw new RuntimeException("failed inner4"); | |
| Named inside1 = outer.getInside1(); | |
| Named inside2 = outer.getInside2(); | |
| Named inside3 = outer.getInside3(); | |
| Named inside4 = outer.getInside4(); | |
| if (inside1.getVal() != 100) throw new RuntimeException("failed inside1"); | |
| if (inside2.getVal() != 200) throw new RuntimeException("failed inside2"); | |
| if (inside3.getVal() != 200) throw new RuntimeException("failed inside3"); | |
| if (inside4.getVal() != 400) throw new RuntimeException("failed inside4"); | |
| outer.getInner1().setVal(11); | |
| if (inner1.getVal() != 11) throw new RuntimeException("failed inner1 assignment"); | |
| Named named = new Named(); | |
| named.setVal(22); | |
| outer.setInside2(named); | |
| if (outer.getInside2().getVal() != 22) throw new RuntimeException("failed inside2 assignment"); | |
| } | |
| } |