Add overloaded assertEquals() for testing XMLCh* string equality.
[shibboleth/cpp-opensaml.git] / samltest / internal.h
index 1c97b69..664ab40 100644 (file)
@@ -72,7 +72,15 @@ protected:
 
     void assertEquals(const char* failMessage, DOMDocument* expectedDOM, XMLObject* xmlObject) {
         DOMElement* generatedDOM = xmlObject->marshall();
-        TSM_ASSERT(failMessage,generatedDOM->isEqualNode(expectedDOM->getDocumentElement()));
+        if (!generatedDOM->isEqualNode(expectedDOM->getDocumentElement())) {
+            string buf;
+            XMLHelper::serialize(generatedDOM, buf);
+            TS_TRACE(buf.c_str());
+            buf.erase();
+            XMLHelper::serialize(expectedDOM->getDocumentElement(), buf);
+            TS_TRACE(buf.c_str());
+            TSM_ASSERT(failMessage, false);
+        }
     }
 
     void assertEquals(DOMDocument* expectedDOM, XMLObject* xmlObject) {
@@ -80,6 +88,19 @@ protected:
         delete xmlObject;
     }
 
+    void assertEquals(const char* failMessage, const XMLCh* expectedString, const XMLCh* testString) {
+        char* buf = NULL;
+        if (!XMLString::equals(expectedString, testString)) {
+            buf = XMLString::transcode(testString);
+            TS_TRACE(buf);
+            XMLString::release(&buf);
+            buf = XMLString::transcode(expectedString);
+            TS_TRACE(buf);
+            XMLString::release(&buf);
+            TSM_ASSERT(failMessage, false);
+        }
+    }
+
 public:
     void setUp() {
         ParserPool& p=XMLToolingConfig::getConfig().getParser();