+ TSM_ASSERT_EQUALS("Number of child elements was not expected value", 3, kids.size());\r
+ QName qtype(SimpleXMLObject::NAMESPACE,SimpleXMLObject::TYPE_NAME);\r
+ TSM_ASSERT_EQUALS("Child's schema type was not expected value", qtype, *(kids.back()->getSchemaType()));\r
+ }\r
+\r
+ void testUnmarshallingWithClone() {\r
+ TS_TRACE("testUnmarshallingWithClone");\r
+\r
+ string path=data_path + "SimpleXMLObjectWithChildren.xml";\r
+ ifstream fs(path.c_str());\r
+ DOMDocument* doc=XMLToolingConfig::getConfig().getParser().parse(fs);\r
+ TS_ASSERT(doc!=NULL);\r
+\r
+ const XMLObjectBuilder* b = XMLObjectBuilder::getBuilder(doc->getDocumentElement());\r
+ TS_ASSERT(b!=NULL);\r
+\r
+ auto_ptr<SimpleXMLObject> sxObject(\r
+ dynamic_cast<SimpleXMLObject*>(b->buildFromDocument(doc))\r
+ );\r
+ TS_ASSERT(sxObject.get()!=NULL);\r
+\r
+ sxObject->releaseThisAndChildrenDOM();\r
+ auto_ptr<SimpleXMLObject> clonedObject(sxObject->clone());\r
+\r
+ VectorOf(SimpleXMLObject) kids=clonedObject->getSimpleXMLObjects();\r
+ TSM_ASSERT_EQUALS("Number of child elements was not expected value", 3, kids.size());\r
+ QName qtype(SimpleXMLObject::NAMESPACE,SimpleXMLObject::TYPE_NAME);\r
+ TSM_ASSERT_EQUALS("Child's schema type was not expected value", qtype, *(kids.back()->getSchemaType()));\r