13#include "mitkTestingMacros.h"
17static void TestEmptySet()
19 mitk::NavigationDataSet::Pointer navigationDataSet = mitk::NavigationDataSet::New(1);
21 MITK_TEST_CONDITION_REQUIRED(! navigationDataSet->GetNavigationDataForIndex(0,0) ,
"Trying to get non-existant NavigationData by index should return false.");
25static void TestSetAndGet()
27 mitk::NavigationDataSet::Pointer navigationDataSet = mitk::NavigationDataSet::New(2);
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);
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);
41 std::vector<mitk::NavigationData::Pointer> step1;
42 step1.push_back(nd11);
43 step1.push_back(nd21);
46 std::vector<mitk::NavigationData::Pointer> step2;
47 step2.push_back(nd12);
48 step2.push_back(nd22);
51 std::vector<mitk::NavigationData::Pointer> step3;
52 step3.push_back(nd13);
53 step3.push_back(nd23);
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.");
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.");
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().");
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().");
85 MITK_TEST_BEGIN(
"NavigationDataSet");
int mitkNavigationDataSetTest(int, char *[])