📄 alltests.cpp
字号:
catch(const KnownIntermediate& ki) { test(ki.b == "UnknownMostDerived1.b"); test(ki.ki == "UnknownMostDerived1.ki"); test(ki.ice_name() =="Test::KnownIntermediate"); } catch(...) { test(false); } called(); }};typedef IceUtil::Handle<AMI_Test_unknownMostDerived1AsKnownIntermediateI> AMI_Test_unknownMostDerived1AsKnownIntermediateIPtr;class AMI_Test_unknownMostDerived2AsBaseI : public AMI_TestIntf_unknownMostDerived2AsBase, public CallbackBase{ virtual void ice_response() { test(false); } virtual void ice_exception(const Ice::Exception& exc) { try { exc.ice_throw(); } catch(const Base& b) { test(b.b == "UnknownMostDerived2.b"); test(b.ice_name() =="Test::Base"); } catch(...) { test(false); } called(); }};typedef IceUtil::Handle<AMI_Test_unknownMostDerived2AsBaseI> AMI_Test_unknownMostDerived2AsBaseIPtr;TestIntfPrxallTests(const Ice::CommunicatorPtr& communicator){ Ice::ObjectPrx obj = communicator->stringToProxy("Test:default -p 12010"); TestIntfPrx test = TestIntfPrx::checkedCast(obj); cout << "base... " << flush; { try { test->baseAsBase(); test(false); } catch(const Base& b) { test(b.b == "Base.b"); test(b.ice_name() =="Test::Base"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "base (AMI)... " << flush; { AMI_Test_baseAsBaseIPtr cb = new AMI_Test_baseAsBaseI; test->baseAsBase_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "slicing of unknown derived... " << flush; { try { test->unknownDerivedAsBase(); test(false); } catch(const Base& b) { test(b.b == "UnknownDerived.b"); test(b.ice_name() =="Test::Base"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "slicing of unknown derived (AMI)... " << flush; { AMI_Test_unknownDerivedAsBaseIPtr cb = new AMI_Test_unknownDerivedAsBaseI; test->unknownDerivedAsBase_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "non-slicing of known derived as base... " << flush; { try { test->knownDerivedAsBase(); test(false); } catch(const KnownDerived& k) { test(k.b == "KnownDerived.b"); test(k.kd == "KnownDerived.kd"); test(k.ice_name() =="Test::KnownDerived"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "non-slicing of known derived as base (AMI)... " << flush; { AMI_Test_knownDerivedAsBaseIPtr cb = new AMI_Test_knownDerivedAsBaseI; test->knownDerivedAsBase_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "non-slicing of known derived as derived... " << flush; { try { test->knownDerivedAsKnownDerived(); test(false); } catch(const KnownDerived& k) { test(k.b == "KnownDerived.b"); test(k.kd == "KnownDerived.kd"); test(k.ice_name() =="Test::KnownDerived"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "non-slicing of known derived as derived (AMI)... " << flush; { AMI_Test_knownDerivedAsKnownDerivedIPtr cb = new AMI_Test_knownDerivedAsKnownDerivedI; test->knownDerivedAsKnownDerived_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "slicing of unknown intermediate as base... " << flush; { try { test->unknownIntermediateAsBase(); test(false); } catch(const Base& b) { test(b.b == "UnknownIntermediate.b"); test(b.ice_name() =="Test::Base"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "slicing of unknown intermediate as base (AMI)... " << flush; { AMI_Test_unknownIntermediateAsBaseIPtr cb = new AMI_Test_unknownIntermediateAsBaseI; test->unknownIntermediateAsBase_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "slicing of known intermediate as base... " << flush; { try { test->knownIntermediateAsBase(); test(false); } catch(const KnownIntermediate& ki) { test(ki.b == "KnownIntermediate.b"); test(ki.ki == "KnownIntermediate.ki"); test(ki.ice_name() =="Test::KnownIntermediate"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "slicing of known intermediate as base (AMI)... " << flush; { AMI_Test_knownIntermediateAsBaseIPtr cb = new AMI_Test_knownIntermediateAsBaseI; test->knownIntermediateAsBase_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "slicing of known most derived as base... " << flush; { try { test->knownMostDerivedAsBase(); test(false); } catch(const KnownMostDerived& kmd) { test(kmd.b == "KnownMostDerived.b"); test(kmd.ki == "KnownMostDerived.ki"); test(kmd.kmd == "KnownMostDerived.kmd"); test(kmd.ice_name() =="Test::KnownMostDerived"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "slicing of known most derived as base (AMI)... " << flush; { AMI_Test_knownMostDerivedAsBaseIPtr cb = new AMI_Test_knownMostDerivedAsBaseI; test->knownMostDerivedAsBase_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "non-slicing of known intermediate as intermediate... " << flush; { try { test->knownIntermediateAsKnownIntermediate(); test(false); } catch(const KnownIntermediate& ki) { test(ki.b == "KnownIntermediate.b"); test(ki.ki == "KnownIntermediate.ki"); test(ki.ice_name() =="Test::KnownIntermediate"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "non-slicing of known intermediate as intermediate (AMI)... " << flush; { AMI_Test_knownIntermediateAsKnownIntermediateIPtr cb = new AMI_Test_knownIntermediateAsKnownIntermediateI; test->knownIntermediateAsKnownIntermediate_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "non-slicing of known most derived exception as intermediate... " << flush; { try { test->knownMostDerivedAsKnownIntermediate(); test(false); } catch(const KnownMostDerived& kmd) { test(kmd.b == "KnownMostDerived.b"); test(kmd.ki == "KnownMostDerived.ki"); test(kmd.kmd == "KnownMostDerived.kmd"); test(kmd.ice_name() =="Test::KnownMostDerived"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "non-slicing of known most derived as intermediate (AMI)... " << flush; { AMI_Test_knownMostDerivedAsKnownIntermediateIPtr cb = new AMI_Test_knownMostDerivedAsKnownIntermediateI; test->knownMostDerivedAsKnownIntermediate_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "non-slicing of known most derived as most derived... " << flush; { try { test->knownMostDerivedAsKnownMostDerived(); test(false); } catch(const KnownMostDerived& kmd) { test(kmd.b == "KnownMostDerived.b"); test(kmd.ki == "KnownMostDerived.ki"); test(kmd.kmd == "KnownMostDerived.kmd"); test(kmd.ice_name() =="Test::KnownMostDerived"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "non-slicing of known most derived as most derived (AMI)... " << flush; { AMI_Test_knownMostDerivedAsKnownMostDerivedIPtr cb = new AMI_Test_knownMostDerivedAsKnownMostDerivedI; test->knownMostDerivedAsKnownMostDerived_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "slicing of unknown most derived, known intermediate as base... " << flush; { try { test->unknownMostDerived1AsBase(); test(false); } catch(const KnownIntermediate& ki) { test(ki.b == "UnknownMostDerived1.b"); test(ki.ki == "UnknownMostDerived1.ki"); test(ki.ice_name() =="Test::KnownIntermediate"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "slicing of unknown most derived, known intermediate as base (AMI)... " << flush; { AMI_Test_unknownMostDerived1AsBaseIPtr cb = new AMI_Test_unknownMostDerived1AsBaseI; test->unknownMostDerived1AsBase_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "slicing of unknown most derived, known intermediate as intermediate... " << flush; { try { test->unknownMostDerived1AsKnownIntermediate(); test(false); } catch(const KnownIntermediate& ki) { test(ki.b == "UnknownMostDerived1.b"); test(ki.ki == "UnknownMostDerived1.ki"); test(ki.ice_name() =="Test::KnownIntermediate"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "slicing of unknown most derived, known intermediate as intermediate (AMI)... " << flush; { AMI_Test_unknownMostDerived1AsKnownIntermediateIPtr cb = new AMI_Test_unknownMostDerived1AsKnownIntermediateI; test->unknownMostDerived1AsKnownIntermediate_async(cb); test(cb->check()); } cout << "ok" << endl; cout << "slicing of unknown most derived, unknown intermediate as base... " << flush; { try { test->unknownMostDerived2AsBase(); test(false); } catch(const Base& b) { test(b.b == "UnknownMostDerived2.b"); test(b.ice_name() =="Test::Base"); } catch(...) { test(false); } } cout << "ok" << endl; cout << "slicing of unknown most derived, unknown intermediate as base (AMI)... " << flush; { AMI_Test_unknownMostDerived2AsBaseIPtr cb = new AMI_Test_unknownMostDerived2AsBaseI; test->unknownMostDerived2AsBase_async(cb); test(cb->check()); } cout << "ok" << endl; return test;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -