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 "mitkRenderingManager.h"
00019 #include "mitkProperties.h"
00020 #include "mitkGlobalInteraction.h"
00021 #include "mitkVtkPropRenderer.h"
00022 #include "mitkStandaloneDataStorage.h"
00023 #include "vtkRenderWindow.h"
00024
00025 #include "mitkTestingMacros.h"
00026
00027
00028
00029
00030
00031
00040 class mitkRenderingManagerTestClass { public:
00041
00042
00043
00044 static void TestPropertyList(mitk::RenderingManager::Pointer renderingManager)
00045 {
00046
00047 mitk::PropertyList::Pointer propertyList = renderingManager->GetPropertyList();
00048
00049 MITK_TEST_CONDITION(renderingManager->GetPropertyList().IsNotNull(), "Testing if the constructor set the propertylist" )
00050
00051
00052 renderingManager->SetProperty("booltest", mitk::BoolProperty::New(true));
00053
00054 mitk::BoolProperty* prop = dynamic_cast<mitk::BoolProperty*>( renderingManager->GetProperty("booltest") );
00055
00056 MITK_TEST_CONDITION(prop->GetValue(), "Testing if getting the bool property" )
00057
00058 MITK_TEST_CONDITION(propertyList == renderingManager->GetPropertyList(), "Testing if the propertylist has changed during the last tests" )
00059 }
00060
00061 };
00062 int mitkRenderingManagerTest(int , char* [])
00063 {
00064
00065 MITK_TEST_BEGIN("RenderingManager")
00066
00067 mitk::RenderingManager::Pointer globalRenderingManager = mitk::RenderingManager::GetInstance();
00068
00069 MITK_TEST_CONDITION_REQUIRED(globalRenderingManager.IsNotNull(),"Testing instantiation of global static instance")
00070
00071
00072 mitk::RenderingManager::Pointer myRenderingManager = mitk::RenderingManager::New();
00073
00074 MITK_TEST_CONDITION_REQUIRED(myRenderingManager.IsNotNull(),"Testing instantiation of second 'local' instance")
00075
00076 MITK_TEST_CONDITION_REQUIRED(myRenderingManager != globalRenderingManager ,"Testing whether global instance equals new local instance (must not be!)")
00077
00078
00079 mitk::StandaloneDataStorage::Pointer ds = mitk::StandaloneDataStorage::New();
00080 mitk::StandaloneDataStorage::Pointer ds2 = mitk::StandaloneDataStorage::New();
00081 mitk::GlobalInteraction::Pointer gi = mitk::GlobalInteraction::New();
00082 gi->Initialize("global");
00083
00084 myRenderingManager->SetDataStorage(ds);
00085 myRenderingManager->SetGlobalInteraction(gi);
00086
00087 vtkRenderWindow* vtkRenWin = vtkRenderWindow::New();
00088 mitk::VtkPropRenderer::Pointer br = mitk::VtkPropRenderer::New("testingBR", vtkRenWin, myRenderingManager);
00089
00090 mitk::BaseRenderer::AddInstance(vtkRenWin,br);
00091 myRenderingManager->AddRenderWindow(vtkRenWin);
00092
00093 MITK_TEST_CONDITION_REQUIRED(myRenderingManager->GetDataStorage() == ds, "Testing the setter and getter for internal DataStorage")
00094 MITK_TEST_CONDITION_REQUIRED(myRenderingManager->GetGlobalInteraction() ==gi, "Testing the setter and getter for internal GlobalInteraction")
00095
00096 MITK_TEST_CONDITION_REQUIRED(br->GetDataStorage() == ds,"Testing if internal DataStorage has been set correctly for registered BaseRenderer")
00097 myRenderingManager->SetDataStorage(ds2);
00098 MITK_TEST_CONDITION_REQUIRED(br->GetDataStorage() == ds2,"Testing if change of internal DataStorage has been forwarded correctly to registered BaseRenderer")
00099
00100 mitkRenderingManagerTestClass::TestPropertyList(myRenderingManager);
00101
00102
00103
00104
00105
00106 myRenderingManager->RemoveRenderWindow(vtkRenWin);
00107
00108
00109 vtkRenWin->Delete();
00110
00111
00112 MITK_TEST_END()
00113 }