#include #include #include "uscxml/messages/MMIMessages.h" #include #include #include #include #include using namespace uscxml; using namespace boost; Arabica::DOM::Document xmlToDoc(const std::string& xml) { std::stringstream* ss = new std::stringstream(); (*ss) << xml; std::auto_ptr ssPtr(ss); Arabica::SAX::InputSource inputSource; inputSource.setByteStream(ssPtr); Arabica::SAX2DOM::Parser parser; parser.parse(inputSource); return parser.getDocument(); } int main(int argc, char** argv) { { // --- NewContextRequest std::stringstream ss; ss << ""; NewContextRequest msg = NewContextRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "NewContextRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.data, "")); NewContextRequest msg2 = NewContextRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "NewContextRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.data, "")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.request.newcontext"); assert(ev.origin == msg.source); } { // --- NewContextResponse std::stringstream ss; ss << " "; NewContextResponse msg = NewContextResponse::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "NewContextResponse")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(msg.status == StatusResponse::SUCCESS); assert(boost::iequals(msg.statusInfo, "")); assert(boost::iequals(msg.context, "URI-1")); assert(boost::iequals(msg.data, "")); NewContextResponse msg2 = NewContextResponse::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "NewContextResponse")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(msg2.status == StatusResponse::SUCCESS); assert(boost::iequals(msg2.statusInfo, "")); assert(boost::iequals(msg2.context, "URI-1")); assert(boost::iequals(msg2.data, "")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.response.newcontext"); assert(ev.origin == msg.source); } { // --- PrepareRequest ContentURL std::stringstream ss; ss << " "; PrepareRequest msg = PrepareRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "PrepareRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "URI-1")); assert(boost::iequals(msg.data, "")); assert(boost::iequals(msg.content, "")); assert(boost::iequals(msg.contentURL.href, "someContentURI")); assert(boost::iequals(msg.contentURL.maxAge, "")); assert(boost::iequals(msg.contentURL.fetchTimeout, "1s")); PrepareRequest msg2 = PrepareRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "PrepareRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "URI-1")); assert(boost::iequals(msg2.data, "")); assert(boost::iequals(msg2.content, "")); assert(boost::iequals(msg2.contentURL.href, "someContentURI")); assert(boost::iequals(msg2.contentURL.maxAge, "")); assert(boost::iequals(msg2.contentURL.fetchTimeout, "1s")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.request.prepare"); assert(ev.origin == msg.source); } { // --- PrepareRequest Content std::stringstream ss; ss << " Hello World! "; PrepareRequest msg = PrepareRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "PrepareRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "URI-1")); assert(msg.contentDOM); PrepareRequest msg2 = PrepareRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "PrepareRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "URI-1")); assert(msg2.content.size() > 0); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.request.prepare"); assert(ev.origin == msg.source); } { // --- PrepareResponse std::stringstream ss; ss << " "; PrepareResponse msg = PrepareResponse::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "PrepareResponse")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); assert(msg.status == StatusResponse::SUCCESS); PrepareResponse msg2 = PrepareResponse::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "PrepareResponse")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); assert(msg2.status == StatusResponse::SUCCESS); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.response.prepare"); assert(ev.origin == msg.source); } { // --- PrepareResponse std::stringstream ss; ss << " NotAuthorized "; PrepareResponse msg = PrepareResponse::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "PrepareResponse")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); assert(boost::iequals(msg.statusInfo, " NotAuthorized ")); assert(msg.status == StatusResponse::FAILURE); PrepareResponse msg2 = PrepareResponse::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "PrepareResponse")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); assert(boost::iequals(msg2.statusInfo, " NotAuthorized ")); assert(msg2.status == StatusResponse::FAILURE); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.response.prepare"); assert(ev.origin == msg.source); } { // --- StartRequest std::stringstream ss; ss << " "; StartRequest msg = StartRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "StartRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "URI-1")); StartRequest msg2 = StartRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "StartRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "URI-1")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.request.start"); assert(ev.origin == msg.source); } { // --- StartRequest std::stringstream ss; ss << " { \"foo\": 12 } "; StartRequest msg = StartRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "StartRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "URI-1")); StartRequest msg2 = StartRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "StartRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "URI-1")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.request.start"); assert(ev.data.compound["foo"] == 12); assert(ev.origin == msg.source); } { // --- StartResponse std::stringstream ss; ss << " NotAuthorized "; StartResponse msg = StartResponse::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "StartResponse")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); assert(boost::iequals(msg.statusInfo, " NotAuthorized ")); assert(msg.status == StatusResponse::FAILURE); StartResponse msg2 = StartResponse::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "StartResponse")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); assert(boost::iequals(msg2.statusInfo, " NotAuthorized ")); assert(msg2.status == StatusResponse::FAILURE); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.response.start"); assert(ev.origin == msg.source); } { // --- DoneNotification std::stringstream ss; ss << " Boston Denver "; DoneNotification msg = DoneNotification::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "DoneNotification")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); assert(msg.data.size() > 0); assert(msg.status == StatusResponse::SUCCESS); DoneNotification msg2 = DoneNotification::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "DoneNotification")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); assert(msg2.data.size() > 0); assert(msg2.status == StatusResponse::SUCCESS); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.notification.done"); assert(ev.origin == msg.source); } { // --- DoneNotification std::stringstream ss; ss << " "; DoneNotification msg = DoneNotification::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "DoneNotification")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); assert(msg.data.size() > 0); assert(msg.status == StatusResponse::SUCCESS); DoneNotification msg2 = DoneNotification::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "DoneNotification")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); assert(msg2.data.size() > 0); assert(msg2.status == StatusResponse::SUCCESS); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.notification.done"); assert(ev.origin == msg.source); } { // --- CancelRequest std::stringstream ss; ss << " "; CancelRequest msg = CancelRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "CancelRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); CancelRequest msg2 = CancelRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "CancelRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.request.cancel"); assert(ev.origin == msg.source); } { // --- CancelResponse std::stringstream ss; ss << " "; CancelResponse msg = CancelResponse::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "CancelResponse")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); assert(msg.status == StatusResponse::SUCCESS); CancelResponse msg2 = CancelResponse::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "CancelResponse")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); assert(msg2.status == StatusResponse::SUCCESS); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.response.cancel"); assert(ev.origin == msg.source); } { // --- PauseRequest std::stringstream ss; ss << " "; PauseRequest msg = PauseRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "PauseRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); PauseRequest msg2 = PauseRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "PauseRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.request.pause"); assert(ev.origin == msg.source); } { // --- PauseResponse std::stringstream ss; ss << " "; PauseResponse msg = PauseResponse::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "PauseResponse")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); assert(msg.status == StatusResponse::SUCCESS); PauseResponse msg2 = PauseResponse::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "PauseResponse")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); assert(msg2.status == StatusResponse::SUCCESS); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.response.pause"); assert(ev.origin == msg.source); } { // --- ResumeRequest std::stringstream ss; ss << " "; ResumeRequest msg = ResumeRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "ResumeRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); ResumeRequest msg2 = ResumeRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "ResumeRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.request.resume"); assert(ev.origin == msg.source); } { // --- ResumeResponse std::stringstream ss; ss << " "; ResumeResponse msg = ResumeResponse::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "ResumeResponse")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); assert(msg.status == StatusResponse::SUCCESS); ResumeResponse msg2 = ResumeResponse::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "ResumeResponse")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); assert(msg2.status == StatusResponse::SUCCESS); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.response.resume"); assert(ev.origin == msg.source); } { // --- ExtensionNotification std::stringstream ss; ss << " "; ExtensionNotification msg = ExtensionNotification::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "ExtensionNotification")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); assert(boost::iequals(msg.name, "appEvent")); ExtensionNotification msg2 = ExtensionNotification::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "ExtensionNotification")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); assert(boost::iequals(msg2.name, "appEvent")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "appEvent"); assert(ev.origin == msg.source); } { // --- ExtensionNotification std::stringstream ss; ss << " { \"foo\": 12 } "; ExtensionNotification msg = ExtensionNotification::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "ExtensionNotification")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "someURI")); assert(boost::iequals(msg.name, "appEvent")); ExtensionNotification msg2 = ExtensionNotification::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "ExtensionNotification")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); assert(boost::iequals(msg2.name, "appEvent")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "appEvent"); assert(ev.data.compound["foo"] == 12); assert(ev.origin == msg.source); } { // --- ClearContextRequest std::stringstream ss; ss << " "; ClearContextRequest msg = ClearContextRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "ClearContextRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-2")); assert(boost::iequals(msg.context, "someURI")); ClearContextRequest msg2 = ClearContextRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "ClearContextRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-2")); assert(boost::iequals(msg2.context, "someURI")); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.request.clearcontext"); assert(ev.origin == msg.source); } { // --- ClearContextResponse std::stringstream ss; ss << " "; ClearContextResponse msg = ClearContextResponse::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "ClearContextResponse")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-2")); assert(boost::iequals(msg.context, "someURI")); assert(msg.status == StatusResponse::SUCCESS); ClearContextResponse msg2 = ClearContextResponse::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "ClearContextResponse")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-2")); assert(boost::iequals(msg2.context, "someURI")); assert(msg2.status == StatusResponse::SUCCESS); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.response.clearcontext"); assert(ev.origin == msg.source); } { // --- StatusRequest std::stringstream ss; ss << " "; StatusRequest msg = StatusRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "StatusRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-3")); assert(boost::iequals(msg.context, "aToken")); assert(msg.automaticUpdate); StatusRequest msg2 = StatusRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "StatusRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-3")); assert(boost::iequals(msg2.context, "aToken")); assert(msg2.automaticUpdate); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.request.status"); assert(ev.origin == msg.source); } { // --- StatusResponse std::stringstream ss; ss << " "; StatusResponse msg = StatusResponse::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "StatusResponse")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-3")); assert(boost::iequals(msg.context, "aToken")); assert(msg.status == StatusResponse::ALIVE); StatusResponse msg2 = StatusResponse::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "StatusResponse")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-3")); assert(boost::iequals(msg2.context, "aToken")); assert(msg2.status == StatusResponse::ALIVE); std::stringstream xml1SS; std::stringstream xml2SS; xml1SS << msg.toXML(); xml2SS << msg2.toXML(); assert(xml1SS.str() == xml2SS.str()); Event ev = msg; assert(ev.name == "mmi.response.status"); assert(ev.origin == msg.source); } }