⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alltests.cpp

📁 ICE-3.2 一个开源的中间件
💻 CPP
📖 第 1 页 / 共 4 页
字号:
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 + -