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 "mitkBaseDataTestImplementation.h"
00019 #include "mitkStringProperty.h"
00020 #include "mitkTestingMacros.h"
00021 #include "itkImage.h"
00022
00023
00024 int mitkBaseDataTest(int , char* [])
00025 {
00026
00027 MITK_TEST_BEGIN("BaseData")
00028
00029
00030 std::cout << "Creating a base data instance..." << std::endl;
00031 mitk::BaseDataTestImplementation::Pointer baseDataImpl = mitk::BaseDataTestImplementation::New();
00032
00033 MITK_TEST_CONDITION_REQUIRED(baseDataImpl.IsNotNull(),"Testing instantiation");
00034 MITK_TEST_CONDITION(baseDataImpl->IsInitialized(), "BaseDataTestImplementation is initialized");
00035 MITK_TEST_CONDITION(baseDataImpl->IsEmpty(), "BaseDataTestImplementation is initialized and empty");
00036 MITK_TEST_CONDITION(baseDataImpl->GetExternalReferenceCount()== baseDataImpl->GetReferenceCount(), "Checks external reference count!");
00037
00038
00039
00040 std::cout << "Testing setter and getter for geometries..." << std::endl;
00041
00042
00043 MITK_TEST_CONDITION(baseDataImpl->GetTimeSlicedGeometry(), "Testing creation of TimeSlicedGeometry");
00044
00045 mitk::TimeSlicedGeometry* geo = NULL;
00046 baseDataImpl->SetGeometry(geo);
00047
00048 MITK_TEST_CONDITION(baseDataImpl->GetTimeSlicedGeometry() == NULL, "Reset Geometry");
00049
00050 mitk::TimeSlicedGeometry::Pointer geo2 = mitk::TimeSlicedGeometry::New();
00051 baseDataImpl->SetGeometry(geo2);
00052 baseDataImpl->InitializeTimeSlicedGeometry(2);
00053
00054 MITK_TEST_CONDITION(baseDataImpl->GetTimeSlicedGeometry() == geo2, "Correct Reinit of TimeslicedGeometry");
00055
00056
00057 MITK_TEST_CONDITION(baseDataImpl->GetGeometry(1) != NULL, "... and single Geometries");
00058
00059
00060 baseDataImpl->Expand(5);
00061 MITK_TEST_CONDITION(baseDataImpl->GetTimeSteps() == 5, "Expand the geometry to further time slices!");
00062
00063
00064 mitk::Geometry3D::Pointer geo3 = mitk::Geometry3D::New();
00065 baseDataImpl->SetGeometry(geo3, 1);
00066
00067 MITK_TEST_CONDITION(baseDataImpl->GetUpdatedGeometry(1) == geo3, "Set Geometry for time step 1");
00068 MITK_TEST_CONDITION(baseDataImpl->GetMTime()!= 0, "Check if modified time is set");
00069 baseDataImpl->SetClonedGeometry(geo3, 1);
00070
00071 float x[3];
00072 x[0] = 2;
00073 x[1] = 4;
00074 x[2] = 6;
00075 mitk::Point3D p3d(x);
00076 baseDataImpl->SetOrigin(p3d);
00077 geo3->SetOrigin(p3d);
00078
00079 MITK_TEST_CONDITION(baseDataImpl->GetGeometry(1)->GetOrigin() == geo3->GetOrigin(), "Testing Origin set");
00080
00081 MITK_TEST_CONDITION(!baseDataImpl->IsEmpty(1), "Is not empty before clear()!");
00082 baseDataImpl->Clear();
00083 MITK_TEST_CONDITION(baseDataImpl->IsEmpty(1), "...but afterwards!");
00084
00085 baseDataImpl->SetProperty("property38", mitk::StringProperty::New("testproperty"));
00086
00087 MITK_TEST_CONDITION(baseDataImpl->GetProperty("property38")->GetValueAsString() == "testproperty","Check if base property is set correctly!");
00088
00089
00090 mitk::PropertyList::Pointer propertyList = mitk::PropertyList::New();
00091 propertyList->SetFloatProperty("floatProperty1", 123.45);
00092 propertyList->SetBoolProperty("visibility",true);
00093 propertyList->SetStringProperty("nameXY","propertyName");
00094 baseDataImpl->SetPropertyList(propertyList);
00095 bool value = false;
00096 MITK_TEST_CONDITION(baseDataImpl->GetPropertyList() == propertyList, "Check if base property list is set correctly!");
00097 MITK_TEST_CONDITION(baseDataImpl->GetPropertyList()->GetBoolProperty("visibility", value) == true, "Check if base property is set correctly in the property list!");
00098
00099
00100 baseDataImpl->UpdateOutputInformation();
00101 MITK_TEST_CONDITION(baseDataImpl->GetUpdatedTimeSlicedGeometry() == geo2, "TimeSlicedGeometry update!");
00102
00103 mitk::BaseDataTestImplementation::Pointer newBaseData = mitk::BaseDataTestImplementation::New();
00104 newBaseData->CopyInformation(baseDataImpl);
00105 MITK_TEST_CONDITION( newBaseData->GetTimeSlicedGeometry()->GetTimeSteps() == 5, "Check copying of of Basedata Data Object!");
00106
00107 MITK_TEST_END()
00108 }