#include "mitkMessage.h"
#include "mitkTestingMacros.h"
#include <iostream>
Go to the source code of this file.
Classes | |
class | mitk::mitkMessageTestTestClass |
class | mitk::mitkMessageTestTestClass::Package |
class | mitk::mitkMessageTestTestClass::MessageSenderClass |
class | mitk::mitkMessageTestTestClass::MessageReceiverClass |
class | mitk::mitkMessageTestTestClass::Law |
class | mitk::mitkMessageTestTestClass::NewtonMachine |
class | mitk::mitkMessageTestTestClass::Observer |
Namespaces | |
namespace | mitk |
Qmitk. | |
Functions | |
int | mitkMessageTest (int, char *[]) |
int mitkMessageTest | ( | int | , |
char * | [] | ||
) |
Definition at line 332 of file mitkMessageTest.cpp.
References mitk::mitkMessageTestTestClass::MessageReceiverClass::Age(), mitk::mitkMessageTestTestClass::MessageReceiverClass::Amnesia(), mitk::mitkMessageTestTestClass::MessageSenderClass::DoGivePackage(), mitk::mitkMessageTestTestClass::MessageSenderClass::DoSay(), mitk::mitkMessageTestTestClass::MessageSenderClass::DoShoutAgeAndFootSize(), mitk::mitkMessageTestTestClass::MessageSenderClass::DoShowFinger(), mitk::mitkMessageTestTestClass::MessageSenderClass::DoWalk(), mitk::mitkMessageTestTestClass::MessageSenderClass::DoWaveHand(), mitk::mitkMessageTestTestClass::MessageReceiverClass::FootSize(), mitk::mitkMessageTestTestClass::MessageReceiverClass::HandWaved(), mitk::mitkMessageTestTestClass::Observer::m_Error, mitk::mitkMessageTestTestClass::Observer::m_Law, mitk::mitkMessageTestTestClass::Observer::m_MachineStarted, mitk::mitkMessageTestTestClass::Observer::m_MachineStopped, mitk::mitkMessageTestTestClass::MessageReceiverClass::MetersWalked(), MITK_TEST_BEGIN, MITK_TEST_CONDITION, MITK_TEST_CONDITION_REQUIRED, MITK_TEST_END, mitk::mitkMessageTestTestClass::MessageReceiverClass::PackageReceived(), mitk::mitkMessageTestTestClass::MessageReceiverClass::RegisterObservers(), mitk::mitkMessageTestTestClass::NewtonMachine::StartAnalysis(), mitk::mitkMessageTestTestClass::NewtonMachine::StopAnalysis(), and mitk::mitkMessageTestTestClass::MessageReceiverClass::WordsSaid().
{ MITK_TEST_BEGIN("Message") mitk::mitkMessageTestTestClass::MessageSenderClass sender; mitk::mitkMessageTestTestClass::MessageReceiverClass receiver; MITK_TEST_CONDITION_REQUIRED(true, "Testing instantiation"); receiver.RegisterObservers(sender); MITK_TEST_CONDITION_REQUIRED(true, "Testing registration to messages"); MITK_TEST_CONDITION_REQUIRED( (sender.DoWaveHand(), // This is called "comma operator". Don't ask, read! receiver.HandWaved()), "Message without parameters"); receiver.Amnesia(); MITK_TEST_CONDITION_REQUIRED( (sender.DoShowFinger(), receiver.HandWaved()), "Message without parameters"); receiver.Amnesia(); MITK_TEST_CONDITION_REQUIRED( (sender.DoSay("Blooodworsch"), receiver.WordsSaid() == "Blooodworsch"), "Message with std::string parameter"); receiver.Amnesia(); MITK_TEST_CONDITION_REQUIRED( (sender.DoWalk(2.67), (receiver.MetersWalked() - 2.67) < 0.0001 ), "Message with double parameter"); receiver.Amnesia(); mitk::mitkMessageTestTestClass::Package package(8); MITK_TEST_CONDITION_REQUIRED( (sender.DoGivePackage(package), receiver.PackageReceived() == package), "Message with class parameter"); receiver.Amnesia(); MITK_TEST_CONDITION_REQUIRED( (sender.DoShoutAgeAndFootSize(46, 30.5), (receiver.Age() == 46 && (receiver.FootSize() - 30.5 < 0.0001))), "Message with int AND float parameter"); receiver.Amnesia(); mitk::mitkMessageTestTestClass::NewtonMachine newtonMachine; mitk::mitkMessageTestTestClass::Observer observer1(&newtonMachine); mitk::mitkMessageTestTestClass::Observer observer2(&newtonMachine); // This will send two events to registered observers newtonMachine.StartAnalysis(); MITK_TEST_CONDITION(observer1.m_MachineStarted == true, "Message from Message Macro send to receiver 1"); MITK_TEST_CONDITION(observer2.m_MachineStarted == true, "Message from Message Macro send to receiver 2"); MITK_TEST_CONDITION(observer1.m_Law.GetDescription() == std::string("Unit tests are mandatory!"), "Message1 from Message Macro send to receiver 1"); MITK_TEST_CONDITION(observer2.m_Law.GetDescription() == std::string("Unit tests are mandatory!"), "Message1 from Message Macro send to receiver 2"); // This will send one event to registered observers newtonMachine.StopAnalysis(); MITK_TEST_CONDITION(observer1.m_MachineStopped == true, "Message1 from Message Macro send to receiver 1"); MITK_TEST_CONDITION(observer1.m_Error == true, "Message1 parameter from Message Macro send to receiver 1"); MITK_TEST_CONDITION(observer2.m_MachineStopped == true, "Message1 from Message Macro send to receiver 2"); MITK_TEST_CONDITION(observer2.m_Error == true, "Message1 parameter from Message Macro send to receiver 2"); /* Message with return type tests are work in progess... */ //bool patentSuccessful = newtonMachine.PatentLaw(); // what with return types from multiple observers? //MITK_TEST_CONDITION((observer1.m_PatentReviewed == true) && (patentSuccessful == false), // "Message with return type from Message Macro send to receiver 1"); // //MITK_TEST_CONDITION((observer2.m_PatentReviewed == true) && (patentSuccessful == false), // "Message with return type from Message Macro send to receiver 2"); MITK_TEST_END(); }