📄 alltests.cpp
字号:
cout << "testing alternate sequences... " << flush; { Test::DoubleSeq in(5); in[0] = 3.14; in[1] = 1 / 3; in[2] = 0.375; in[3] = 4 / 3; in[4] = -5.725; Ice::Double inArray[5]; for(int i = 0; i < 5; ++i) { inArray[i] = in[i]; } pair<const Ice::Double*, const Ice::Double*> inPair(inArray, inArray + 5); Test::DoubleSeq out; Test::DoubleSeq ret = t->opDoubleArray(inPair, out); test(out == in); test(ret == in); } { Test::BoolSeq in(5); in[0] = false; in[1] = true; in[2] = true; in[3] = false; in[4] = true; bool inArray[5]; for(int i = 0; i < 5; ++i) { inArray[i] = in[i]; } pair<const bool*, const bool*> inPair(inArray, inArray + 5); Test::BoolSeq out; Test::BoolSeq ret = t->opBoolArray(inPair, out); test(out == in); test(ret == in); } { Test::ByteList in; Ice::Byte inArray[5]; inArray[0] = '1'; in.push_back(inArray[0]); inArray[1] = '2'; in.push_back(inArray[1]); inArray[2] = '3'; in.push_back(inArray[2]); inArray[3] = '4'; in.push_back(inArray[3]); inArray[4] = '5'; in.push_back(inArray[4]); pair<const Ice::Byte*, const Ice::Byte*> inPair(inArray, inArray + 5); Test::ByteList out; Test::ByteList ret = t->opByteArray(inPair, out); test(out == in); test(ret == in); } { Test::VariableList in; Test::Variable inArray[5]; inArray[0].s = "These"; in.push_back(inArray[0]); inArray[1].s = "are"; in.push_back(inArray[1]); inArray[2].s = "five"; in.push_back(inArray[2]); inArray[3].s = "short"; in.push_back(inArray[3]); inArray[4].s = "strings."; in.push_back(inArray[4]); pair<const Test::Variable*, const Test::Variable*> inPair(inArray, inArray + 5); Test::VariableList out; Test::VariableList ret = t->opVariableArray(inPair, out); test(out == in); test(ret == in); } { Test::BoolSeq in(5); in[0] = false; in[1] = true; in[2] = true; in[3] = false; in[4] = true; pair<Test::BoolSeq::const_iterator, Test::BoolSeq::const_iterator> inPair(in.begin(), in.end()); Test::BoolSeq out; Test::BoolSeq ret = t->opBoolRange(inPair, out); test(out == in); test(ret == in); } { Test::ByteList in; in.push_back('1'); in.push_back('2'); in.push_back('3'); in.push_back('4'); in.push_back('5'); pair<Test::ByteList::const_iterator, Test::ByteList::const_iterator> inPair(in.begin(), in.end()); Test::ByteList out; Test::ByteList ret = t->opByteRange(inPair, out); test(out == in); test(ret == in); } { Test::VariableList in; Test::Variable v; v.s = "These"; in.push_back(v); v.s = "are"; in.push_back(v); v.s = "five"; in.push_back(v); v.s = "short"; in.push_back(v); v.s = "strings."; in.push_back(v); pair<Test::VariableList::const_iterator, Test::VariableList::const_iterator> inPair(in.begin(), in.end()); Test::VariableList out; Test::VariableList ret = t->opVariableRange(inPair, out); test(out == in); test(ret == in); } { Test::BoolSeq in(5); in[0] = false; in[1] = true; in[2] = true; in[3] = false; in[4] = true; bool inArray[5]; for(int i = 0; i < 5; ++i) { inArray[i] = in[i]; } pair<const bool*, const bool*> inPair(inArray, inArray + 5); Test::BoolSeq out; Test::BoolSeq ret = t->opBoolRangeType(inPair, out); test(out == in); test(ret == in); } { Test::ByteList in; in.push_back('1'); in.push_back('2'); in.push_back('3'); in.push_back('4'); in.push_back('5'); pair<Test::ByteList::const_iterator, Test::ByteList::const_iterator> inPair(in.begin(), in.end()); Test::ByteList out; Test::ByteList ret = t->opByteRangeType(inPair, out); test(out == in); test(ret == in); } { Test::VariableList in; deque<Test::Variable> inSeq; Test::Variable v; v.s = "These"; in.push_back(v); inSeq.push_back(v); v.s = "are"; in.push_back(v); inSeq.push_back(v); v.s = "five"; in.push_back(v); inSeq.push_back(v); v.s = "short"; in.push_back(v); inSeq.push_back(v); v.s = "strings."; in.push_back(v); inSeq.push_back(v); pair<deque<Test::Variable>::const_iterator, deque<Test::Variable>::const_iterator> inPair(inSeq.begin(), inSeq.end()); Test::VariableList out; Test::VariableList ret = t->opVariableRangeType(inPair, out); test(out == in); test(ret == in); } { deque<bool> in(5); in[0] = false; in[1] = true; in[2] = true; in[3] = false; in[4] = true; deque<bool> out; deque<bool> ret = t->opBoolSeq(in, out); test(out == in); test(ret == in); } { list<bool> in; in.push_back(false); in.push_back(true); in.push_back(true); in.push_back(false); in.push_back(true); list<bool> out; list<bool> ret = t->opBoolList(in, out); test(out == in); test(ret == in); } { deque< ::Ice::Byte> in(5); in[0] = '1'; in[1] = '2'; in[2] = '3'; in[3] = '4'; in[4] = '5'; deque< ::Ice::Byte> out; deque< ::Ice::Byte> ret = t->opByteSeq(in, out); test(out == in); test(ret == in); } { list< ::Ice::Byte> in; in.push_back('1'); in.push_back('2'); in.push_back('3'); in.push_back('4'); in.push_back('5'); list< ::Ice::Byte> out; list< ::Ice::Byte> ret = t->opByteList(in, out); test(out == in); test(ret == in); } { MyByteSeq in(5); int i = 0; for(MyByteSeq::iterator p = in.begin(); p != in.end(); ++p) { *p = '1' + i++; } MyByteSeq out; MyByteSeq ret = t->opMyByteSeq(in, out); test(out == in); test(ret == in); } { deque<string> in(5); in[0] = "These"; in[1] = "are"; in[2] = "five"; in[3] = "short"; in[4] = "strings."; deque<string> out; deque<string> ret = t->opStringSeq(in, out); test(out == in); test(ret == in); } { list<string> in; in.push_back("These"); in.push_back("are"); in.push_back("five"); in.push_back("short"); in.push_back("strings."); list<string> out; list<string> ret = t->opStringList(in, out); test(out == in); test(ret == in); } { deque<Test::Fixed> in(5); in[0].s = 1; in[1].s = 2; in[2].s = 3; in[3].s = 4; in[4].s = 5; deque<Test::Fixed> out; deque<Test::Fixed> ret = t->opFixedSeq(in, out); test(out == in); test(ret == in); } { list<Test::Fixed> in(5); short num = 1; for(list<Test::Fixed>::iterator p = in.begin(); p != in.end(); ++p) { (*p).s = num++; } list<Test::Fixed> out; list<Test::Fixed> ret = t->opFixedList(in, out); test(out == in); test(ret == in); } { deque<Test::Variable> in(5); in[0].s = "These"; in[1].s = "are"; in[2].s = "five"; in[3].s = "short"; in[4].s = "strings."; deque<Test::Variable> out; deque<Test::Variable> ret = t->opVariableSeq(in, out); test(out == in); test(ret == in); } { list<Test::Variable> in; Test::Variable v; v.s = "These"; in.push_back(v); v.s = "are"; in.push_back(v); v.s = "five"; in.push_back(v); v.s = "short"; in.push_back(v); v.s = "strings."; in.push_back(v); list<Test::Variable> out; list<Test::Variable> ret = t->opVariableList(in, out); test(out == in); test(ret == in); } { deque<Test::StringStringDict> in(5); in[0]["A"] = "a"; in[1]["B"] = "b"; in[2]["C"] = "c"; in[3]["D"] = "d"; in[4]["E"] = "e"; deque<Test::StringStringDict> out; deque<Test::StringStringDict> ret = t->opStringStringDictSeq(in, out); test(out == in); test(ret == in); } { list<Test::StringStringDict> in; Test::StringStringDict ssd; ssd["A"] = "a"; in.push_back(ssd); ssd["B"] = "b"; in.push_back(ssd); ssd["C"] = "c"; in.push_back(ssd); ssd["D"] = "d"; in.push_back(ssd); ssd["E"] = "e"; in.push_back(ssd); list<Test::StringStringDict> out; list<Test::StringStringDict> ret = t->opStringStringDictList(in, out); test(out == in); test(ret == in); } { deque<Test::E> in(5); in[0] = Test::E1; in[1] = Test::E2; in[2] = Test::E3; in[3] = Test::E1; in[4] = Test::E3; deque<Test::E> out; deque<Test::E> ret = t->opESeq(in, out); test(out == in); test(ret == in); } { list<Test::E> in; in.push_back(Test::E1); in.push_back(Test::E2); in.push_back(Test::E3); in.push_back(Test::E1); in.push_back(Test::E3); list<Test::E> out; list<Test::E> ret = t->opEList(in, out); test(out == in); test(ret == in); } { deque<Test::CPrx> in(5); in[0] = Test::CPrx::uncheckedCast(communicator->stringToProxy("C1:default -p 12010 -t 10000")); in[1] = Test::CPrx::uncheckedCast(communicator->stringToProxy("C2:default -p 12010 -t 10001")); in[2] = Test::CPrx::uncheckedCast(communicator->stringToProxy("C3:default -p 12010 -t 10002")); in[3] = Test::CPrx::uncheckedCast(communicator->stringToProxy("C4:default -p 12010 -t 10003")); in[4] = Test::CPrx::uncheckedCast(communicator->stringToProxy("C5:default -p 12010 -t 10004")); deque<Test::CPrx> out; deque<Test::CPrx> ret = t->opCPrxSeq(in, out); test(out == in); test(ret == in); } { list<Test::CPrx> in; in.push_back(Test::CPrx::uncheckedCast(communicator->stringToProxy("C1:default -p 12010 -t 10000"))); in.push_back(Test::CPrx::uncheckedCast(communicator->stringToProxy("C2:default -p 12010 -t 10001"))); in.push_back(Test::CPrx::uncheckedCast(communicator->stringToProxy("C3:default -p 12010 -t 10002"))); in.push_back(Test::CPrx::uncheckedCast(communicator->stringToProxy("C4:default -p 12010 -t 10003"))); in.push_back(Test::CPrx::uncheckedCast(communicator->stringToProxy("C5:default -p 12010 -t 10004"))); list<Test::CPrx> out; list<Test::CPrx> ret = t->opCPrxList(in, out); test(out == in); test(ret == in); } { deque<Test::CPtr> in(5); in[0] = new Test::C(); in[1] = in[0]; in[2] = in[0]; in[3] = in[0]; in[4] = in[0]; deque<Test::CPtr> out; deque<Test::CPtr> ret = t->opCSeq(in, out); test(out.size() == in.size()); test(ret.size() == in.size()); for(unsigned int i = 1; i < in.size(); ++i) { test(out[i] == out[0]); test(ret[i] == out[i]); } } { list<Test::CPtr> in; in.push_back(new Test::C()); in.push_back(new Test::C()); in.push_back(new Test::C()); in.push_back(new Test::C()); in.push_back(new Test::C()); list<Test::CPtr> out; list<Test::CPtr> ret = t->opCList(in, out); test(out.size() == in.size()); test(ret.size() == in.size()); list<Test::CPtr>::const_iterator p1; list<Test::CPtr>::const_iterator p2; for(p1 = out.begin(), p2 = ret.begin(); p1 != out.end(); ++p1, ++p2) { test(*p1 == *p2); } } cout << "ok" << endl; if(!collocated) { cout << "testing alternate sequences with AMI... " << flush; { Test::BoolSeq in(5); in[0] = false; in[1] = true; in[2] = true; in[3] = false; in[4] = true; bool inArray[5]; for(int i = 0; i < 5; ++i) { inArray[i] = in[i]; } pair<const bool*, const bool*> inPair(inArray, inArray + 5); AMI_TestIntf_opBoolArrayIPtr cb = new AMI_TestIntf_opBoolArrayI(in); t->opBoolArray_async(cb, inPair); test(cb->check()); } { Ice::Byte in[5]; in[0] = '1'; in[1] = '2'; in[2] = '3'; in[3] = '4'; in[4] = '5'; pair<const Ice::Byte*, const Ice::Byte*> inPair(in, in + 5); AMI_TestIntf_opByteArrayIPtr cb = new AMI_TestIntf_opByteArrayI(inPair); t->opByteArray_async(cb, inPair); test(cb->check());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -