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 "mitkNavigationDataSource.h"
00019 #include "mitkNavigationData.h"
00020
00021 #include "mitkTestingMacros.h"
00022
00027 class MyNavigationDataSourceTest : public mitk::NavigationDataSource
00028 {
00029 public:
00030 mitkClassMacro(MyNavigationDataSourceTest, mitk::NavigationDataSource);
00031 itkNewMacro(Self);
00032 void CreateOutput()
00033 {
00034 this->SetNumberOfOutputs(1);
00035 this->SetNthOutput(0, this->MakeOutput(0));
00036 };
00037 };
00038
00042 int mitkNavigationDataSourceTest(int , char* [])
00043 {
00044 MITK_TEST_BEGIN("NavigationDataSource");
00045
00046
00047 MyNavigationDataSourceTest::Pointer myFilter = MyNavigationDataSourceTest::New();
00048
00049
00050
00051
00052 MITK_TEST_CONDITION_REQUIRED(myFilter.IsNotNull(), "Testing instantiation");
00053
00054 MITK_TEST_CONDITION(myFilter->GetInputs().size() == 0, "testing initial number of inputs");
00055 MITK_TEST_CONDITION(myFilter->GetOutputs().size() == 0, "testing initial number of outputs");
00056 myFilter->CreateOutput();
00057 MITK_TEST_CONDITION(myFilter->GetOutputs().size() == 1, "testing SetNumberOfOutputs() and MakeOutput()");
00058 MITK_TEST_CONDITION(dynamic_cast<mitk::NavigationData*>(myFilter->GetOutput()) != NULL, "test GetOutput() returning valid output object");
00059
00060
00061 mitk::NavigationData::PositionType initialPos;
00062 mitk::FillVector3D(initialPos, 1.0, 2.0, 3.0);
00063 mitk::NavigationData::OrientationType initialOri(0.1, 0.2, 0.3, 0.4);
00064 mitk::ScalarType initialError(22.22);
00065 bool initialValid(true);
00066 mitk::NavigationData::Pointer nd1 = mitk::NavigationData::New();
00067 nd1->SetPosition(initialPos);
00068 nd1->SetOrientation(initialOri);
00069 nd1->SetPositionAccuracy(initialError);
00070 nd1->SetDataValid(initialValid);
00071
00072 MITK_TEST_OUTPUT(<< "testing Graftoutput()");
00073 myFilter->GraftOutput(nd1);
00074 mitk::NavigationData::Pointer out = myFilter->GetOutput();
00075 MITK_TEST_CONDITION(out.GetPointer() != nd1.GetPointer(), "testing if output is same object as source of graft");
00076 MITK_TEST_CONDITION( mitk::Equal(out->GetPosition(), nd1->GetPosition()) &&
00077 mitk::Equal(out->GetOrientation(), nd1->GetOrientation()) &&
00078 (out->GetCovErrorMatrix() == nd1->GetCovErrorMatrix()) &&
00079 (out->IsDataValid() == nd1->IsDataValid()) &&
00080 mitk::Equal(out->GetTimeStamp(), nd1->GetTimeStamp()), "testing if content of output is equal to input of Graft");
00081
00082 mitk::PropertyList::ConstPointer list = myFilter->GetParameters();
00083 MITK_TEST_CONDITION(list.IsNotNull(), "testing GetParameters()");
00084
00085 MITK_TEST_END();
00086 }