diff options
Diffstat (limited to 'Examples/test-suite/java/cpp11_assign_delete_runme.java')
-rw-r--r-- | Examples/test-suite/java/cpp11_assign_delete_runme.java | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/Examples/test-suite/java/cpp11_assign_delete_runme.java b/Examples/test-suite/java/cpp11_assign_delete_runme.java new file mode 100644 index 000000000..c15632457 --- /dev/null +++ b/Examples/test-suite/java/cpp11_assign_delete_runme.java @@ -0,0 +1,118 @@ + +import cpp11_assign_delete.*; + +public class cpp11_assign_delete_runme { + + static { + try { + System.loadLibrary("cpp11_assign_delete"); + } 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[]) { + MemberVars mv = new MemberVars(); + MemberArrayVars mav = new MemberArrayVars(); + + // (1) Test directly non-assignable member variables + // These will only have getters + AssignPublic a1 = mv.getMemberPublic(); + AssignProtected a2 = mv.getMemberProtected(); + AssignPrivate a3 = mv.getMemberPrivate(); + + AssignPublic ma1 = mav.getArrayMemberPublic(); + AssignProtected ma2 = mav.getArrayMemberProtected(); + AssignPrivate ma3 = mav.getArrayMemberPrivate(); + + // (2) Test indirectly non-assignable member variables via inheritance + InheritedMemberVars imv = new InheritedMemberVars(); + // These will only have getters + AssignPublicDerived a4 = imv.getMemberPublicDerived(); + AssignProtectedDerived a5 = imv.getMemberProtectedDerived(); + AssignPrivateDerived a6 = imv.getMemberPrivateDerived(); + + AssignPublicDerived sa4 = InheritedMemberVars.getStaticMemberPublicDerived(); + AssignProtectedDerived sa5 = InheritedMemberVars.getStaticMemberProtectedDerived(); + AssignPrivateDerived sa6 = InheritedMemberVars.getStaticMemberPrivateDerived(); + + AssignPublicDerived ga4 = cpp11_assign_delete.getGlobalPublicDerived(); + AssignProtectedDerived ga5 = cpp11_assign_delete.getGlobalProtectedDerived(); + AssignPrivateDerived ga6 = cpp11_assign_delete.getGlobalPrivateDerived(); + + // These will have getters and setters + AssignPublicDerivedSettable a7 = imv.getMemberPublicDerivedSettable(); + imv.setMemberPublicDerivedSettable(a7); + AssignProtectedDerivedSettable a8 = imv.getMemberProtectedDerivedSettable(); + imv.setMemberProtectedDerivedSettable(a8); + AssignPrivateDerivedSettable a9 = imv.getMemberPrivateDerivedSettable(); + imv.setMemberPrivateDerivedSettable(a9); + + AssignPublicDerivedSettable sa7 = InheritedMemberVars.getStaticMemberPublicDerivedSettable(); + InheritedMemberVars.setStaticMemberPublicDerivedSettable(sa7); + AssignProtectedDerivedSettable sa8 = InheritedMemberVars.getStaticMemberProtectedDerivedSettable(); + InheritedMemberVars.setStaticMemberProtectedDerivedSettable(sa8); + AssignPrivateDerivedSettable sa9 = InheritedMemberVars.getStaticMemberPrivateDerivedSettable(); + InheritedMemberVars.setStaticMemberPrivateDerivedSettable(sa9); + + AssignPublicDerivedSettable ga7 = cpp11_assign_delete.getGlobalPublicDerivedSettable(); + cpp11_assign_delete.setGlobalPublicDerivedSettable(ga7); + AssignProtectedDerivedSettable ga8 = cpp11_assign_delete.getGlobalProtectedDerivedSettable(); + cpp11_assign_delete.setGlobalProtectedDerivedSettable(ga8); + AssignPrivateDerivedSettable ga9 = cpp11_assign_delete.getGlobalPrivateDerivedSettable(); + cpp11_assign_delete.setGlobalPrivateDerivedSettable(ga9); + + // (3) Test indirectly non-assignable member variables via classes that themselves have non-assignable member variables + { + MembersMemberVars m = new MembersMemberVars(); + + // These will only have getters + MemberPublicVar mpv1 = m.getMemberPublic(); + MemberProtectedVar mpv2 = m.getMemberProtected(); + MemberPrivateVar mpv3 = m.getMemberPrivate(); + + MemberPublicVar smpv1 = StaticMembersMemberVars.getStaticMemberPublic(); + MemberProtectedVar smpv2 = StaticMembersMemberVars.getStaticMemberProtected(); + MemberPrivateVar smpv3 = StaticMembersMemberVars.getStaticMemberPrivate(); + + MemberPublicVar gmpv1 = cpp11_assign_delete.getGlobalMemberPublic(); + MemberProtectedVar gmpv2 = cpp11_assign_delete.getGlobalMemberProtected(); + MemberPrivateVar gmpv3 = cpp11_assign_delete.getGlobalMemberPrivate(); + + // Setters and getters available + StaticMembersMemberVarsHolder smmvh = new StaticMembersMemberVarsHolder(); + StaticMembersMemberVars member = smmvh.getMember(); + smmvh.setMember(member); + + StaticMembersMemberVars smmv = cpp11_assign_delete.getGlobalStaticMembersMemberVars(); + cpp11_assign_delete.setGlobalStaticMembersMemberVars(smmv); + } + + // (4) Test indirectly non-assignable member variables via classes that themselves have non-assignable array member variables + { + MembersMemberArrayVars m = new MembersMemberArrayVars(); + + // These will only have getters + MemberPublicArrayVar mpv1 = m.getMemberPublic(); + MemberProtectedArrayVar mpv2 = m.getMemberProtected(); + MemberPrivateArrayVar mpv3 = m.getMemberPrivate(); + + MemberPublicArrayVar smpv1 = StaticMembersMemberArrayVars.getStaticMemberPublic(); + MemberProtectedArrayVar smpv2 = StaticMembersMemberArrayVars.getStaticMemberProtected(); + MemberPrivateArrayVar smpv3 = StaticMembersMemberArrayVars.getStaticMemberPrivate(); + + MemberPublicArrayVar gmpv1 = cpp11_assign_delete.getGlobalArrayMemberPublic(); + MemberProtectedArrayVar gmpv2 = cpp11_assign_delete.getGlobalArrayMemberProtected(); + MemberPrivateArrayVar gmpv3 = cpp11_assign_delete.getGlobalArrayMemberPrivate(); + + // Setters and getters available + StaticMembersMemberArrayVarsHolder smmvh = new StaticMembersMemberArrayVarsHolder(); + StaticMembersMemberArrayVars member = smmvh.getMember(); + smmvh.setMember(member); + + StaticMembersMemberArrayVars smmv = cpp11_assign_delete.getGlobalStaticMembersMemberArrayVars(); + cpp11_assign_delete.setGlobalStaticMembersMemberArrayVars(smmv); + } + } +} |