| |
| 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"); |
| } |
| } |