diff options
Diffstat (limited to 'java/test/Ice/slicing/objects/csrc/AllTests.java')
-rw-r--r-- | java/test/Ice/slicing/objects/csrc/AllTests.java | 4296 |
1 files changed, 2148 insertions, 2148 deletions
diff --git a/java/test/Ice/slicing/objects/csrc/AllTests.java b/java/test/Ice/slicing/objects/csrc/AllTests.java index 6a74f627600..6e0c9b244d6 100644 --- a/java/test/Ice/slicing/objects/csrc/AllTests.java +++ b/java/test/Ice/slicing/objects/csrc/AllTests.java @@ -22,967 +22,967 @@ public class AllTests private static class Callback { - Callback() - { - _called = false; - } - - public synchronized boolean - check() - { - while(!_called) - { - try - { - wait(5000); - } - catch(InterruptedException ex) - { - continue; - } - - if(!_called) - { - return false; // Must be timeout. - } - } - - _called = false; - return true; - } - - public synchronized void - called() - { - assert(!_called); - _called = true; - notify(); - } - - private boolean _called; + Callback() + { + _called = false; + } + + public synchronized boolean + check() + { + while(!_called) + { + try + { + wait(5000); + } + catch(InterruptedException ex) + { + continue; + } + + if(!_called) + { + return false; // Must be timeout. + } + } + + _called = false; + return true; + } + + public synchronized void + called() + { + assert(!_called); + _called = true; + notify(); + } + + private boolean _called; } private static class AMI_Test_SBaseAsObjectI extends AMI_TestIntf_SBaseAsObject { public void - ice_response(Ice.Object o) - { - test(o != null); - test(o.ice_id().equals("::Test::SBase")); - SBase sb = (SBase)o; - test(sb != null); - test(sb.sb.equals("SBase.sb")); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(Ice.Object o) + { + test(o != null); + test(o.ice_id().equals("::Test::SBase")); + SBase sb = (SBase)o; + test(sb != null); + test(sb.sb.equals("SBase.sb")); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_SBaseAsSBaseI extends AMI_TestIntf_SBaseAsSBase { public void - ice_response(SBase sb) - { - test(sb.sb.equals("SBase.sb")); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(SBase sb) + { + test(sb.sb.equals("SBase.sb")); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_SBSKnownDerivedAsSBaseI extends AMI_TestIntf_SBSKnownDerivedAsSBase { public void - ice_response(SBase sb) - { - test(sb.sb.equals("SBSKnownDerived.sb")); - SBSKnownDerived sbskd = (SBSKnownDerived)sb; - test(sbskd != null); - test(sbskd.sbskd.equals("SBSKnownDerived.sbskd")); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(SBase sb) + { + test(sb.sb.equals("SBSKnownDerived.sb")); + SBSKnownDerived sbskd = (SBSKnownDerived)sb; + test(sbskd != null); + test(sbskd.sbskd.equals("SBSKnownDerived.sbskd")); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_SBSKnownDerivedAsSBSKnownDerivedI - extends AMI_TestIntf_SBSKnownDerivedAsSBSKnownDerived + extends AMI_TestIntf_SBSKnownDerivedAsSBSKnownDerived { public void - ice_response(SBSKnownDerived sbskd) - { - test(sbskd.sbskd.equals("SBSKnownDerived.sbskd")); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(SBSKnownDerived sbskd) + { + test(sbskd.sbskd.equals("SBSKnownDerived.sbskd")); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_SBSUnknownDerivedAsSBaseI extends AMI_TestIntf_SBSUnknownDerivedAsSBase { public void - ice_response(SBase sb) - { - test(sb.sb.equals("SBSUnknownDerived.sb")); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(SBase sb) + { + test(sb.sb.equals("SBSUnknownDerived.sb")); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_SUnknownAsObjectI extends AMI_TestIntf_SUnknownAsObject { public void - ice_response(Ice.Object o) - { - test(false); - } + ice_response(Ice.Object o) + { + test(false); + } - public void - ice_exception(Ice.LocalException exc) - { + public void + ice_exception(Ice.LocalException exc) + { - test(exc.ice_name().equals("Ice::NoObjectFactoryException")); - callback.called(); - } + test(exc.ice_name().equals("Ice::NoObjectFactoryException")); + callback.called(); + } - public void - ice_exception(Ice.UserException exc) - { - test(false); - } + public void + ice_exception(Ice.UserException exc) + { + test(false); + } - public boolean - check() - { - return callback.check(); - } + public boolean + check() + { + return callback.check(); + } - private Callback callback = new Callback(); + private Callback callback = new Callback(); } private static class AMI_Test_oneElementCycleI extends AMI_TestIntf_oneElementCycle { public void - ice_response(B b) - { - test(b != null); - test(b.ice_id().equals("::Test::B")); - test(b.sb.equals("B1.sb")); - test(b.pb == b); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(B b) + { + test(b != null); + test(b.ice_id().equals("::Test::B")); + test(b.sb.equals("B1.sb")); + test(b.pb == b); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_twoElementCycleI extends AMI_TestIntf_twoElementCycle { public void - ice_response(B b1) - { - test(b1 != null); - test(b1.ice_id().equals("::Test::B")); - test(b1.sb.equals("B1.sb")); - - B b2 = b1.pb; - test(b2 != null); - test(b2.ice_id().equals("::Test::B")); - test(b2.sb.equals("B2.sb")); - test(b2.pb == b1); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(B b1) + { + test(b1 != null); + test(b1.ice_id().equals("::Test::B")); + test(b1.sb.equals("B1.sb")); + + B b2 = b1.pb; + test(b2 != null); + test(b2.ice_id().equals("::Test::B")); + test(b2.sb.equals("B2.sb")); + test(b2.pb == b1); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_D1AsBI extends AMI_TestIntf_D1AsB { public void - ice_response(B b1) - { - test(b1 != null); - test(b1.ice_id().equals("::Test::D1")); - test(b1.sb.equals("D1.sb")); - test(b1.pb != null); - test(b1.pb != b1); - D1 d1 = (D1)b1; - test(d1 != null); - test(d1.sd1.equals("D1.sd1")); - test(d1.pd1 != null); - test(d1.pd1 != b1); - test(b1.pb == d1.pd1); - - B b2 = b1.pb; - test(b2 != null); - test(b2.pb == b1); - test(b2.sb.equals("D2.sb")); - test(b2.ice_id().equals("::Test::B")); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(B b1) + { + test(b1 != null); + test(b1.ice_id().equals("::Test::D1")); + test(b1.sb.equals("D1.sb")); + test(b1.pb != null); + test(b1.pb != b1); + D1 d1 = (D1)b1; + test(d1 != null); + test(d1.sd1.equals("D1.sd1")); + test(d1.pd1 != null); + test(d1.pd1 != b1); + test(b1.pb == d1.pd1); + + B b2 = b1.pb; + test(b2 != null); + test(b2.pb == b1); + test(b2.sb.equals("D2.sb")); + test(b2.ice_id().equals("::Test::B")); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_D1AsD1I extends AMI_TestIntf_D1AsD1 { public void - ice_response(D1 d1) - { - test(d1 != null); - test(d1.ice_id().equals("::Test::D1")); - test(d1.sb.equals("D1.sb")); - test(d1.pb != null); - test(d1.pb != d1); - - B b2 = d1.pb; - test(b2 != null); - test(b2.ice_id().equals("::Test::B")); - test(b2.sb.equals("D2.sb")); - test(b2.pb == d1); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(D1 d1) + { + test(d1 != null); + test(d1.ice_id().equals("::Test::D1")); + test(d1.sb.equals("D1.sb")); + test(d1.pb != null); + test(d1.pb != d1); + + B b2 = d1.pb; + test(b2 != null); + test(b2.ice_id().equals("::Test::B")); + test(b2.sb.equals("D2.sb")); + test(b2.pb == d1); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_D2AsBI extends AMI_TestIntf_D2AsB { public void - ice_response(B b2) - { - test(b2 != null); - test(b2.ice_id().equals("::Test::B")); - test(b2.sb.equals("D2.sb")); - test(b2.pb != null); - test(b2.pb != b2); - - B b1 = b2.pb; - test(b1 != null); - test(b1.ice_id().equals("::Test::D1")); - test(b1.sb.equals("D1.sb")); - test(b1.pb == b2); - D1 d1 = (D1)b1; - test(d1 != null); - test(d1.sd1.equals("D1.sd1")); - test(d1.pd1 == b2); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(B b2) + { + test(b2 != null); + test(b2.ice_id().equals("::Test::B")); + test(b2.sb.equals("D2.sb")); + test(b2.pb != null); + test(b2.pb != b2); + + B b1 = b2.pb; + test(b1 != null); + test(b1.ice_id().equals("::Test::D1")); + test(b1.sb.equals("D1.sb")); + test(b1.pb == b2); + D1 d1 = (D1)b1; + test(d1 != null); + test(d1.sd1.equals("D1.sd1")); + test(d1.pd1 == b2); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_paramTest1I extends AMI_TestIntf_paramTest1 { public void - ice_response(B b1, B b2) - { - test(b1 != null); - test(b1.ice_id().equals("::Test::D1")); - test(b1.sb.equals("D1.sb")); - test(b1.pb == b2); - D1 d1 = (D1)b1; - test(d1 != null); - test(d1.sd1.equals("D1.sd1")); - test(d1.pd1 == b2); - - test(b2 != null); - test(b2.ice_id().equals("::Test::B")); // No factory, must be sliced - test(b2.sb.equals("D2.sb")); - test(b2.pb == b1); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(B b1, B b2) + { + test(b1 != null); + test(b1.ice_id().equals("::Test::D1")); + test(b1.sb.equals("D1.sb")); + test(b1.pb == b2); + D1 d1 = (D1)b1; + test(d1 != null); + test(d1.sd1.equals("D1.sd1")); + test(d1.pd1 == b2); + + test(b2 != null); + test(b2.ice_id().equals("::Test::B")); // No factory, must be sliced + test(b2.sb.equals("D2.sb")); + test(b2.pb == b1); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_paramTest2I extends AMI_TestIntf_paramTest2 { public void - ice_response(B b2, B b1) - { - test(b1 != null); - test(b1.ice_id().equals("::Test::D1")); - test(b1.sb.equals("D1.sb")); - test(b1.pb == b2); - D1 d1 = (D1)b1; - test(d1 != null); - test(d1.sd1.equals("D1.sd1")); - test(d1.pd1 == b2); - - test(b2 != null); - test(b2.ice_id().equals("::Test::B")); // No factory, must be sliced - test(b2.sb.equals("D2.sb")); - test(b2.pb == b1); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(B b2, B b1) + { + test(b1 != null); + test(b1.ice_id().equals("::Test::D1")); + test(b1.sb.equals("D1.sb")); + test(b1.pb == b2); + D1 d1 = (D1)b1; + test(d1 != null); + test(d1.sd1.equals("D1.sd1")); + test(d1.pd1 == b2); + + test(b2 != null); + test(b2.ice_id().equals("::Test::B")); // No factory, must be sliced + test(b2.sb.equals("D2.sb")); + test(b2.pb == b1); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_returnTest1I extends AMI_TestIntf_returnTest1 { public void - ice_response(B r, B p1, B p2) - { - test(r == p1); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(B r, B p1, B p2) + { + test(r == p1); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_returnTest2I extends AMI_TestIntf_returnTest2 { public void - ice_response(B r, B p1, B p2) - { - test(r == p1); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(B r, B p1, B p2) + { + test(r == p1); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_returnTest3I extends AMI_TestIntf_returnTest3 { public void - ice_response(B b) - { - r = b; - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); - - public B r; + ice_response(B b) + { + r = b; + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); + + public B r; } private static class AMI_Test_paramTest3I extends AMI_TestIntf_paramTest3 { public void - ice_response(B ret, B p1, B p2) - { - test(p1 != null); - test(p1.sb.equals("D2.sb (p1 1)")); - test(p1.pb == null); - test(p1.ice_id().equals("::Test::B")); - - test(p2 != null); - test(p2.sb.equals("D2.sb (p2 1)")); - test(p2.pb == null); - test(p2.ice_id().equals("::Test::B")); - - test(ret != null); - test(ret.sb.equals("D1.sb (p2 2)")); - test(ret.pb == null); - test(ret.ice_id().equals("::Test::D1")); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(B ret, B p1, B p2) + { + test(p1 != null); + test(p1.sb.equals("D2.sb (p1 1)")); + test(p1.pb == null); + test(p1.ice_id().equals("::Test::B")); + + test(p2 != null); + test(p2.sb.equals("D2.sb (p2 1)")); + test(p2.pb == null); + test(p2.ice_id().equals("::Test::B")); + + test(ret != null); + test(ret.sb.equals("D1.sb (p2 2)")); + test(ret.pb == null); + test(ret.ice_id().equals("::Test::D1")); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_paramTest4I extends AMI_TestIntf_paramTest4 { public void - ice_response(B ret, B b) - { - test(b != null); - test(b.sb.equals("D4.sb (1)")); - test(b.pb == null); - test(b.ice_id().equals("::Test::B")); - - test(ret != null); - test(ret.sb.equals("B.sb (2)")); - test(ret.pb == null); - test(ret.ice_id().equals("::Test::B")); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(B ret, B b) + { + test(b != null); + test(b.sb.equals("D4.sb (1)")); + test(b.pb == null); + test(b.ice_id().equals("::Test::B")); + + test(ret != null); + test(ret.sb.equals("B.sb (2)")); + test(ret.pb == null); + test(ret.ice_id().equals("::Test::B")); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_sequenceTestI extends AMI_TestIntf_sequenceTest { public void - ice_response(SS ss) - { - r = ss; - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); - - public SS r; + ice_response(SS ss) + { + r = ss; + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); + + public SS r; } private static class AMI_Test_dictionaryTestI extends AMI_TestIntf_dictionaryTest { public void - ice_response(java.util.Map r, java.util.Map bout) - { - this.r = r; - this.bout = bout; - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); - - public java.util.Map r; - public java.util.Map bout; + ice_response(java.util.Map r, java.util.Map bout) + { + this.r = r; + this.bout = bout; + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); + + public java.util.Map r; + public java.util.Map bout; } private static class AMI_Test_throwBaseAsBaseI extends AMI_TestIntf_throwBaseAsBase { public void - ice_response() - { - test(false); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - try - { - BaseException e = (BaseException)exc; - test(e.ice_name().equals("Test::BaseException")); - test(e.sbe.equals("sbe")); - test(e.pb != null); - test(e.pb.sb.equals("sb")); - test(e.pb.pb == e.pb); - } - catch(Exception e) - { - test(false); - } - callback.called(); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response() + { + test(false); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + try + { + BaseException e = (BaseException)exc; + test(e.ice_name().equals("Test::BaseException")); + test(e.sbe.equals("sbe")); + test(e.pb != null); + test(e.pb.sb.equals("sb")); + test(e.pb.pb == e.pb); + } + catch(Exception e) + { + test(false); + } + callback.called(); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_throwDerivedAsBaseI extends AMI_TestIntf_throwDerivedAsBase { public void - ice_response() - { - test(false); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - try - { - DerivedException e = (DerivedException)exc; - test(e.ice_name().equals("Test::DerivedException")); - test(e.sbe.equals("sbe")); - test(e.pb != null); - test(e.pb.sb.equals("sb1")); - test(e.pb.pb == e.pb); - test(e.sde.equals("sde1")); - test(e.pd1 != null); - test(e.pd1.sb.equals("sb2")); - test(e.pd1.pb == e.pd1); - test(e.pd1.sd1.equals("sd2")); - test(e.pd1.pd1 == e.pd1); - } - catch(Exception e) - { - test(false); - } - callback.called(); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response() + { + test(false); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + try + { + DerivedException e = (DerivedException)exc; + test(e.ice_name().equals("Test::DerivedException")); + test(e.sbe.equals("sbe")); + test(e.pb != null); + test(e.pb.sb.equals("sb1")); + test(e.pb.pb == e.pb); + test(e.sde.equals("sde1")); + test(e.pd1 != null); + test(e.pd1.sb.equals("sb2")); + test(e.pd1.pb == e.pd1); + test(e.pd1.sd1.equals("sd2")); + test(e.pd1.pd1 == e.pd1); + } + catch(Exception e) + { + test(false); + } + callback.called(); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_throwDerivedAsDerivedI extends AMI_TestIntf_throwDerivedAsDerived { public void - ice_response() - { - test(false); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - try - { - DerivedException e = (DerivedException)exc; - test(e.ice_name().equals("Test::DerivedException")); - test(e.sbe.equals("sbe")); - test(e.pb != null); - test(e.pb.sb.equals("sb1")); - test(e.pb.pb == e.pb); - test(e.sde.equals("sde1")); - test(e.pd1 != null); - test(e.pd1.sb.equals("sb2")); - test(e.pd1.pb == e.pd1); - test(e.pd1.sd1.equals("sd2")); - test(e.pd1.pd1 == e.pd1); - } - catch(Exception e) - { - test(false); - } - callback.called(); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response() + { + test(false); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + try + { + DerivedException e = (DerivedException)exc; + test(e.ice_name().equals("Test::DerivedException")); + test(e.sbe.equals("sbe")); + test(e.pb != null); + test(e.pb.sb.equals("sb1")); + test(e.pb.pb == e.pb); + test(e.sde.equals("sde1")); + test(e.pd1 != null); + test(e.pd1.sb.equals("sb2")); + test(e.pd1.pb == e.pd1); + test(e.pd1.sd1.equals("sd2")); + test(e.pd1.pd1 == e.pd1); + } + catch(Exception e) + { + test(false); + } + callback.called(); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_throwUnknownDerivedAsBaseI extends AMI_TestIntf_throwUnknownDerivedAsBase { public void - ice_response() - { - test(false); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - try - { - BaseException e = (BaseException)exc; - test(e.ice_name().equals("Test::BaseException")); - test(e.sbe.equals("sbe")); - test(e.pb != null); - test(e.pb.sb.equals("sb d2")); - test(e.pb.pb == e.pb); - } - catch(Exception e) - { - test(false); - } - callback.called(); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response() + { + test(false); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + try + { + BaseException e = (BaseException)exc; + test(e.ice_name().equals("Test::BaseException")); + test(e.sbe.equals("sbe")); + test(e.pb != null); + test(e.pb.sb.equals("sb d2")); + test(e.pb.pb == e.pb); + } + catch(Exception e) + { + test(false); + } + callback.called(); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } private static class AMI_Test_useForwardI extends AMI_TestIntf_useForward { public void - ice_response(Forward f) - { - test(f != null); - callback.called(); - } - - public void - ice_exception(Ice.LocalException exc) - { - test(false); - } - - public void - ice_exception(Ice.UserException exc) - { - test(false); - } - - public boolean - check() - { - return callback.check(); - } - - private Callback callback = new Callback(); + ice_response(Forward f) + { + test(f != null); + callback.called(); + } + + public void + ice_exception(Ice.LocalException exc) + { + test(false); + } + + public void + ice_exception(Ice.UserException exc) + { + test(false); + } + + public boolean + check() + { + return callback.check(); + } + + private Callback callback = new Callback(); } public static TestIntfPrx @@ -1002,1323 +1002,1323 @@ public class AllTests test(test.equals(base)); System.out.println("ok"); - System.out.print("base as Object... "); - System.out.flush(); - { - Ice.Object o; - SBase sb = null; - try - { - o = test.SBaseAsObject(); - test(o != null); - test(o.ice_id().equals("::Test::SBase")); - sb = (SBase)o; - } - catch(Exception ex) - { - test(false); - } - test(sb != null); - test(sb.sb.equals("SBase.sb")); - } - System.out.println("ok"); - - System.out.print("base as Object (AMI)... "); - System.out.flush(); - { - AMI_Test_SBaseAsObjectI cb = new AMI_Test_SBaseAsObjectI(); - test.SBaseAsObject_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("base as base... "); - System.out.flush(); - { - SBase sb; - try - { - sb = test.SBaseAsSBase(); - test(sb.sb.equals("SBase.sb")); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("base as base (AMI)... "); - System.out.flush(); - { - AMI_Test_SBaseAsSBaseI cb = new AMI_Test_SBaseAsSBaseI(); - test.SBaseAsSBase_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("base with known derived as base... "); - System.out.flush(); - { - SBase sb; - SBSKnownDerived sbskd = null; - try - { - sb = test.SBSKnownDerivedAsSBase(); - test(sb.sb.equals("SBSKnownDerived.sb")); - sbskd = (SBSKnownDerived)sb; - } - catch(Exception ex) - { - test(false); - } - test(sbskd != null); - test(sbskd.sbskd.equals("SBSKnownDerived.sbskd")); - } - System.out.println("ok"); - - System.out.print("base with known derived as base (AMI)... "); - System.out.flush(); - { - AMI_Test_SBSKnownDerivedAsSBaseI cb = new AMI_Test_SBSKnownDerivedAsSBaseI(); - test.SBSKnownDerivedAsSBase_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("base with known derived as known derived... "); - System.out.flush(); - { - SBSKnownDerived sbskd; - try - { - sbskd = test.SBSKnownDerivedAsSBSKnownDerived(); - test(sbskd.sbskd.equals("SBSKnownDerived.sbskd")); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("base with known derived as known derived (AMI)... "); - System.out.flush(); - { - AMI_Test_SBSKnownDerivedAsSBSKnownDerivedI cb = new AMI_Test_SBSKnownDerivedAsSBSKnownDerivedI(); - test.SBSKnownDerivedAsSBSKnownDerived_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("base with unknown derived as base... "); - System.out.flush(); - { - SBase sb; - try - { - sb = test.SBSUnknownDerivedAsSBase(); - test(sb.sb.equals("SBSUnknownDerived.sb")); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("base with unknown derived as base (AMI)... "); - System.out.flush(); - { - AMI_Test_SBSUnknownDerivedAsSBaseI cb = new AMI_Test_SBSUnknownDerivedAsSBaseI(); - test.SBSUnknownDerivedAsSBase_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("unknown with Object as Object... "); - System.out.flush(); - { - Ice.Object o; - try - { - o = test.SUnknownAsObject(); - test(false); - } - catch(Ice.NoObjectFactoryException ex) - { - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("unknown with Object as Object (AMI)... "); - System.out.flush(); - { - AMI_Test_SUnknownAsObjectI cb = new AMI_Test_SUnknownAsObjectI(); - test.SUnknownAsObject_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("one-element cycle... "); - System.out.flush(); - { - try - { - B b = test.oneElementCycle(); - test(b != null); - test(b.ice_id().equals("::Test::B")); - test(b.sb.equals("B1.sb")); - test(b.pb == b); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("one-element cycle (AMI)... "); - System.out.flush(); - { - AMI_Test_oneElementCycleI cb = new AMI_Test_oneElementCycleI(); - test.oneElementCycle_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("two-element cycle... "); - System.out.flush(); - { - try - { - B b1 = test.twoElementCycle(); - test(b1 != null); - test(b1.ice_id().equals("::Test::B")); - test(b1.sb.equals("B1.sb")); - - B b2 = b1.pb; - test(b2 != null); - test(b2.ice_id().equals("::Test::B")); - test(b2.sb.equals("B2.sb")); - test(b2.pb == b1); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("two-element cycle (AMI)... "); - System.out.flush(); - { - AMI_Test_twoElementCycleI cb = new AMI_Test_twoElementCycleI(); - test.twoElementCycle_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("known derived pointer slicing as base... "); - System.out.flush(); - { - try - { - B b1; - b1 = test.D1AsB(); - test(b1 != null); - test(b1.ice_id().equals("::Test::D1")); - test(b1.sb.equals("D1.sb")); - test(b1.pb != null); - test(b1.pb != b1); - D1 d1 = (D1)b1; - test(d1 != null); - test(d1.sd1.equals("D1.sd1")); - test(d1.pd1 != null); - test(d1.pd1 != b1); - test(b1.pb == d1.pd1); - - B b2 = b1.pb; - test(b2 != null); - test(b2.pb == b1); - test(b2.sb.equals("D2.sb")); - test(b2.ice_id().equals("::Test::B")); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("known derived pointer slicing as base (AMI)... "); - System.out.flush(); - { - AMI_Test_D1AsBI cb = new AMI_Test_D1AsBI(); - test.D1AsB_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("known derived pointer slicing as derived... "); - System.out.flush(); - { - try - { - D1 d1; - d1 = test.D1AsD1(); - test(d1 != null); - test(d1.ice_id().equals("::Test::D1")); - test(d1.sb.equals("D1.sb")); - test(d1.pb != null); - test(d1.pb != d1); - - B b2 = d1.pb; - test(b2 != null); - test(b2.ice_id().equals("::Test::B")); - test(b2.sb.equals("D2.sb")); - test(b2.pb == d1); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("known derived pointer slicing as derived (AMI)... "); - System.out.flush(); - { - AMI_Test_D1AsD1I cb = new AMI_Test_D1AsD1I(); - test.D1AsD1_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("unknown derived pointer slicing as base... "); - System.out.flush(); - { - try - { - B b2; - b2 = test.D2AsB(); - test(b2 != null); - test(b2.ice_id().equals("::Test::B")); - test(b2.sb.equals("D2.sb")); - test(b2.pb != null); - test(b2.pb != b2); - - B b1 = b2.pb; - test(b1 != null); - test(b1.ice_id().equals("::Test::D1")); - test(b1.sb.equals("D1.sb")); - test(b1.pb == b2); - D1 d1 = (D1)b1; - test(d1 != null); - test(d1.sd1.equals("D1.sd1")); - test(d1.pd1 == b2); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("unknown derived pointer slicing as base (AMI)... "); - System.out.flush(); - { - AMI_Test_D2AsBI cb = new AMI_Test_D2AsBI(); - test.D2AsB_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("param ptr slicing with known first... "); - System.out.flush(); - { - try - { - BHolder b1 = new BHolder(); - BHolder b2 = new BHolder(); - test.paramTest1(b1, b2); - - test(b1.value != null); - test(b1.value.ice_id().equals("::Test::D1")); - test(b1.value.sb.equals("D1.sb")); - test(b1.value.pb == b2.value); - D1 d1 = (D1)b1.value; - test(d1 != null); - test(d1.sd1.equals("D1.sd1")); - test(d1.pd1 == b2.value); - - test(b2.value != null); - test(b2.value.ice_id().equals("::Test::B")); // No factory, must be sliced - test(b2.value.sb.equals("D2.sb")); - test(b2.value.pb == b1.value); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("param ptr slicing with known first (AMI)... "); - System.out.flush(); - { - AMI_Test_paramTest1I cb = new AMI_Test_paramTest1I(); - test.paramTest1_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("param ptr slicing with unknown first... "); - System.out.flush(); - { - try - { - BHolder b2 = new BHolder(); - BHolder b1 = new BHolder(); - test.paramTest2(b2, b1); - - test(b1.value != null); - test(b1.value.ice_id().equals("::Test::D1")); - test(b1.value.sb.equals("D1.sb")); - test(b1.value.pb == b2.value); - D1 d1 = (D1)b1.value; - test(d1 != null); - test(d1.sd1.equals("D1.sd1")); - test(d1.pd1 == b2.value); - - test(b2.value != null); - test(b2.value.ice_id().equals("::Test::B")); // No factory, must be sliced - test(b2.value.sb.equals("D2.sb")); - test(b2.value.pb == b1.value); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("param ptr slicing with unknown first (AMI)... "); - System.out.flush(); - { - AMI_Test_paramTest2I cb = new AMI_Test_paramTest2I(); - test.paramTest2_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("return value identity with known first... "); - System.out.flush(); - { - try - { - BHolder p1 = new BHolder(); - BHolder p2 = new BHolder(); - B r = test.returnTest1(p1, p2); - test(r == p1.value); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("return value identity with known first (AMI)... "); - System.out.flush(); - { - AMI_Test_returnTest1I cb = new AMI_Test_returnTest1I(); - test.returnTest1_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("return value identity with unknown first... "); - System.out.flush(); - { - try - { - BHolder p1 = new BHolder(); - BHolder p2 = new BHolder(); - B r = test.returnTest2(p1, p2); - test(r == p1.value); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("return value identity with unknown first (AMI)... "); - System.out.flush(); - { - AMI_Test_returnTest2I cb = new AMI_Test_returnTest2I(); - test.returnTest2_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("return value identity for input params known first... "); - System.out.flush(); - { - try - { - D1 d1 = new D1(); - d1.sb = "D1.sb"; - d1.sd1 = "D1.sd1"; - D3 d3 = new D3(); - d3.pb = d1; - d3.sb = "D3.sb"; - d3.sd3 = "D3.sd3"; - d3.pd3 = d1; - d1.pb = d3; - d1.pd1 = d3; - - B b1 = test.returnTest3(d1, d3); - - test(b1 != null); - test(b1.sb.equals("D1.sb")); - test(b1.ice_id().equals("::Test::D1")); - D1 p1 = (D1)b1; - test(p1 != null); - test(p1.sd1.equals("D1.sd1")); - test(p1.pd1 == b1.pb); - - B b2 = b1.pb; - test(b2 != null); - test(b2.sb.equals("D3.sb")); - test(b2.ice_id().equals("::Test::B")); // Sliced by server - test(b2.pb == b1); - try - { - D3 p3 = (D3)b2; - test(false); - } - catch(ClassCastException ex) - { - } - - test(b1 != d1); - test(b1 != d3); - test(b2 != d1); - test(b2 != d3); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("return value identity for input params known first (AMI)... "); - System.out.flush(); - { - D1 d1 = new D1(); - d1.sb = "D1.sb"; - d1.sd1 = "D1.sd1"; - D3 d3 = new D3(); - d3.pb = d1; - d3.sb = "D3.sb"; - d3.sd3 = "D3.sd3"; - d3.pd3 = d1; - d1.pb = d3; - d1.pd1 = d3; - - AMI_Test_returnTest3I cb = new AMI_Test_returnTest3I(); - test.returnTest3_async(cb, d1, d3); - test(cb.check()); - B b1 = cb.r; - - test(b1 != null); - test(b1.sb.equals("D1.sb")); - test(b1.ice_id().equals("::Test::D1")); - D1 p1 = (D1)b1; - test(p1 != null); - test(p1.sd1.equals("D1.sd1")); - test(p1.pd1 == b1.pb); - - B b2 = b1.pb; - test(b2 != null); - test(b2.sb.equals("D3.sb")); - test(b2.ice_id().equals("::Test::B")); // Sliced by server - test(b2.pb == b1); - try - { - D3 p3 = (D3)b2; - test(false); - } - catch(ClassCastException ex) - { - } - - test(b1 != d1); - test(b1 != d3); - test(b2 != d1); - test(b2 != d3); - } - System.out.println("ok"); - - System.out.print("return value identity for input params unknown first... "); - System.out.flush(); - { - try - { - D1 d1 = new D1(); - d1.sb = "D1.sb"; - d1.sd1 = "D1.sd1"; - D3 d3 = new D3(); - d3.pb = d1; - d3.sb = "D3.sb"; - d3.sd3 = "D3.sd3"; - d3.pd3 = d1; - d1.pb = d3; - d1.pd1 = d3; - - B b1 = test.returnTest3(d3, d1); - - test(b1 != null); - test(b1.sb.equals("D3.sb")); - test(b1.ice_id().equals("::Test::B")); // Sliced by server - - try - { - D3 p1 = (D3)b1; - test(false); - } - catch(ClassCastException ex) - { - } - - B b2 = b1.pb; - test(b2 != null); - test(b2.sb.equals("D1.sb")); - test(b2.ice_id().equals("::Test::D1")); - test(b2.pb == b1); - D1 p3 = (D1)b2; - test(p3 != null); - test(p3.sd1.equals("D1.sd1")); - test(p3.pd1 == b1); - - test(b1 != d1); - test(b1 != d3); - test(b2 != d1); - test(b2 != d3); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("return value identity for input params unknown first (AMI)... "); - System.out.flush(); - { - D1 d1 = new D1(); - d1.sb = "D1.sb"; - d1.sd1 = "D1.sd1"; - D3 d3 = new D3(); - d3.pb = d1; - d3.sb = "D3.sb"; - d3.sd3 = "D3.sd3"; - d3.pd3 = d1; - d1.pb = d3; - d1.pd1 = d3; - - AMI_Test_returnTest3I cb = new AMI_Test_returnTest3I(); - test.returnTest3_async(cb, d3, d1); - test(cb.check()); - B b1 = cb.r; - - test(b1 != null); - test(b1.sb.equals("D3.sb")); - test(b1.ice_id().equals("::Test::B")); // Sliced by server - - try - { - D3 p1 = (D3)b1; - test(false); - } - catch(ClassCastException ex) - { - } - - B b2 = b1.pb; - test(b2 != null); - test(b2.sb.equals("D1.sb")); - test(b2.ice_id().equals("::Test::D1")); - test(b2.pb == b1); - D1 p3 = (D1)b2; - test(p3 != null); - test(p3.sd1.equals("D1.sd1")); - test(p3.pd1 == b1); - - test(b1 != d1); - test(b1 != d3); - test(b2 != d1); - test(b2 != d3); - } - System.out.println("ok"); - - System.out.print("remainder unmarshaling (3 instances)... "); - System.out.flush(); - { - try - { - BHolder p1 = new BHolder(); - BHolder p2 = new BHolder(); - B ret = test.paramTest3(p1, p2); - - test(p1.value != null); - test(p1.value.sb.equals("D2.sb (p1 1)")); - test(p1.value.pb == null); - test(p1.value.ice_id().equals("::Test::B")); - - test(p2.value != null); - test(p2.value.sb.equals("D2.sb (p2 1)")); - test(p2.value.pb == null); - test(p2.value.ice_id().equals("::Test::B")); - - test(ret != null); - test(ret.sb.equals("D1.sb (p2 2)")); - test(ret.pb == null); - test(ret.ice_id().equals("::Test::D1")); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("remainder unmarshaling (3 instances) (AMI)... "); - System.out.flush(); - { - AMI_Test_paramTest3I cb = new AMI_Test_paramTest3I(); - test.paramTest3_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("remainder unmarshaling (4 instances)... "); - System.out.flush(); - { - try - { - BHolder b = new BHolder(); - B ret = test.paramTest4(b); - - test(b.value != null); - test(b.value.sb.equals("D4.sb (1)")); - test(b.value.pb == null); - test(b.value.ice_id().equals("::Test::B")); - - test(ret != null); - test(ret.sb.equals("B.sb (2)")); - test(ret.pb == null); - test(ret.ice_id().equals("::Test::B")); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("remainder unmarshaling (4 instances) (AMI)... "); - System.out.flush(); - { - AMI_Test_paramTest4I cb = new AMI_Test_paramTest4I(); - test.paramTest4_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("param ptr slicing, instance marshaled in unknown derived as base... "); - System.out.flush(); - { - try - { - B b1 = new B(); - b1.sb = "B.sb(1)"; - b1.pb = b1; - - D3 d3 = new D3(); - d3.sb = "D3.sb"; - d3.pb = d3; - d3.sd3 = "D3.sd3"; - d3.pd3 = b1; - - B b2 = new B(); - b2.sb = "B.sb(2)"; - b2.pb = b1; - - B r = test.returnTest3(d3, b2); - - test(r != null); - test(r.ice_id().equals("::Test::B")); - test(r.sb.equals("D3.sb")); - test(r.pb == r); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("param ptr slicing, instance marshaled in unknown derived as base (AMI)... "); - System.out.flush(); - { - B b1 = new B(); - b1.sb = "B.sb(1)"; - b1.pb = b1; - - D3 d3 = new D3(); - d3.sb = "D3.sb"; - d3.pb = d3; - d3.sd3 = "D3.sd3"; - d3.pd3 = b1; - - B b2 = new B(); - b2.sb = "B.sb(2)"; - b2.pb = b1; - - AMI_Test_returnTest3I cb = new AMI_Test_returnTest3I(); - test.returnTest3_async(cb, d3, b2); - test(cb.check()); - B r = cb.r; - - test(r != null); - test(r.ice_id().equals("::Test::B")); - test(r.sb.equals("D3.sb")); - test(r.pb == r); - } - System.out.println("ok"); - - System.out.print("param ptr slicing, instance marshaled in unknown derived as derived... "); - System.out.flush(); - { - try - { - D1 d11 = new D1(); - d11.sb = "D1.sb(1)"; - d11.pb = d11; - d11.sd1 = "D1.sd1(1)"; - - D3 d3 = new D3(); - d3.sb = "D3.sb"; - d3.pb = d3; - d3.sd3 = "D3.sd3"; - d3.pd3 = d11; - - D1 d12 = new D1(); - d12.sb = "D1.sb(2)"; - d12.pb = d12; - d12.sd1 = "D1.sd1(2)"; - d12.pd1 = d11; - - B r = test.returnTest3(d3, d12); - test(r != null); - test(r.ice_id().equals("::Test::B")); - test(r.sb.equals("D3.sb")); - test(r.pb == r); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("param ptr slicing, instance marshaled in unknown derived as derived (AMI)... "); - System.out.flush(); - { - D1 d11 = new D1(); - d11.sb = "D1.sb(1)"; - d11.pb = d11; - d11.sd1 = "D1.sd1(1)"; - - D3 d3 = new D3(); - d3.sb = "D3.sb"; - d3.pb = d3; - d3.sd3 = "D3.sd3"; - d3.pd3 = d11; - - D1 d12 = new D1(); - d12.sb = "D1.sb(2)"; - d12.pb = d12; - d12.sd1 = "D1.sd1(2)"; - d12.pd1 = d11; - - AMI_Test_returnTest3I cb = new AMI_Test_returnTest3I(); - test.returnTest3_async(cb, d3, d12); - test(cb.check()); - B r = cb.r; - - test(r != null); - test(r.ice_id().equals("::Test::B")); - test(r.sb.equals("D3.sb")); - test(r.pb == r); - } - System.out.println("ok"); - - System.out.print("sequence slicing... "); - System.out.flush(); - { - try - { - SS ss; - { - B ss1b = new B(); - ss1b.sb = "B.sb"; - ss1b.pb = ss1b; - - D1 ss1d1 = new D1(); - ss1d1.sb = "D1.sb"; - ss1d1.sd1 = "D1.sd1"; - ss1d1.pb = ss1b; - - D3 ss1d3 = new D3(); - ss1d3.sb = "D3.sb"; - ss1d3.sd3 = "D3.sd3"; - ss1d3.pb = ss1b; - - B ss2b = new B(); - ss2b.sb = "B.sb"; - ss2b.pb = ss1b; - - D1 ss2d1 = new D1(); - ss2d1.sb = "D1.sb"; - ss2d1.sd1 = "D1.sd1"; - ss2d1.pb = ss2b; - - D3 ss2d3 = new D3(); - ss2d3.sb = "D3.sb"; - ss2d3.sd3 = "D3.sd3"; - ss2d3.pb = ss2b; - - ss1d1.pd1 = ss2b; - ss1d3.pd3 = ss2d1; - - ss2d1.pd1 = ss1d3; - ss2d3.pd3 = ss1d1; - - SS1 ss1 = new SS1(); - ss1.s = new B[3]; - ss1.s[0] = ss1b; - ss1.s[1] = ss1d1; - ss1.s[2] = ss1d3; - - SS2 ss2 = new SS2(); - ss2.s = new B[3]; - ss2.s[0] = ss2b; - ss2.s[1] = ss2d1; - ss2.s[2] = ss2d3; - - ss = test.sequenceTest(ss1, ss2); - } - - test(ss.c1 != null); - B ss1b = ss.c1.s[0]; - B ss1d1 = ss.c1.s[1]; - test(ss.c2 != null); - B ss1d3 = ss.c1.s[2]; - - test(ss.c2 != null); - B ss2b = ss.c2.s[0]; - B ss2d1 = ss.c2.s[1]; - B ss2d3 = ss.c2.s[2]; - - test(ss1b.pb == ss1b); - test(ss1d1.pb == ss1b); - test(ss1d3.pb == ss1b); - - test(ss2b.pb == ss1b); - test(ss2d1.pb == ss2b); - test(ss2d3.pb == ss2b); - - test(ss1b.ice_id().equals("::Test::B")); - test(ss1d1.ice_id().equals("::Test::D1")); - test(ss1d3.ice_id().equals("::Test::B")); - - test(ss2b.ice_id().equals("::Test::B")); - test(ss2d1.ice_id().equals("::Test::D1")); - test(ss2d3.ice_id().equals("::Test::B")); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("sequence slicing (AMI)... "); - System.out.flush(); - { - SS ss; - { - B ss1b = new B(); - ss1b.sb = "B.sb"; - ss1b.pb = ss1b; - - D1 ss1d1 = new D1(); - ss1d1.sb = "D1.sb"; - ss1d1.sd1 = "D1.sd1"; - ss1d1.pb = ss1b; - - D3 ss1d3 = new D3(); - ss1d3.sb = "D3.sb"; - ss1d3.sd3 = "D3.sd3"; - ss1d3.pb = ss1b; - - B ss2b = new B(); - ss2b.sb = "B.sb"; - ss2b.pb = ss1b; - - D1 ss2d1 = new D1(); - ss2d1.sb = "D1.sb"; - ss2d1.sd1 = "D1.sd1"; - ss2d1.pb = ss2b; - - D3 ss2d3 = new D3(); - ss2d3.sb = "D3.sb"; - ss2d3.sd3 = "D3.sd3"; - ss2d3.pb = ss2b; - - ss1d1.pd1 = ss2b; - ss1d3.pd3 = ss2d1; - - ss2d1.pd1 = ss1d3; - ss2d3.pd3 = ss1d1; - - SS1 ss1 = new SS1(); - ss1.s = new B[3]; - ss1.s[0] = ss1b; - ss1.s[1] = ss1d1; - ss1.s[2] = ss1d3; - - SS2 ss2 = new SS2(); - ss2.s = new B[3]; - ss2.s[0] = ss2b; - ss2.s[1] = ss2d1; - ss2.s[2] = ss2d3; - - AMI_Test_sequenceTestI cb = new AMI_Test_sequenceTestI(); - test.sequenceTest_async(cb, ss1, ss2); - test(cb.check()); - ss = cb.r; - } - test(ss.c1 != null); - B ss1b = ss.c1.s[0]; - B ss1d1 = ss.c1.s[1]; - test(ss.c2 != null); - B ss1d3 = ss.c1.s[2]; - - test(ss.c2 != null); - B ss2b = ss.c2.s[0]; - B ss2d1 = ss.c2.s[1]; - B ss2d3 = ss.c2.s[2]; - - test(ss1b.pb == ss1b); - test(ss1d1.pb == ss1b); - test(ss1d3.pb == ss1b); - - test(ss2b.pb == ss1b); - test(ss2d1.pb == ss2b); - test(ss2d3.pb == ss2b); - - test(ss1b.ice_id().equals("::Test::B")); - test(ss1d1.ice_id().equals("::Test::D1")); - test(ss1d3.ice_id().equals("::Test::B")); - - test(ss2b.ice_id().equals("::Test::B")); - test(ss2d1.ice_id().equals("::Test::D1")); - test(ss2d3.ice_id().equals("::Test::B")); - } - System.out.println("ok"); - - System.out.print("dictionary slicing... "); - System.out.flush(); - { - try - { - java.util.IdentityHashMap bin = new java.util.IdentityHashMap(); - BDictHolder bout = new BDictHolder(); - java.util.Map r; - int i; - for(i = 0; i < 10; ++i) - { - String s = "D1." + new Integer(i).toString(); - D1 d1 = new D1(); - d1.sb = s; - d1.pb = d1; - d1.sd1 = s; - bin.put(new Integer(i), d1); - } - - r = test.dictionaryTest(bin, bout); - - test(bout.value.size() == 10); - for(i = 0; i < 10; ++i) - { - B b = (B)bout.value.get(new Integer(i * 10)); - test(b != null); - String s = "D1." + new Integer(i).toString(); - test(b.sb.equals(s)); - test(b.pb != null); - test(b.pb != b); - test(b.pb.sb.equals(s)); - test(b.pb.pb == b.pb); - } - - test(r.size() == 10); - for(i = 0; i < 10; ++i) - { - B b = (B)r.get(new Integer(i * 20)); - test(b != null); - String s = "D1." + new Integer(i * 20).toString(); - test(b.sb.equals(s)); - test(b.pb == (i == 0 ? (B)null : (B)r.get(new Integer((i - 1) * 20)))); - D1 d1 = (D1)b; - test(d1 != null); - test(d1.sd1.equals(s)); - test(d1.pd1 == d1); - } - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("dictionary slicing (AMI)... "); - System.out.flush(); - { - java.util.Map bin = new java.util.HashMap(); - java.util.Map bout; - java.util.Map r; - int i; - for(i = 0; i < 10; ++i) - { - String s = "D1." + new Integer(i).toString(); - D1 d1 = new D1(); - d1.sb = s; - d1.pb = d1; - d1.sd1 = s; - bin.put(new Integer(i), d1); - } - - AMI_Test_dictionaryTestI cb = new AMI_Test_dictionaryTestI(); - test.dictionaryTest_async(cb, bin); - test(cb.check()); - bout = cb.bout; - r = cb.r; - - test(bout.size() == 10); - for(i = 0; i < 10; ++i) - { - B b = (B)bout.get(new Integer(i * 10)); - test(b != null); - String s = "D1." + new Integer(i).toString(); - test(b.sb.equals(s)); - test(b.pb != null); - test(b.pb != b); - test(b.pb.sb.equals(s)); - test(b.pb.pb == b.pb); - } - - test(r.size() == 10); - for(i = 0; i < 10; ++i) - { - B b = (B)r.get(new Integer(i * 20)); - test(b != null); - String s = "D1." + new Integer(i * 20).toString(); - test(b.sb.equals(s)); - test(b.pb == (i == 0 ? (B)null : (B)r.get(new Integer((i - 1) * 20)))); - D1 d1 = (D1)b; - test(d1 != null); - test(d1.sd1.equals(s)); - test(d1.pd1 == d1); - } - } - System.out.println("ok"); - - System.out.print("base exception thrown as base exception... "); - System.out.flush(); - { - try - { - test.throwBaseAsBase(); - test(false); - } - catch(BaseException e) - { - test(e.ice_name().equals("Test::BaseException")); - test(e.sbe.equals("sbe")); - test(e.pb != null); - test(e.pb.sb.equals("sb")); - test(e.pb.pb == e.pb); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("base exception thrown as base exception (AMI)... "); - System.out.flush(); - { - AMI_Test_throwBaseAsBaseI cb = new AMI_Test_throwBaseAsBaseI(); - test.throwBaseAsBase_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("derived exception thrown as base exception... "); - System.out.flush(); - { - try - { - test.throwDerivedAsBase(); - test(false); - } - catch(DerivedException e) - { - test(e.ice_name().equals("Test::DerivedException")); - test(e.sbe.equals("sbe")); - test(e.pb != null); - test(e.pb.sb.equals("sb1")); - test(e.pb.pb == e.pb); - test(e.sde.equals("sde1")); - test(e.pd1 != null); - test(e.pd1.sb.equals("sb2")); - test(e.pd1.pb == e.pd1); - test(e.pd1.sd1.equals("sd2")); - test(e.pd1.pd1 == e.pd1); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("derived exception thrown as base exception (AMI)... "); - System.out.flush(); - { - AMI_Test_throwDerivedAsBaseI cb = new AMI_Test_throwDerivedAsBaseI(); - test.throwDerivedAsBase_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("derived exception thrown as derived exception... "); - System.out.flush(); - { - try - { - test.throwDerivedAsDerived(); - test(false); - } - catch(DerivedException e) - { - test(e.ice_name().equals("Test::DerivedException")); - test(e.sbe.equals("sbe")); - test(e.pb != null); - test(e.pb.sb.equals("sb1")); - test(e.pb.pb == e.pb); - test(e.sde.equals("sde1")); - test(e.pd1 != null); - test(e.pd1.sb.equals("sb2")); - test(e.pd1.pb == e.pd1); - test(e.pd1.sd1.equals("sd2")); - test(e.pd1.pd1 == e.pd1); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("derived exception thrown as derived exception (AMI)... "); - System.out.flush(); - { - AMI_Test_throwDerivedAsDerivedI cb = new AMI_Test_throwDerivedAsDerivedI(); - test.throwDerivedAsDerived_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("unknown derived exception thrown as base exception... "); - System.out.flush(); - { - try - { - test.throwUnknownDerivedAsBase(); - test(false); - } - catch(BaseException e) - { - test(e.ice_name().equals("Test::BaseException")); - test(e.sbe.equals("sbe")); - test(e.pb != null); - test(e.pb.sb.equals("sb d2")); - test(e.pb.pb == e.pb); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("unknown derived exception thrown as base exception (AMI)... "); - System.out.flush(); - { - AMI_Test_throwUnknownDerivedAsBaseI cb = new AMI_Test_throwUnknownDerivedAsBaseI(); - test.throwUnknownDerivedAsBase_async(cb); - test(cb.check()); - } - System.out.println("ok"); - - System.out.print("forward-declared class... "); - System.out.flush(); - { - try - { - ForwardHolder f = new ForwardHolder(); - test.useForward(f); - test(f.value != null); - } - catch(Exception ex) - { - test(false); - } - } - System.out.println("ok"); - - System.out.print("forward-declared class (AMI)... "); - System.out.flush(); - { - AMI_Test_useForwardI cb = new AMI_Test_useForwardI(); - test.useForward_async(cb); - test(cb.check()); - } - System.out.println("ok"); + System.out.print("base as Object... "); + System.out.flush(); + { + Ice.Object o; + SBase sb = null; + try + { + o = test.SBaseAsObject(); + test(o != null); + test(o.ice_id().equals("::Test::SBase")); + sb = (SBase)o; + } + catch(Exception ex) + { + test(false); + } + test(sb != null); + test(sb.sb.equals("SBase.sb")); + } + System.out.println("ok"); + + System.out.print("base as Object (AMI)... "); + System.out.flush(); + { + AMI_Test_SBaseAsObjectI cb = new AMI_Test_SBaseAsObjectI(); + test.SBaseAsObject_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("base as base... "); + System.out.flush(); + { + SBase sb; + try + { + sb = test.SBaseAsSBase(); + test(sb.sb.equals("SBase.sb")); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("base as base (AMI)... "); + System.out.flush(); + { + AMI_Test_SBaseAsSBaseI cb = new AMI_Test_SBaseAsSBaseI(); + test.SBaseAsSBase_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("base with known derived as base... "); + System.out.flush(); + { + SBase sb; + SBSKnownDerived sbskd = null; + try + { + sb = test.SBSKnownDerivedAsSBase(); + test(sb.sb.equals("SBSKnownDerived.sb")); + sbskd = (SBSKnownDerived)sb; + } + catch(Exception ex) + { + test(false); + } + test(sbskd != null); + test(sbskd.sbskd.equals("SBSKnownDerived.sbskd")); + } + System.out.println("ok"); + + System.out.print("base with known derived as base (AMI)... "); + System.out.flush(); + { + AMI_Test_SBSKnownDerivedAsSBaseI cb = new AMI_Test_SBSKnownDerivedAsSBaseI(); + test.SBSKnownDerivedAsSBase_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("base with known derived as known derived... "); + System.out.flush(); + { + SBSKnownDerived sbskd; + try + { + sbskd = test.SBSKnownDerivedAsSBSKnownDerived(); + test(sbskd.sbskd.equals("SBSKnownDerived.sbskd")); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("base with known derived as known derived (AMI)... "); + System.out.flush(); + { + AMI_Test_SBSKnownDerivedAsSBSKnownDerivedI cb = new AMI_Test_SBSKnownDerivedAsSBSKnownDerivedI(); + test.SBSKnownDerivedAsSBSKnownDerived_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("base with unknown derived as base... "); + System.out.flush(); + { + SBase sb; + try + { + sb = test.SBSUnknownDerivedAsSBase(); + test(sb.sb.equals("SBSUnknownDerived.sb")); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("base with unknown derived as base (AMI)... "); + System.out.flush(); + { + AMI_Test_SBSUnknownDerivedAsSBaseI cb = new AMI_Test_SBSUnknownDerivedAsSBaseI(); + test.SBSUnknownDerivedAsSBase_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("unknown with Object as Object... "); + System.out.flush(); + { + Ice.Object o; + try + { + o = test.SUnknownAsObject(); + test(false); + } + catch(Ice.NoObjectFactoryException ex) + { + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("unknown with Object as Object (AMI)... "); + System.out.flush(); + { + AMI_Test_SUnknownAsObjectI cb = new AMI_Test_SUnknownAsObjectI(); + test.SUnknownAsObject_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("one-element cycle... "); + System.out.flush(); + { + try + { + B b = test.oneElementCycle(); + test(b != null); + test(b.ice_id().equals("::Test::B")); + test(b.sb.equals("B1.sb")); + test(b.pb == b); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("one-element cycle (AMI)... "); + System.out.flush(); + { + AMI_Test_oneElementCycleI cb = new AMI_Test_oneElementCycleI(); + test.oneElementCycle_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("two-element cycle... "); + System.out.flush(); + { + try + { + B b1 = test.twoElementCycle(); + test(b1 != null); + test(b1.ice_id().equals("::Test::B")); + test(b1.sb.equals("B1.sb")); + + B b2 = b1.pb; + test(b2 != null); + test(b2.ice_id().equals("::Test::B")); + test(b2.sb.equals("B2.sb")); + test(b2.pb == b1); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("two-element cycle (AMI)... "); + System.out.flush(); + { + AMI_Test_twoElementCycleI cb = new AMI_Test_twoElementCycleI(); + test.twoElementCycle_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("known derived pointer slicing as base... "); + System.out.flush(); + { + try + { + B b1; + b1 = test.D1AsB(); + test(b1 != null); + test(b1.ice_id().equals("::Test::D1")); + test(b1.sb.equals("D1.sb")); + test(b1.pb != null); + test(b1.pb != b1); + D1 d1 = (D1)b1; + test(d1 != null); + test(d1.sd1.equals("D1.sd1")); + test(d1.pd1 != null); + test(d1.pd1 != b1); + test(b1.pb == d1.pd1); + + B b2 = b1.pb; + test(b2 != null); + test(b2.pb == b1); + test(b2.sb.equals("D2.sb")); + test(b2.ice_id().equals("::Test::B")); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("known derived pointer slicing as base (AMI)... "); + System.out.flush(); + { + AMI_Test_D1AsBI cb = new AMI_Test_D1AsBI(); + test.D1AsB_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("known derived pointer slicing as derived... "); + System.out.flush(); + { + try + { + D1 d1; + d1 = test.D1AsD1(); + test(d1 != null); + test(d1.ice_id().equals("::Test::D1")); + test(d1.sb.equals("D1.sb")); + test(d1.pb != null); + test(d1.pb != d1); + + B b2 = d1.pb; + test(b2 != null); + test(b2.ice_id().equals("::Test::B")); + test(b2.sb.equals("D2.sb")); + test(b2.pb == d1); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("known derived pointer slicing as derived (AMI)... "); + System.out.flush(); + { + AMI_Test_D1AsD1I cb = new AMI_Test_D1AsD1I(); + test.D1AsD1_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("unknown derived pointer slicing as base... "); + System.out.flush(); + { + try + { + B b2; + b2 = test.D2AsB(); + test(b2 != null); + test(b2.ice_id().equals("::Test::B")); + test(b2.sb.equals("D2.sb")); + test(b2.pb != null); + test(b2.pb != b2); + + B b1 = b2.pb; + test(b1 != null); + test(b1.ice_id().equals("::Test::D1")); + test(b1.sb.equals("D1.sb")); + test(b1.pb == b2); + D1 d1 = (D1)b1; + test(d1 != null); + test(d1.sd1.equals("D1.sd1")); + test(d1.pd1 == b2); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("unknown derived pointer slicing as base (AMI)... "); + System.out.flush(); + { + AMI_Test_D2AsBI cb = new AMI_Test_D2AsBI(); + test.D2AsB_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("param ptr slicing with known first... "); + System.out.flush(); + { + try + { + BHolder b1 = new BHolder(); + BHolder b2 = new BHolder(); + test.paramTest1(b1, b2); + + test(b1.value != null); + test(b1.value.ice_id().equals("::Test::D1")); + test(b1.value.sb.equals("D1.sb")); + test(b1.value.pb == b2.value); + D1 d1 = (D1)b1.value; + test(d1 != null); + test(d1.sd1.equals("D1.sd1")); + test(d1.pd1 == b2.value); + + test(b2.value != null); + test(b2.value.ice_id().equals("::Test::B")); // No factory, must be sliced + test(b2.value.sb.equals("D2.sb")); + test(b2.value.pb == b1.value); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("param ptr slicing with known first (AMI)... "); + System.out.flush(); + { + AMI_Test_paramTest1I cb = new AMI_Test_paramTest1I(); + test.paramTest1_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("param ptr slicing with unknown first... "); + System.out.flush(); + { + try + { + BHolder b2 = new BHolder(); + BHolder b1 = new BHolder(); + test.paramTest2(b2, b1); + + test(b1.value != null); + test(b1.value.ice_id().equals("::Test::D1")); + test(b1.value.sb.equals("D1.sb")); + test(b1.value.pb == b2.value); + D1 d1 = (D1)b1.value; + test(d1 != null); + test(d1.sd1.equals("D1.sd1")); + test(d1.pd1 == b2.value); + + test(b2.value != null); + test(b2.value.ice_id().equals("::Test::B")); // No factory, must be sliced + test(b2.value.sb.equals("D2.sb")); + test(b2.value.pb == b1.value); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("param ptr slicing with unknown first (AMI)... "); + System.out.flush(); + { + AMI_Test_paramTest2I cb = new AMI_Test_paramTest2I(); + test.paramTest2_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("return value identity with known first... "); + System.out.flush(); + { + try + { + BHolder p1 = new BHolder(); + BHolder p2 = new BHolder(); + B r = test.returnTest1(p1, p2); + test(r == p1.value); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("return value identity with known first (AMI)... "); + System.out.flush(); + { + AMI_Test_returnTest1I cb = new AMI_Test_returnTest1I(); + test.returnTest1_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("return value identity with unknown first... "); + System.out.flush(); + { + try + { + BHolder p1 = new BHolder(); + BHolder p2 = new BHolder(); + B r = test.returnTest2(p1, p2); + test(r == p1.value); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("return value identity with unknown first (AMI)... "); + System.out.flush(); + { + AMI_Test_returnTest2I cb = new AMI_Test_returnTest2I(); + test.returnTest2_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("return value identity for input params known first... "); + System.out.flush(); + { + try + { + D1 d1 = new D1(); + d1.sb = "D1.sb"; + d1.sd1 = "D1.sd1"; + D3 d3 = new D3(); + d3.pb = d1; + d3.sb = "D3.sb"; + d3.sd3 = "D3.sd3"; + d3.pd3 = d1; + d1.pb = d3; + d1.pd1 = d3; + + B b1 = test.returnTest3(d1, d3); + + test(b1 != null); + test(b1.sb.equals("D1.sb")); + test(b1.ice_id().equals("::Test::D1")); + D1 p1 = (D1)b1; + test(p1 != null); + test(p1.sd1.equals("D1.sd1")); + test(p1.pd1 == b1.pb); + + B b2 = b1.pb; + test(b2 != null); + test(b2.sb.equals("D3.sb")); + test(b2.ice_id().equals("::Test::B")); // Sliced by server + test(b2.pb == b1); + try + { + D3 p3 = (D3)b2; + test(false); + } + catch(ClassCastException ex) + { + } + + test(b1 != d1); + test(b1 != d3); + test(b2 != d1); + test(b2 != d3); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("return value identity for input params known first (AMI)... "); + System.out.flush(); + { + D1 d1 = new D1(); + d1.sb = "D1.sb"; + d1.sd1 = "D1.sd1"; + D3 d3 = new D3(); + d3.pb = d1; + d3.sb = "D3.sb"; + d3.sd3 = "D3.sd3"; + d3.pd3 = d1; + d1.pb = d3; + d1.pd1 = d3; + + AMI_Test_returnTest3I cb = new AMI_Test_returnTest3I(); + test.returnTest3_async(cb, d1, d3); + test(cb.check()); + B b1 = cb.r; + + test(b1 != null); + test(b1.sb.equals("D1.sb")); + test(b1.ice_id().equals("::Test::D1")); + D1 p1 = (D1)b1; + test(p1 != null); + test(p1.sd1.equals("D1.sd1")); + test(p1.pd1 == b1.pb); + + B b2 = b1.pb; + test(b2 != null); + test(b2.sb.equals("D3.sb")); + test(b2.ice_id().equals("::Test::B")); // Sliced by server + test(b2.pb == b1); + try + { + D3 p3 = (D3)b2; + test(false); + } + catch(ClassCastException ex) + { + } + + test(b1 != d1); + test(b1 != d3); + test(b2 != d1); + test(b2 != d3); + } + System.out.println("ok"); + + System.out.print("return value identity for input params unknown first... "); + System.out.flush(); + { + try + { + D1 d1 = new D1(); + d1.sb = "D1.sb"; + d1.sd1 = "D1.sd1"; + D3 d3 = new D3(); + d3.pb = d1; + d3.sb = "D3.sb"; + d3.sd3 = "D3.sd3"; + d3.pd3 = d1; + d1.pb = d3; + d1.pd1 = d3; + + B b1 = test.returnTest3(d3, d1); + + test(b1 != null); + test(b1.sb.equals("D3.sb")); + test(b1.ice_id().equals("::Test::B")); // Sliced by server + + try + { + D3 p1 = (D3)b1; + test(false); + } + catch(ClassCastException ex) + { + } + + B b2 = b1.pb; + test(b2 != null); + test(b2.sb.equals("D1.sb")); + test(b2.ice_id().equals("::Test::D1")); + test(b2.pb == b1); + D1 p3 = (D1)b2; + test(p3 != null); + test(p3.sd1.equals("D1.sd1")); + test(p3.pd1 == b1); + + test(b1 != d1); + test(b1 != d3); + test(b2 != d1); + test(b2 != d3); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("return value identity for input params unknown first (AMI)... "); + System.out.flush(); + { + D1 d1 = new D1(); + d1.sb = "D1.sb"; + d1.sd1 = "D1.sd1"; + D3 d3 = new D3(); + d3.pb = d1; + d3.sb = "D3.sb"; + d3.sd3 = "D3.sd3"; + d3.pd3 = d1; + d1.pb = d3; + d1.pd1 = d3; + + AMI_Test_returnTest3I cb = new AMI_Test_returnTest3I(); + test.returnTest3_async(cb, d3, d1); + test(cb.check()); + B b1 = cb.r; + + test(b1 != null); + test(b1.sb.equals("D3.sb")); + test(b1.ice_id().equals("::Test::B")); // Sliced by server + + try + { + D3 p1 = (D3)b1; + test(false); + } + catch(ClassCastException ex) + { + } + + B b2 = b1.pb; + test(b2 != null); + test(b2.sb.equals("D1.sb")); + test(b2.ice_id().equals("::Test::D1")); + test(b2.pb == b1); + D1 p3 = (D1)b2; + test(p3 != null); + test(p3.sd1.equals("D1.sd1")); + test(p3.pd1 == b1); + + test(b1 != d1); + test(b1 != d3); + test(b2 != d1); + test(b2 != d3); + } + System.out.println("ok"); + + System.out.print("remainder unmarshaling (3 instances)... "); + System.out.flush(); + { + try + { + BHolder p1 = new BHolder(); + BHolder p2 = new BHolder(); + B ret = test.paramTest3(p1, p2); + + test(p1.value != null); + test(p1.value.sb.equals("D2.sb (p1 1)")); + test(p1.value.pb == null); + test(p1.value.ice_id().equals("::Test::B")); + + test(p2.value != null); + test(p2.value.sb.equals("D2.sb (p2 1)")); + test(p2.value.pb == null); + test(p2.value.ice_id().equals("::Test::B")); + + test(ret != null); + test(ret.sb.equals("D1.sb (p2 2)")); + test(ret.pb == null); + test(ret.ice_id().equals("::Test::D1")); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("remainder unmarshaling (3 instances) (AMI)... "); + System.out.flush(); + { + AMI_Test_paramTest3I cb = new AMI_Test_paramTest3I(); + test.paramTest3_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("remainder unmarshaling (4 instances)... "); + System.out.flush(); + { + try + { + BHolder b = new BHolder(); + B ret = test.paramTest4(b); + + test(b.value != null); + test(b.value.sb.equals("D4.sb (1)")); + test(b.value.pb == null); + test(b.value.ice_id().equals("::Test::B")); + + test(ret != null); + test(ret.sb.equals("B.sb (2)")); + test(ret.pb == null); + test(ret.ice_id().equals("::Test::B")); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("remainder unmarshaling (4 instances) (AMI)... "); + System.out.flush(); + { + AMI_Test_paramTest4I cb = new AMI_Test_paramTest4I(); + test.paramTest4_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("param ptr slicing, instance marshaled in unknown derived as base... "); + System.out.flush(); + { + try + { + B b1 = new B(); + b1.sb = "B.sb(1)"; + b1.pb = b1; + + D3 d3 = new D3(); + d3.sb = "D3.sb"; + d3.pb = d3; + d3.sd3 = "D3.sd3"; + d3.pd3 = b1; + + B b2 = new B(); + b2.sb = "B.sb(2)"; + b2.pb = b1; + + B r = test.returnTest3(d3, b2); + + test(r != null); + test(r.ice_id().equals("::Test::B")); + test(r.sb.equals("D3.sb")); + test(r.pb == r); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("param ptr slicing, instance marshaled in unknown derived as base (AMI)... "); + System.out.flush(); + { + B b1 = new B(); + b1.sb = "B.sb(1)"; + b1.pb = b1; + + D3 d3 = new D3(); + d3.sb = "D3.sb"; + d3.pb = d3; + d3.sd3 = "D3.sd3"; + d3.pd3 = b1; + + B b2 = new B(); + b2.sb = "B.sb(2)"; + b2.pb = b1; + + AMI_Test_returnTest3I cb = new AMI_Test_returnTest3I(); + test.returnTest3_async(cb, d3, b2); + test(cb.check()); + B r = cb.r; + + test(r != null); + test(r.ice_id().equals("::Test::B")); + test(r.sb.equals("D3.sb")); + test(r.pb == r); + } + System.out.println("ok"); + + System.out.print("param ptr slicing, instance marshaled in unknown derived as derived... "); + System.out.flush(); + { + try + { + D1 d11 = new D1(); + d11.sb = "D1.sb(1)"; + d11.pb = d11; + d11.sd1 = "D1.sd1(1)"; + + D3 d3 = new D3(); + d3.sb = "D3.sb"; + d3.pb = d3; + d3.sd3 = "D3.sd3"; + d3.pd3 = d11; + + D1 d12 = new D1(); + d12.sb = "D1.sb(2)"; + d12.pb = d12; + d12.sd1 = "D1.sd1(2)"; + d12.pd1 = d11; + + B r = test.returnTest3(d3, d12); + test(r != null); + test(r.ice_id().equals("::Test::B")); + test(r.sb.equals("D3.sb")); + test(r.pb == r); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("param ptr slicing, instance marshaled in unknown derived as derived (AMI)... "); + System.out.flush(); + { + D1 d11 = new D1(); + d11.sb = "D1.sb(1)"; + d11.pb = d11; + d11.sd1 = "D1.sd1(1)"; + + D3 d3 = new D3(); + d3.sb = "D3.sb"; + d3.pb = d3; + d3.sd3 = "D3.sd3"; + d3.pd3 = d11; + + D1 d12 = new D1(); + d12.sb = "D1.sb(2)"; + d12.pb = d12; + d12.sd1 = "D1.sd1(2)"; + d12.pd1 = d11; + + AMI_Test_returnTest3I cb = new AMI_Test_returnTest3I(); + test.returnTest3_async(cb, d3, d12); + test(cb.check()); + B r = cb.r; + + test(r != null); + test(r.ice_id().equals("::Test::B")); + test(r.sb.equals("D3.sb")); + test(r.pb == r); + } + System.out.println("ok"); + + System.out.print("sequence slicing... "); + System.out.flush(); + { + try + { + SS ss; + { + B ss1b = new B(); + ss1b.sb = "B.sb"; + ss1b.pb = ss1b; + + D1 ss1d1 = new D1(); + ss1d1.sb = "D1.sb"; + ss1d1.sd1 = "D1.sd1"; + ss1d1.pb = ss1b; + + D3 ss1d3 = new D3(); + ss1d3.sb = "D3.sb"; + ss1d3.sd3 = "D3.sd3"; + ss1d3.pb = ss1b; + + B ss2b = new B(); + ss2b.sb = "B.sb"; + ss2b.pb = ss1b; + + D1 ss2d1 = new D1(); + ss2d1.sb = "D1.sb"; + ss2d1.sd1 = "D1.sd1"; + ss2d1.pb = ss2b; + + D3 ss2d3 = new D3(); + ss2d3.sb = "D3.sb"; + ss2d3.sd3 = "D3.sd3"; + ss2d3.pb = ss2b; + + ss1d1.pd1 = ss2b; + ss1d3.pd3 = ss2d1; + + ss2d1.pd1 = ss1d3; + ss2d3.pd3 = ss1d1; + + SS1 ss1 = new SS1(); + ss1.s = new B[3]; + ss1.s[0] = ss1b; + ss1.s[1] = ss1d1; + ss1.s[2] = ss1d3; + + SS2 ss2 = new SS2(); + ss2.s = new B[3]; + ss2.s[0] = ss2b; + ss2.s[1] = ss2d1; + ss2.s[2] = ss2d3; + + ss = test.sequenceTest(ss1, ss2); + } + + test(ss.c1 != null); + B ss1b = ss.c1.s[0]; + B ss1d1 = ss.c1.s[1]; + test(ss.c2 != null); + B ss1d3 = ss.c1.s[2]; + + test(ss.c2 != null); + B ss2b = ss.c2.s[0]; + B ss2d1 = ss.c2.s[1]; + B ss2d3 = ss.c2.s[2]; + + test(ss1b.pb == ss1b); + test(ss1d1.pb == ss1b); + test(ss1d3.pb == ss1b); + + test(ss2b.pb == ss1b); + test(ss2d1.pb == ss2b); + test(ss2d3.pb == ss2b); + + test(ss1b.ice_id().equals("::Test::B")); + test(ss1d1.ice_id().equals("::Test::D1")); + test(ss1d3.ice_id().equals("::Test::B")); + + test(ss2b.ice_id().equals("::Test::B")); + test(ss2d1.ice_id().equals("::Test::D1")); + test(ss2d3.ice_id().equals("::Test::B")); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("sequence slicing (AMI)... "); + System.out.flush(); + { + SS ss; + { + B ss1b = new B(); + ss1b.sb = "B.sb"; + ss1b.pb = ss1b; + + D1 ss1d1 = new D1(); + ss1d1.sb = "D1.sb"; + ss1d1.sd1 = "D1.sd1"; + ss1d1.pb = ss1b; + + D3 ss1d3 = new D3(); + ss1d3.sb = "D3.sb"; + ss1d3.sd3 = "D3.sd3"; + ss1d3.pb = ss1b; + + B ss2b = new B(); + ss2b.sb = "B.sb"; + ss2b.pb = ss1b; + + D1 ss2d1 = new D1(); + ss2d1.sb = "D1.sb"; + ss2d1.sd1 = "D1.sd1"; + ss2d1.pb = ss2b; + + D3 ss2d3 = new D3(); + ss2d3.sb = "D3.sb"; + ss2d3.sd3 = "D3.sd3"; + ss2d3.pb = ss2b; + + ss1d1.pd1 = ss2b; + ss1d3.pd3 = ss2d1; + + ss2d1.pd1 = ss1d3; + ss2d3.pd3 = ss1d1; + + SS1 ss1 = new SS1(); + ss1.s = new B[3]; + ss1.s[0] = ss1b; + ss1.s[1] = ss1d1; + ss1.s[2] = ss1d3; + + SS2 ss2 = new SS2(); + ss2.s = new B[3]; + ss2.s[0] = ss2b; + ss2.s[1] = ss2d1; + ss2.s[2] = ss2d3; + + AMI_Test_sequenceTestI cb = new AMI_Test_sequenceTestI(); + test.sequenceTest_async(cb, ss1, ss2); + test(cb.check()); + ss = cb.r; + } + test(ss.c1 != null); + B ss1b = ss.c1.s[0]; + B ss1d1 = ss.c1.s[1]; + test(ss.c2 != null); + B ss1d3 = ss.c1.s[2]; + + test(ss.c2 != null); + B ss2b = ss.c2.s[0]; + B ss2d1 = ss.c2.s[1]; + B ss2d3 = ss.c2.s[2]; + + test(ss1b.pb == ss1b); + test(ss1d1.pb == ss1b); + test(ss1d3.pb == ss1b); + + test(ss2b.pb == ss1b); + test(ss2d1.pb == ss2b); + test(ss2d3.pb == ss2b); + + test(ss1b.ice_id().equals("::Test::B")); + test(ss1d1.ice_id().equals("::Test::D1")); + test(ss1d3.ice_id().equals("::Test::B")); + + test(ss2b.ice_id().equals("::Test::B")); + test(ss2d1.ice_id().equals("::Test::D1")); + test(ss2d3.ice_id().equals("::Test::B")); + } + System.out.println("ok"); + + System.out.print("dictionary slicing... "); + System.out.flush(); + { + try + { + java.util.IdentityHashMap bin = new java.util.IdentityHashMap(); + BDictHolder bout = new BDictHolder(); + java.util.Map r; + int i; + for(i = 0; i < 10; ++i) + { + String s = "D1." + new Integer(i).toString(); + D1 d1 = new D1(); + d1.sb = s; + d1.pb = d1; + d1.sd1 = s; + bin.put(new Integer(i), d1); + } + + r = test.dictionaryTest(bin, bout); + + test(bout.value.size() == 10); + for(i = 0; i < 10; ++i) + { + B b = (B)bout.value.get(new Integer(i * 10)); + test(b != null); + String s = "D1." + new Integer(i).toString(); + test(b.sb.equals(s)); + test(b.pb != null); + test(b.pb != b); + test(b.pb.sb.equals(s)); + test(b.pb.pb == b.pb); + } + + test(r.size() == 10); + for(i = 0; i < 10; ++i) + { + B b = (B)r.get(new Integer(i * 20)); + test(b != null); + String s = "D1." + new Integer(i * 20).toString(); + test(b.sb.equals(s)); + test(b.pb == (i == 0 ? (B)null : (B)r.get(new Integer((i - 1) * 20)))); + D1 d1 = (D1)b; + test(d1 != null); + test(d1.sd1.equals(s)); + test(d1.pd1 == d1); + } + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("dictionary slicing (AMI)... "); + System.out.flush(); + { + java.util.Map bin = new java.util.HashMap(); + java.util.Map bout; + java.util.Map r; + int i; + for(i = 0; i < 10; ++i) + { + String s = "D1." + new Integer(i).toString(); + D1 d1 = new D1(); + d1.sb = s; + d1.pb = d1; + d1.sd1 = s; + bin.put(new Integer(i), d1); + } + + AMI_Test_dictionaryTestI cb = new AMI_Test_dictionaryTestI(); + test.dictionaryTest_async(cb, bin); + test(cb.check()); + bout = cb.bout; + r = cb.r; + + test(bout.size() == 10); + for(i = 0; i < 10; ++i) + { + B b = (B)bout.get(new Integer(i * 10)); + test(b != null); + String s = "D1." + new Integer(i).toString(); + test(b.sb.equals(s)); + test(b.pb != null); + test(b.pb != b); + test(b.pb.sb.equals(s)); + test(b.pb.pb == b.pb); + } + + test(r.size() == 10); + for(i = 0; i < 10; ++i) + { + B b = (B)r.get(new Integer(i * 20)); + test(b != null); + String s = "D1." + new Integer(i * 20).toString(); + test(b.sb.equals(s)); + test(b.pb == (i == 0 ? (B)null : (B)r.get(new Integer((i - 1) * 20)))); + D1 d1 = (D1)b; + test(d1 != null); + test(d1.sd1.equals(s)); + test(d1.pd1 == d1); + } + } + System.out.println("ok"); + + System.out.print("base exception thrown as base exception... "); + System.out.flush(); + { + try + { + test.throwBaseAsBase(); + test(false); + } + catch(BaseException e) + { + test(e.ice_name().equals("Test::BaseException")); + test(e.sbe.equals("sbe")); + test(e.pb != null); + test(e.pb.sb.equals("sb")); + test(e.pb.pb == e.pb); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("base exception thrown as base exception (AMI)... "); + System.out.flush(); + { + AMI_Test_throwBaseAsBaseI cb = new AMI_Test_throwBaseAsBaseI(); + test.throwBaseAsBase_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("derived exception thrown as base exception... "); + System.out.flush(); + { + try + { + test.throwDerivedAsBase(); + test(false); + } + catch(DerivedException e) + { + test(e.ice_name().equals("Test::DerivedException")); + test(e.sbe.equals("sbe")); + test(e.pb != null); + test(e.pb.sb.equals("sb1")); + test(e.pb.pb == e.pb); + test(e.sde.equals("sde1")); + test(e.pd1 != null); + test(e.pd1.sb.equals("sb2")); + test(e.pd1.pb == e.pd1); + test(e.pd1.sd1.equals("sd2")); + test(e.pd1.pd1 == e.pd1); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("derived exception thrown as base exception (AMI)... "); + System.out.flush(); + { + AMI_Test_throwDerivedAsBaseI cb = new AMI_Test_throwDerivedAsBaseI(); + test.throwDerivedAsBase_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("derived exception thrown as derived exception... "); + System.out.flush(); + { + try + { + test.throwDerivedAsDerived(); + test(false); + } + catch(DerivedException e) + { + test(e.ice_name().equals("Test::DerivedException")); + test(e.sbe.equals("sbe")); + test(e.pb != null); + test(e.pb.sb.equals("sb1")); + test(e.pb.pb == e.pb); + test(e.sde.equals("sde1")); + test(e.pd1 != null); + test(e.pd1.sb.equals("sb2")); + test(e.pd1.pb == e.pd1); + test(e.pd1.sd1.equals("sd2")); + test(e.pd1.pd1 == e.pd1); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("derived exception thrown as derived exception (AMI)... "); + System.out.flush(); + { + AMI_Test_throwDerivedAsDerivedI cb = new AMI_Test_throwDerivedAsDerivedI(); + test.throwDerivedAsDerived_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("unknown derived exception thrown as base exception... "); + System.out.flush(); + { + try + { + test.throwUnknownDerivedAsBase(); + test(false); + } + catch(BaseException e) + { + test(e.ice_name().equals("Test::BaseException")); + test(e.sbe.equals("sbe")); + test(e.pb != null); + test(e.pb.sb.equals("sb d2")); + test(e.pb.pb == e.pb); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("unknown derived exception thrown as base exception (AMI)... "); + System.out.flush(); + { + AMI_Test_throwUnknownDerivedAsBaseI cb = new AMI_Test_throwUnknownDerivedAsBaseI(); + test.throwUnknownDerivedAsBase_async(cb); + test(cb.check()); + } + System.out.println("ok"); + + System.out.print("forward-declared class... "); + System.out.flush(); + { + try + { + ForwardHolder f = new ForwardHolder(); + test.useForward(f); + test(f.value != null); + } + catch(Exception ex) + { + test(false); + } + } + System.out.println("ok"); + + System.out.print("forward-declared class (AMI)... "); + System.out.flush(); + { + AMI_Test_useForwardI cb = new AMI_Test_useForwardI(); + test.useForward_async(cb); + test(cb.check()); + } + System.out.println("ok"); return test; } |