#include "mitkNDITrackingDevice.h"#include "mitkNDIPassiveTool.h"#include "mitkTestingMacros.h"#include "mitkTrackingTypes.h"#include "mitkTrackingTool.h"#include "mitkStandardFileLocations.h"Go to the source code of this file.
Functions | |
| int | mitkNDITrackingDeviceTest (int, char *[]) |
| int mitkNDITrackingDeviceTest | ( | int | , |
| char * | [] | ||
| ) |
Definition at line 28 of file mitkNDITrackingDeviceTest.cpp.
References mitk::StandardFileLocations::GetInstance(), mitk::HybridTracking, mitk::MarkerTracking3D, MITK_TEST_BEGIN, MITK_TEST_CONDITION, MITK_TEST_CONDITION_REQUIRED, MITK_TEST_END, mitk::NDITrackingDevice::New(), mitk::TrackingDevice::Setup, and mitk::ToolTracking5D.
{
// always start with this!
MITK_TEST_BEGIN("NDITrackingDevice");
// let's create an object of our class
mitk::NDITrackingDevice::Pointer myNDITrackingDevice = mitk::NDITrackingDevice::New();
// first test: did this work?
// using MITK_TEST_CONDITION_REQUIRED makes the test stop after failure, since
// it makes no sense to continue without an object.
MITK_TEST_CONDITION_REQUIRED(myNDITrackingDevice.IsNotNull(),"Testing instantiation\n");
MITK_TEST_CONDITION_REQUIRED(myNDITrackingDevice->GetState() == mitk::TrackingDevice::Setup ,"Checking tracking device state == setup.\n");
//OpenConnection
//MITK_TEST_CONDITION( (!myNDITrackingDevice->OpenConnection()), "Testing behavior of method OpenConnection() (Errors should occur because Tracking Device is not activated).");
// <-- this test is dangerous. It implies that no tracking device is connected to the dartclient pc, which could be wrong.
//CloseConnection
MITK_TEST_CONDITION( (myNDITrackingDevice->CloseConnection()), "Testing behavior of method CloseConnection().");
//StartTracking
MITK_TEST_CONDITION( (!myNDITrackingDevice->StartTracking()), "Testing behavior of method StartTracking().");
//Beep(unsigned char count)
MITK_TEST_CONDITION( (myNDITrackingDevice->Beep(3)== false), "Testing behavior of method Beep(). No Tracking device initialized!");
//AddTool( const char* toolName, const char* fileName, TrackingPriority p /*= NDIPassiveTool::Dynamic*/ )
std::string file = mitk::StandardFileLocations::GetInstance()->FindFile("SROMFile.rom", "Modules/IGT/Testing/Data");
const char *name = file.c_str();
MITK_TEST_CONDITION( (myNDITrackingDevice->AddTool("Tool0", name))!=NULL, "Testing AddTool() for tool 0.");
//GetToolCount()
MITK_TEST_CONDITION( (myNDITrackingDevice->GetToolCount())==1, "Testing GetToolCount() for one tool.");
//GetTool(unsigned int toolNumber)
MITK_TEST_CONDITION( (myNDITrackingDevice->GetTool(0))!=NULL, "Testing GetTool() for tool 0.");
mitk::TrackingTool::Pointer testtool = myNDITrackingDevice->GetTool(0);
//UpdateTool(mitk::TrackingTool* tool)
MITK_TEST_CONDITION( (!myNDITrackingDevice->UpdateTool(testtool)), "Testing behavior of method UpdateTool().\n");
//RemoveTool(mitk::TrackingTool* tool)
MITK_TEST_CONDITION( (myNDITrackingDevice->RemoveTool(testtool)), "Testing RemoveTool()for tool 0.");
//SetOperationMode(OperationMode mode)
MITK_TEST_CONDITION( (myNDITrackingDevice->SetOperationMode( mitk::MarkerTracking3D )== true ), "Testing behavior of method SetOperationMode().\n");
//GetOperationMode()
myNDITrackingDevice->SetOperationMode(mitk::MarkerTracking3D);
MITK_TEST_CONDITION( (myNDITrackingDevice->GetOperationMode()==2),"" );
myNDITrackingDevice->SetOperationMode(mitk::ToolTracking5D);
MITK_TEST_CONDITION( (myNDITrackingDevice->GetOperationMode()==1),"" );
myNDITrackingDevice->SetOperationMode(mitk::HybridTracking);
MITK_TEST_CONDITION( (myNDITrackingDevice->GetOperationMode()==3), "Testing behavior of method GetOperationMode().\n");
//GetMarkerPositions(MarkerPointContainerType* markerpositions)
mitk::MarkerPointContainerType* markerpositions = new mitk::MarkerPointContainerType();
MITK_TEST_CONDITION( (!myNDITrackingDevice->GetMarkerPositions(markerpositions)), "Testing behavior of method GetMarkerPositions().\n");
delete markerpositions;
// always end with this!
MITK_TEST_END();
}
1.7.2