Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "mitkTrackingDevice.h"
00019 #include "mitkTestingMacros.h"
00020 #include "mitkTrackingTool.h"
00021 #include "mitkTrackingTypes.h"
00022
00023 #include "mitkCommon.h"
00024
00025 #include <itkObject.h>
00026 #include <itkObjectFactory.h>
00030 class TrackingDeviceTestClass : public mitk::TrackingDevice
00031 {
00032 public:
00033
00034 mitkClassMacro(TrackingDeviceTestClass, mitk::TrackingDevice);
00035 itkNewMacro(Self);
00036
00037 virtual bool OpenConnection(){return true;};
00038 virtual bool CloseConnection(){return true;};
00039 virtual bool StartTracking(){this->SetState(Tracking); this->m_TrackingFinishedMutex->Unlock(); return true;};
00040 virtual mitk::TrackingTool* GetTool(unsigned int ) const {return NULL;};
00041 virtual unsigned int GetToolCount() const {return 1;};
00042 };
00043
00049 int mitkTrackingDeviceTest(int , char* [])
00050 {
00051 MITK_TEST_BEGIN("TrackingDevice");
00052
00053
00054 TrackingDeviceTestClass::Pointer trackingDeviceTestClass = TrackingDeviceTestClass::New();
00055 MITK_TEST_CONDITION(trackingDeviceTestClass.IsNotNull(),"Test instatiation");
00056
00057
00058 MITK_TEST_CONDITION(trackingDeviceTestClass->GetErrorMessage()==std::string(""),"Error message should be empty");
00059
00060
00061 MITK_TEST_CONDITION(trackingDeviceTestClass->GetState()==mitk::TrackingDevice::Setup,"Mode should be initialized to SETUP");
00062
00063
00064 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType()==mitk::TrackingSystemNotSpecified,"Type should be initialized to 'not specified'");
00065 trackingDeviceTestClass->SetType( mitk::NDIAurora );
00066 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType()==mitk::NDIAurora,"Type should be NDIAurora, as it has just been set");
00067 trackingDeviceTestClass->SetType( mitk::NDIPolaris );
00068 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType()==mitk::NDIPolaris,"Type should be NDIPolaris, as it has just been set");
00069 trackingDeviceTestClass->SetType( mitk::ClaronMicron );
00070 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType()==mitk::ClaronMicron,"Type should be ClaronMicron, as it has just been set");
00071 trackingDeviceTestClass->SetType( mitk::AscensionMicroBird );
00072 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType()==mitk::AscensionMicroBird,"Type should be AscensionMicroBird, as it has just been set");
00073 trackingDeviceTestClass->SetType( mitk::VirtualTracker);
00074 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType()==mitk::VirtualTracker,"Type should be VirtualTracker, as it has just been set");
00075 trackingDeviceTestClass->SetType( mitk::IntuitiveDaVinci );
00076 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType()==mitk::IntuitiveDaVinci,"Type should be IntuitiveDaVinci, as it has just been set");
00077
00078
00079 trackingDeviceTestClass->StartTracking();
00080 trackingDeviceTestClass->StopTracking();
00081 MITK_TEST_CONDITION(trackingDeviceTestClass->GetState()== mitk::TrackingDevice::Ready,"Type should be NDIAurora, as it has just been set");
00082
00083 MITK_TEST_END();
00084 }