MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitkNDITrackingDeviceTest.cpp
Go to the documentation of this file.
1/*============================================================================
2
3The Medical Imaging Interaction Toolkit (MITK)
4
5Copyright (c) German Cancer Research Center (DKFZ)
6All rights reserved.
7
8Use of this source code is governed by a 3-clause BSD license that can be
9found in the LICENSE file.
10
11============================================================================*/
12
14#include "mitkNDIPassiveTool.h"
15#include "mitkTestingMacros.h"
16#include "mitkTrackingTypes.h"
17#include "mitkTrackingTool.h"
18#include "mitkIGTConfig.h"
19
23int mitkNDITrackingDeviceTest(int /* argc */, char* /*argv*/[])
24{
25 // always start with this!
26 MITK_TEST_BEGIN("NDITrackingDevice");
27
28 // let's create an object of our class
29 mitk::NDITrackingDevice::Pointer myNDITrackingDevice = mitk::NDITrackingDevice::New();
30
31 // first test: did this work?
32 // using MITK_TEST_CONDITION_REQUIRED makes the test stop after failure, since
33 // it makes no sense to continue without an object.
34 MITK_TEST_CONDITION_REQUIRED(myNDITrackingDevice.IsNotNull(),"Testing instantiation\n");
35
36 //test method GetState
37 MITK_TEST_CONDITION_REQUIRED(myNDITrackingDevice->GetState() == mitk::TrackingDevice::Setup ,"Checking tracking device state == setup.\n");
38
39 //test method CloseConnection
40 MITK_TEST_CONDITION( (myNDITrackingDevice->CloseConnection()), "Testing behavior of method CloseConnection().");
41
42 //test method StartTracking
43 MITK_TEST_CONDITION( (!myNDITrackingDevice->StartTracking()), "Testing behavior of method StartTracking().");
44
45 //test method Beep(unsigned char count)
46 MITK_TEST_CONDITION( (myNDITrackingDevice->Beep(3)== false), "Testing behavior of method Beep(). No Tracking device initialized!");
47
48 std::string file(MITK_IGT_DATA_DIR);
49 file.append("/SROMFile.rom");
50 MITK_INFO << file;
51
52 MITK_TEST_CONDITION( (myNDITrackingDevice->AddTool("Tool0", file.c_str()))!=nullptr, "Testing AddTool() for tool 0.");
53
54 //test method GetToolCount()
55 MITK_TEST_CONDITION( (myNDITrackingDevice->GetToolCount())==1, "Testing GetToolCount() for one tool.");
56
57 //test method GetTool(unsigned int toolNumber)
58 MITK_TEST_CONDITION( (myNDITrackingDevice->GetTool(0))!=nullptr, "Testing GetTool() for tool 0.");
59 mitk::TrackingTool::Pointer testtool = myNDITrackingDevice->GetTool(0);
60
61 //test method UpdateTool(mitk::TrackingTool* tool)
62 MITK_TEST_CONDITION( (!myNDITrackingDevice->UpdateTool(testtool)), "Testing behavior of method UpdateTool().\n");
63
64 //test method RemoveTool(mitk::TrackingTool* tool)
65 MITK_TEST_CONDITION( (myNDITrackingDevice->RemoveTool(testtool)), "Testing RemoveTool()for tool 0.");
66
67 //test method SetOperationMode(OperationMode mode)
68 MITK_TEST_CONDITION( (myNDITrackingDevice->SetOperationMode( mitk::MarkerTracking3D )== true ), "Testing behavior of method SetOperationMode().\n");
69
70 //test method GetOperationMode()
71 myNDITrackingDevice->SetOperationMode(mitk::MarkerTracking3D);
72 MITK_TEST_CONDITION( (myNDITrackingDevice->GetOperationMode()==2),"" );
73
74 myNDITrackingDevice->SetOperationMode(mitk::ToolTracking5D);
75 MITK_TEST_CONDITION( (myNDITrackingDevice->GetOperationMode()==1),"" );
76
77 myNDITrackingDevice->SetOperationMode(mitk::HybridTracking);
78 MITK_TEST_CONDITION( (myNDITrackingDevice->GetOperationMode()==3), "Testing behavior of method GetOperationMode().\n");
79
80 //test method GetMarkerPositions(MarkerPointContainerType* markerpositions)
81 auto markerpositions = new mitk::MarkerPointContainerType();
82 MITK_TEST_CONDITION( (!myNDITrackingDevice->GetMarkerPositions(markerpositions)), "Testing behavior of method GetMarkerPositions().\n");
83 delete markerpositions;
84
85 // always end with this!
86 MITK_TEST_END();
87}
int mitkNDITrackingDeviceTest(int, char *[])
This test makes general tests of the methods of class NDITrackingDevice. The tracking device need not...
std::vector< MarkerPointType > MarkerPointContainerType