Updated wrap unit tests

release/4.3a0
Richard Roberts 2012-07-27 19:16:00 +00:00
parent af48d086ed
commit d95ca7857b
2 changed files with 33 additions and 29 deletions

View File

@ -19,24 +19,24 @@ void _deleteAllObjects()
std::streambuf *outbuf = std::cout.rdbuf(&mout); std::streambuf *outbuf = std::cout.rdbuf(&mout);
bool anyDeleted = false; bool anyDeleted = false;
for(Collector_Point2::iterator iter = collector_Point2.begin(); { for(Collector_Point2::iterator iter = collector_Point2.begin();
iter != collector_Point2.end(); ) { iter != collector_Point2.end(); ) {
delete *iter; delete *iter;
collector_Point2.erase(iter++); collector_Point2.erase(iter++);
anyDeleted = true; anyDeleted = true;
} } }
for(Collector_Point3::iterator iter = collector_Point3.begin(); { for(Collector_Point3::iterator iter = collector_Point3.begin();
iter != collector_Point3.end(); ) { iter != collector_Point3.end(); ) {
delete *iter; delete *iter;
collector_Point3.erase(iter++); collector_Point3.erase(iter++);
anyDeleted = true; anyDeleted = true;
} } }
for(Collector_Test::iterator iter = collector_Test.begin(); { for(Collector_Test::iterator iter = collector_Test.begin();
iter != collector_Test.end(); ) { iter != collector_Test.end(); ) {
delete *iter; delete *iter;
collector_Test.erase(iter++); collector_Test.erase(iter++);
anyDeleted = true; anyDeleted = true;
} } }
if(anyDeleted) if(anyDeleted)
cout << cout <<
"WARNING: Wrap modules with variables in the workspace have been reloaded due to\n" "WARNING: Wrap modules with variables in the workspace have been reloaded due to\n"
@ -227,14 +227,14 @@ void Point3_StaticFunctionRet_15(int nargout, mxArray *out[], int nargin, const
typedef boost::shared_ptr<Point3> Shared; typedef boost::shared_ptr<Point3> Shared;
checkArguments("Point3.StaticFunctionRet",nargout,nargin,1); checkArguments("Point3.StaticFunctionRet",nargout,nargin,1);
double z = unwrap< double >(in[0]); double z = unwrap< double >(in[0]);
out[0] = wrap_shared_ptr(SharedPoint3(new Point3(Point3::StaticFunctionRet(z))),"Point3", false); out[0] = wrap_shared_ptr(SharedPoint3(new Point3(Point3::StaticFunctionRet(z))),"Point3", false);
} }
void Point3_staticFunction_16(int nargout, mxArray *out[], int nargin, const mxArray *in[]) void Point3_staticFunction_16(int nargout, mxArray *out[], int nargin, const mxArray *in[])
{ {
typedef boost::shared_ptr<Point3> Shared; typedef boost::shared_ptr<Point3> Shared;
checkArguments("Point3.staticFunction",nargout,nargin,0); checkArguments("Point3.staticFunction",nargout,nargin,0);
out[0] = wrap< double >(Point3::staticFunction()); out[0] = wrap< double >(Point3::staticFunction());
} }
void Test_collectorInsertAndMakeBase_17(int nargout, mxArray *out[], int nargin, const mxArray *in[]) void Test_collectorInsertAndMakeBase_17(int nargout, mxArray *out[], int nargin, const mxArray *in[])
@ -299,8 +299,9 @@ void Test_create_MixedPtrs_22(int nargout, mxArray *out[], int nargin, const mxA
typedef boost::shared_ptr<Test> Shared; typedef boost::shared_ptr<Test> Shared;
checkArguments("create_MixedPtrs",nargout,nargin-1,0); checkArguments("create_MixedPtrs",nargout,nargin-1,0);
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test"); Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
out[0] = wrap_shared_ptr(SharedTest(new Test(obj->create_MixedPtrs().first)),"Test", false); pair< Test, SharedTest > pairResult = obj->create_MixedPtrs();
out[0] = wrap_shared_ptr(obj->create_MixedPtrs().second,"Test", false); out[0] = wrap_shared_ptr(SharedTest(new Test(pairResult.first)),"Test", false);
out[1] = wrap_shared_ptr(pairResult.second,"Test", false);
} }
void Test_create_ptrs_23(int nargout, mxArray *out[], int nargin, const mxArray *in[]) void Test_create_ptrs_23(int nargout, mxArray *out[], int nargin, const mxArray *in[])
@ -310,8 +311,9 @@ void Test_create_ptrs_23(int nargout, mxArray *out[], int nargin, const mxArray
typedef boost::shared_ptr<Test> Shared; typedef boost::shared_ptr<Test> Shared;
checkArguments("create_ptrs",nargout,nargin-1,0); checkArguments("create_ptrs",nargout,nargin-1,0);
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test"); Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
out[0] = wrap_shared_ptr(obj->create_ptrs().first,"Test", false); pair< SharedTest, SharedTest > pairResult = obj->create_ptrs();
out[0] = wrap_shared_ptr(obj->create_ptrs().second,"Test", false); out[0] = wrap_shared_ptr(pairResult.first,"Test", false);
out[1] = wrap_shared_ptr(pairResult.second,"Test", false);
} }
void Test_print_24(int nargout, mxArray *out[], int nargin, const mxArray *in[]) void Test_print_24(int nargout, mxArray *out[], int nargin, const mxArray *in[])
@ -413,8 +415,9 @@ void Test_return_pair_34(int nargout, mxArray *out[], int nargin, const mxArray
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test"); Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
Vector v = unwrap< Vector >(in[1]); Vector v = unwrap< Vector >(in[1]);
Matrix A = unwrap< Matrix >(in[2]); Matrix A = unwrap< Matrix >(in[2]);
out[0] = wrap< Vector >(obj->return_pair(v,A).first); pair< Vector, Matrix > pairResult = obj->return_pair(v,A);
out[1] = wrap< Matrix >(obj->return_pair(v,A).second); out[0] = wrap< Vector >(pairResult.first);
out[1] = wrap< Matrix >(pairResult.second);
} }
void Test_return_ptrs_35(int nargout, mxArray *out[], int nargin, const mxArray *in[]) void Test_return_ptrs_35(int nargout, mxArray *out[], int nargin, const mxArray *in[])
@ -426,8 +429,9 @@ void Test_return_ptrs_35(int nargout, mxArray *out[], int nargin, const mxArray
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test"); Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
boost::shared_ptr<Test> p1 = unwrap_shared_ptr< Test >(in[1], "ptr_Test"); boost::shared_ptr<Test> p1 = unwrap_shared_ptr< Test >(in[1], "ptr_Test");
boost::shared_ptr<Test> p2 = unwrap_shared_ptr< Test >(in[2], "ptr_Test"); boost::shared_ptr<Test> p2 = unwrap_shared_ptr< Test >(in[2], "ptr_Test");
out[0] = wrap_shared_ptr(obj->return_ptrs(p1,p2).first,"Test", false); pair< SharedTest, SharedTest > pairResult = obj->return_ptrs(p1,p2);
out[0] = wrap_shared_ptr(obj->return_ptrs(p1,p2).second,"Test", false); out[0] = wrap_shared_ptr(pairResult.first,"Test", false);
out[1] = wrap_shared_ptr(pairResult.second,"Test", false);
} }
void Test_return_size_t_36(int nargout, mxArray *out[], int nargin, const mxArray *in[]) void Test_return_size_t_36(int nargout, mxArray *out[], int nargin, const mxArray *in[])

View File

@ -29,42 +29,42 @@ void _deleteAllObjects()
std::streambuf *outbuf = std::cout.rdbuf(&mout); std::streambuf *outbuf = std::cout.rdbuf(&mout);
bool anyDeleted = false; bool anyDeleted = false;
for(Collector_ns1ClassA::iterator iter = collector_ns1ClassA.begin(); { for(Collector_ns1ClassA::iterator iter = collector_ns1ClassA.begin();
iter != collector_ns1ClassA.end(); ) { iter != collector_ns1ClassA.end(); ) {
delete *iter; delete *iter;
collector_ns1ClassA.erase(iter++); collector_ns1ClassA.erase(iter++);
anyDeleted = true; anyDeleted = true;
} } }
for(Collector_ns1ClassB::iterator iter = collector_ns1ClassB.begin(); { for(Collector_ns1ClassB::iterator iter = collector_ns1ClassB.begin();
iter != collector_ns1ClassB.end(); ) { iter != collector_ns1ClassB.end(); ) {
delete *iter; delete *iter;
collector_ns1ClassB.erase(iter++); collector_ns1ClassB.erase(iter++);
anyDeleted = true; anyDeleted = true;
} } }
for(Collector_ns2ClassA::iterator iter = collector_ns2ClassA.begin(); { for(Collector_ns2ClassA::iterator iter = collector_ns2ClassA.begin();
iter != collector_ns2ClassA.end(); ) { iter != collector_ns2ClassA.end(); ) {
delete *iter; delete *iter;
collector_ns2ClassA.erase(iter++); collector_ns2ClassA.erase(iter++);
anyDeleted = true; anyDeleted = true;
} } }
for(Collector_ns2ns3ClassB::iterator iter = collector_ns2ns3ClassB.begin(); { for(Collector_ns2ns3ClassB::iterator iter = collector_ns2ns3ClassB.begin();
iter != collector_ns2ns3ClassB.end(); ) { iter != collector_ns2ns3ClassB.end(); ) {
delete *iter; delete *iter;
collector_ns2ns3ClassB.erase(iter++); collector_ns2ns3ClassB.erase(iter++);
anyDeleted = true; anyDeleted = true;
} } }
for(Collector_ns2ClassC::iterator iter = collector_ns2ClassC.begin(); { for(Collector_ns2ClassC::iterator iter = collector_ns2ClassC.begin();
iter != collector_ns2ClassC.end(); ) { iter != collector_ns2ClassC.end(); ) {
delete *iter; delete *iter;
collector_ns2ClassC.erase(iter++); collector_ns2ClassC.erase(iter++);
anyDeleted = true; anyDeleted = true;
} } }
for(Collector_ClassD::iterator iter = collector_ClassD.begin(); { for(Collector_ClassD::iterator iter = collector_ClassD.begin();
iter != collector_ClassD.end(); ) { iter != collector_ClassD.end(); ) {
delete *iter; delete *iter;
collector_ClassD.erase(iter++); collector_ClassD.erase(iter++);
anyDeleted = true; anyDeleted = true;
} } }
if(anyDeleted) if(anyDeleted)
cout << cout <<
"WARNING: Wrap modules with variables in the workspace have been reloaded due to\n" "WARNING: Wrap modules with variables in the workspace have been reloaded due to\n"
@ -230,7 +230,7 @@ void ns2ClassA_afunction_12(int nargout, mxArray *out[], int nargin, const mxArr
{ {
typedef boost::shared_ptr<ns2::ClassA> Shared; typedef boost::shared_ptr<ns2::ClassA> Shared;
checkArguments("ns2ClassA.afunction",nargout,nargin,0); checkArguments("ns2ClassA.afunction",nargout,nargin,0);
out[0] = wrap< double >(ns2::ClassA::afunction()); out[0] = wrap< double >(ns2::ClassA::afunction());
} }
void ns2ns3ClassB_collectorInsertAndMakeBase_13(int nargout, mxArray *out[], int nargin, const mxArray *in[]) void ns2ns3ClassB_collectorInsertAndMakeBase_13(int nargout, mxArray *out[], int nargin, const mxArray *in[])