📄 alltests.cpp
字号:
typedef IceUtil::Handle<AMI_Test_sequenceTestI> AMI_Test_sequenceTestIPtr;class AMI_Test_dictionaryTestI : public AMI_TestIntf_dictionaryTest, public CallbackBase{ virtual void ice_response(const BDict& r, const BDict& bout) { this->r = r; this->bout = bout; called(); } virtual void ice_exception(const Ice::Exception& exc) { test(false); }public: BDict bout; BDict r;};typedef IceUtil::Handle<AMI_Test_dictionaryTestI> AMI_Test_dictionaryTestIPtr;class AMI_Test_throwBaseAsBaseI : public AMI_TestIntf_throwBaseAsBase, public CallbackBase{ virtual void ice_response() { test(false); } virtual void ice_exception(const ::Ice::Exception& ex) { test(ex.ice_name() == "Test::BaseException"); const BaseException& e = dynamic_cast<const BaseException&>(ex); test(e.sbe == "sbe"); test(e.pb); test(e.pb->sb == "sb"); test(e.pb->pb == e.pb); called(); }};typedef IceUtil::Handle<AMI_Test_throwBaseAsBaseI> AMI_Test_throwBaseAsBaseIPtr;class AMI_Test_throwDerivedAsBaseI : public AMI_TestIntf_throwDerivedAsBase, public CallbackBase{ virtual void ice_response() { test(false); } virtual void ice_exception(const ::Ice::Exception& ex) { test(ex.ice_name() == "Test::DerivedException"); const DerivedException& e = dynamic_cast<const DerivedException&>(ex); test(e.sbe == "sbe"); test(e.pb); test(e.pb->sb == "sb1"); test(e.pb->pb == e.pb); test(e.sde == "sde1"); test(e.pd1); test(e.pd1->sb == "sb2"); test(e.pd1->pb == e.pd1); test(e.pd1->sd1 == "sd2"); test(e.pd1->pd1 == e.pd1); called(); }};typedef IceUtil::Handle<AMI_Test_throwDerivedAsBaseI> AMI_Test_throwDerivedAsBaseIPtr;class AMI_Test_throwDerivedAsDerivedI : public AMI_TestIntf_throwDerivedAsDerived, public CallbackBase{ virtual void ice_response() { test(false); } virtual void ice_exception(const ::Ice::Exception& ex) { test(ex.ice_name() == "Test::DerivedException"); const DerivedException& e = dynamic_cast<const DerivedException&>(ex); test(e.sbe == "sbe"); test(e.pb); test(e.pb->sb == "sb1"); test(e.pb->pb == e.pb); test(e.sde == "sde1"); test(e.pd1); test(e.pd1->sb == "sb2"); test(e.pd1->pb == e.pd1); test(e.pd1->sd1 == "sd2"); test(e.pd1->pd1 == e.pd1); called(); }};typedef IceUtil::Handle<AMI_Test_throwDerivedAsDerivedI> AMI_Test_throwDerivedAsDerivedIPtr;class AMI_Test_throwUnknownDerivedAsBaseI : public AMI_TestIntf_throwUnknownDerivedAsBase, public CallbackBase{ virtual void ice_response() { test(false); } virtual void ice_exception(const ::Ice::Exception& ex) { test(ex.ice_name() == "Test::BaseException"); const BaseException& e = dynamic_cast<const BaseException&>(ex); test(e.sbe == "sbe"); test(e.pb); test(e.pb->sb == "sb d2"); test(e.pb->pb == e.pb); called(); }};typedef IceUtil::Handle<AMI_Test_throwUnknownDerivedAsBaseI> AMI_Test_throwUnknownDerivedAsBaseIPtr;class AMI_Test_useForwardI : public AMI_TestIntf_useForward, public CallbackBase{ virtual void ice_response(const ForwardPtr& f) { test(f); called(); } virtual void ice_exception(const Ice::Exception& exc) { test(false); }};typedef IceUtil::Handle<AMI_Test_useForwardI> AMI_Test_useForwardIPtr;TestIntfPrxallTests(const Ice::CommunicatorPtr& communicator){ Ice::ObjectPrx obj = communicator->stringToProxy("Test:default -p 12010"); TestIntfPrx test = TestIntfPrx::checkedCast(obj); cout << "base as Object... " << flush; { Ice::ObjectPtr o; try { o = test->SBaseAsObject(); test(o); test(o->ice_id() == "::Test::SBase"); } catch(...) { test(0); } SBasePtr sb = SBasePtr::dynamicCast(o); test(sb); test(sb->sb == "SBase.sb"); } cout << "ok" << endl; cout << "base as Object (AMI)... " << flush; { AMI_Test_SBaseAsObjectIPtr cb = new AMI_Test_SBaseAsObjectI; test->SBaseAsObject_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "base as base... " << flush; { SBasePtr sb; try { sb = test->SBaseAsSBase(); test(sb->sb == "SBase.sb"); } catch(...) { test(0); } } cout << "ok" << endl; cout << "base as base (AMI)... " << flush; { AMI_Test_SBaseAsSBaseIPtr cb = new AMI_Test_SBaseAsSBaseI; test->SBaseAsSBase_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "base with known derived as base... " << flush; { SBasePtr sb; try { sb = test->SBSKnownDerivedAsSBase(); test(sb->sb == "SBSKnownDerived.sb"); } catch(...) { test(0); } SBSKnownDerivedPtr sbskd = SBSKnownDerivedPtr::dynamicCast(sb); test(sbskd); test(sbskd->sbskd == "SBSKnownDerived.sbskd"); } cout << "ok" << endl; cout << "base with known derived as base (AMI)... " << flush; { AMI_Test_SBSKnownDerivedAsSBaseIPtr cb = new AMI_Test_SBSKnownDerivedAsSBaseI; test->SBSKnownDerivedAsSBase_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "base with known derived as known derived... " << flush; { SBSKnownDerivedPtr sbskd; try { sbskd = test->SBSKnownDerivedAsSBSKnownDerived(); test(sbskd->sbskd == "SBSKnownDerived.sbskd"); } catch(...) { test(0); } } cout << "ok" << endl; cout << "base with known derived as known derived (AMI)... " << flush; { AMI_Test_SBSKnownDerivedAsSBSKnownDerivedIPtr cb = new AMI_Test_SBSKnownDerivedAsSBSKnownDerivedI; test->SBSKnownDerivedAsSBSKnownDerived_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "base with unknown derived as base... " << flush; { SBasePtr sb; try { sb = test->SBSUnknownDerivedAsSBase(); test(sb->sb == "SBSUnknownDerived.sb"); } catch(...) { test(0); } } cout << "ok" << endl; cout << "base with unknown derived as base (AMI)... " << flush; { AMI_Test_SBSUnknownDerivedAsSBaseIPtr cb = new AMI_Test_SBSUnknownDerivedAsSBaseI; test->SBSUnknownDerivedAsSBase_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "unknown with Object as Object... " << flush; { Ice::ObjectPtr o; try { o = test->SUnknownAsObject(); test(0); } catch(const Ice::NoObjectFactoryException&) { } catch(...) { test(0); } } cout << "ok" << endl; cout << "unknown with Object as Object (AMI)... " << flush; { try { AMI_Test_SUnknownAsObjectIPtr cb = new AMI_Test_SUnknownAsObjectI; test->SUnknownAsObject_async(cb);
test(cb->check()); } catch(...) { test(0); } } cout << "ok" << endl; cout << "one-element cycle... " << flush; { try { BPtr b = test->oneElementCycle(); test(b); test(b->ice_id() == "::Test::B"); test(b->sb == "B1.sb"); test(b->pb == b); } catch(...) { test(0); } } cout << "ok" << endl; cout << "one-element cycle (AMI)... " << flush; { AMI_Test_oneElementCycleIPtr cb = new AMI_Test_oneElementCycleI; test->oneElementCycle_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "two-element cycle... " << flush; { try { BPtr b1 = test->twoElementCycle(); test(b1); test(b1->ice_id() == "::Test::B"); test(b1->sb == "B1.sb"); BPtr b2 = b1->pb; test(b2); test(b2->ice_id() == "::Test::B"); test(b2->sb == "B2.sb"); test(b2->pb == b1); } catch(...) { test(0); } } cout << "ok" << endl; cout << "two-element cycle (AMI)... " << flush; { AMI_Test_twoElementCycleIPtr cb = new AMI_Test_twoElementCycleI; test->twoElementCycle_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "known derived pointer slicing as base... " << flush; { try { BPtr b1; b1 = test->D1AsB(); test(b1); test(b1->ice_id() == "::Test::D1"); test(b1->sb == "D1.sb"); test(b1->pb); test(b1->pb != b1); D1Ptr d1 = D1Ptr::dynamicCast(b1); test(d1); test(d1->sd1 == "D1.sd1"); test(d1->pd1); test(d1->pd1 != b1); test(b1->pb == d1->pd1); BPtr b2 = b1->pb; test(b2); test(b2->pb == b1); test(b2->sb == "D2.sb"); test(b2->ice_id() == "::Test::B"); } catch(...) { test(0); } } cout << "ok" << endl; cout << "known derived pointer slicing as base (AMI)... " << flush; { AMI_Test_D1AsBIPtr cb = new AMI_Test_D1AsBI; test->D1AsB_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "known derived pointer slicing as derived... " << flush; { try { D1Ptr d1; d1 = test->D1AsD1(); test(d1); test(d1->ice_id() == "::Test::D1"); test(d1->sb == "D1.sb"); test(d1->pb); test(d1->pb != d1); BPtr b2 = d1->pb; test(b2); test(b2->ice_id() == "::Test::B"); test(b2->sb == "D2.sb"); test(b2->pb == d1); } catch(...) { test(0); } } cout << "ok" << endl; cout << "known derived pointer slicing as derived (AMI)... " << flush; { AMI_Test_D1AsD1IPtr cb = new AMI_Test_D1AsD1I; test->D1AsD1_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "unknown derived pointer slicing as base... " << flush; { try { BPtr b2; b2 = test->D2AsB(); test(b2); test(b2->ice_id() == "::Test::B"); test(b2->sb == "D2.sb"); test(b2->pb); test(b2->pb != b2); BPtr b1 = b2->pb; test(b1); test(b1->ice_id() == "::Test::D1"); test(b1->sb == "D1.sb"); test(b1->pb == b2); D1Ptr d1 = D1Ptr::dynamicCast(b1); test(d1); test(d1->sd1 == "D1.sd1"); test(d1->pd1 == b2); } catch(...) { test(0); } } cout << "ok" << endl; cout << "unknown derived pointer slicing as base (AMI)... " << flush; { AMI_Test_D2AsBIPtr cb = new AMI_Test_D2AsBI; test->D2AsB_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "param ptr slicing with known first... " << flush; { try { BPtr b1; BPtr b2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -