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 "mitkTestingMacros.h"
00019 #include "mitkNavigationData.h"
00020
00021
00022
00023
00024
00025
00026
00032 int mitkNavigationDataTest(int , char* [])
00033 {
00034 MITK_TEST_BEGIN("NavigationData");
00035
00036
00037 mitk::NavigationData::Pointer nd = mitk::NavigationData::New();
00038 MITK_TEST_CONDITION(nd.IsNotNull(),"Test instatiation");
00039
00040 mitk::NavigationData::PositionType p;
00041 mitk::FillVector3D(p, 44.4, 55.5, 66.66);
00042 nd->SetPosition(p);
00043 MITK_TEST_CONDITION(nd->GetPosition() == p, "Set-/GetPosition()");
00044
00045 mitk::NavigationData::OrientationType o(1.0, 2.0, 3.0, 4.0);
00046 nd->SetOrientation(o);
00047 MITK_TEST_CONDITION(nd->GetOrientation() == o, "Set-/GetOrientation()");
00048
00049 nd->SetDataValid(true);
00050 MITK_TEST_CONDITION(nd->IsDataValid() == true, "Set-/IsDataValid()");
00051
00052 nd->SetTimeStamp(100.111);
00053 MITK_TEST_CONDITION(mitk::Equal(nd->GetTimeStamp(), 100.111), "Set-/GetTimeStamp()");
00054
00055 nd->SetHasPosition(false);
00056 MITK_TEST_CONDITION(nd->GetHasPosition() == false, "Set-/GetHasPosition()");
00057
00058 nd->SetHasOrientation(false);
00059 MITK_TEST_CONDITION(nd->GetHasOrientation() == false, "Set-/GetHasOrientation()");
00060
00061 mitk::NavigationData::CovarianceMatrixType m;
00062 m.Fill(17.17);
00063 m(2, 2) = 1000.01;
00064 nd->SetCovErrorMatrix(m);
00065 MITK_TEST_CONDITION(nd->GetCovErrorMatrix() == m, "Set-/GetCovErrorMatrix()");
00066
00067 nd->SetName("my NavigationData");
00068 MITK_TEST_CONDITION(std::string(nd->GetName()) == "my NavigationData", "Set-/GetName()");
00069
00070
00071 nd->SetPositionAccuracy(100.0);
00072 mitk::NavigationData::CovarianceMatrixType result = nd->GetCovErrorMatrix();
00073 MITK_TEST_CONDITION(mitk::Equal(result(0, 0), 10000.0)
00074 && mitk::Equal(result(1, 1), 10000.0)
00075 && mitk::Equal(result(2, 2), 10000.0), "SetPositionAccuracy()");
00076
00077
00078 nd->SetOrientationAccuracy(10.0);
00079 mitk::NavigationData::CovarianceMatrixType result2 = nd->GetCovErrorMatrix();
00080 MITK_TEST_CONDITION(mitk::Equal(result2(3, 3), 100.0)
00081 && mitk::Equal(result2(4, 4), 100.0)
00082 && mitk::Equal(result2(5, 5), 100.0), "SetOrientationAccuracy()");
00083
00084
00085 mitk::NavigationData::Pointer graftedCopy = mitk::NavigationData::New();
00086 graftedCopy->Graft(nd);
00087
00088 bool graftIsEqual = (nd->GetPosition() == graftedCopy->GetPosition())
00089 && (nd->GetOrientation() == graftedCopy->GetOrientation())
00090 && (nd->IsDataValid() == graftedCopy->IsDataValid())
00091 && mitk::Equal(nd->GetTimeStamp(), graftedCopy->GetTimeStamp())
00092 && (nd->GetHasPosition() == graftedCopy->GetHasPosition())
00093 && (nd->GetHasOrientation() == graftedCopy->GetHasOrientation())
00094 && (nd->GetCovErrorMatrix() == graftedCopy->GetCovErrorMatrix())
00095 && (std::string(nd->GetName()) == graftedCopy->GetName());
00096
00097
00098 MITK_TEST_CONDITION(graftIsEqual, "Graft() produces equal NavigationData object");
00099
00100
00101 MITK_TEST_END();
00102 }