MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitkNavigationDataSetTest.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
13#include "mitkTestingMacros.h"
14#include "mitkNavigationData.h"
16
17static void TestEmptySet()
18{
19 mitk::NavigationDataSet::Pointer navigationDataSet = mitk::NavigationDataSet::New(1);
20
21 MITK_TEST_CONDITION_REQUIRED(! navigationDataSet->GetNavigationDataForIndex(0,0) , "Trying to get non-existant NavigationData by index should return false.");
22 //MITK_TEST_CONDITION_REQUIRED(! navigationDataSet->GetNavigationDataBeforeTimestamp(0, 100), "Trying to get non-existant NavigationData by timestamp should return false.")
23}
24
25static void TestSetAndGet()
26{
27 mitk::NavigationDataSet::Pointer navigationDataSet = mitk::NavigationDataSet::New(2);
28
29 mitk::NavigationData::Pointer nd11 = mitk::NavigationData::New();
30 mitk::NavigationData::Pointer nd12 = mitk::NavigationData::New();
31 mitk::NavigationData::Pointer nd13 = mitk::NavigationData::New();
32 nd12->SetIGTTimeStamp(1);
33 nd12->SetIGTTimeStamp(2);
34
35 mitk::NavigationData::Pointer nd21 = mitk::NavigationData::New();
36 mitk::NavigationData::Pointer nd22 = mitk::NavigationData::New();
37 mitk::NavigationData::Pointer nd23 = mitk::NavigationData::New();
38 nd22->SetIGTTimeStamp(1);
39
40 // First set, Timestamp = 0
41 std::vector<mitk::NavigationData::Pointer> step1;
42 step1.push_back(nd11);
43 step1.push_back(nd21);
44
45 // Second set, Timestamp = 1
46 std::vector<mitk::NavigationData::Pointer> step2;
47 step2.push_back(nd12);
48 step2.push_back(nd22);
49
50 //Third set, Timestamp invalid ()
51 std::vector<mitk::NavigationData::Pointer> step3;
52 step3.push_back(nd13);
53 step3.push_back(nd23);
54
55 MITK_TEST_CONDITION_REQUIRED(navigationDataSet->AddNavigationDatas(step1),
56 "Adding a valid first set, should be successful.");
57 MITK_TEST_CONDITION_REQUIRED(navigationDataSet->AddNavigationDatas(step2),
58 "Adding a valid second set, should be successful.");
59 MITK_TEST_CONDITION_REQUIRED(!(navigationDataSet->AddNavigationDatas(step3)),
60 "Adding an invalid third set, should be unsusuccessful.");
61
62 MITK_TEST_CONDITION_REQUIRED(navigationDataSet->GetNavigationDataForIndex(0, 0) == nd11,
63 "First NavigationData object for tool 0 should be the same as added previously.");
64 MITK_TEST_CONDITION_REQUIRED(navigationDataSet->GetNavigationDataForIndex(0, 1) == nd21,
65 "Second NavigationData object for tool 0 should be the same as added previously.");
66 MITK_TEST_CONDITION_REQUIRED(navigationDataSet->GetNavigationDataForIndex(1, 0) == nd12,
67 "First NavigationData object for tool 0 should be the same as added previously.");
68 MITK_TEST_CONDITION_REQUIRED(navigationDataSet->GetNavigationDataForIndex(1, 1) == nd22,
69 "Second NavigationData object for tool 0 should be the same as added previously.");
70
71 std::vector<mitk::NavigationData::Pointer> result = navigationDataSet->GetTimeStep(1);
72 MITK_TEST_CONDITION_REQUIRED(nd12 == result[0],"Comparing returned datas from GetTimeStep().");
73 MITK_TEST_CONDITION_REQUIRED(nd22 == result[1],"Comparing returned datas from GetTimeStep().");
74
75 result = navigationDataSet->GetDataStreamForTool(1);
76 MITK_TEST_CONDITION_REQUIRED(nd21 == result[0],"Comparing returned datas from GetStreamForTool().");
77 MITK_TEST_CONDITION_REQUIRED(nd22 == result[1],"Comparing returned datas from GetStreamForTool().");
78}
79
83int mitkNavigationDataSetTest(int /* argc */, char* /*argv*/[])
84{
85 MITK_TEST_BEGIN("NavigationDataSet");
86
87 TestEmptySet();
88 TestSetAndGet();
89
90 MITK_TEST_END();
91}
int mitkNavigationDataSetTest(int, char *[])