Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkExampleDataStructureReaderWriterTest.cpp
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 // Testing
14 #include "mitkTestFixture.h"
15 #include "mitkTestingMacros.h"
16 
17 // std includes
18 #include <string>
19 
20 // MITK includes
22 #include "mitkIOUtil.h"
23 
24 // VTK includes
25 #include <vtkDebugLeaks.h>
26 
27 class mitkExampleDataStructureReaderWriterTestSuite : public mitk::TestFixture
28 {
29  CPPUNIT_TEST_SUITE(mitkExampleDataStructureReaderWriterTestSuite);
30 
31  // Test saving/loading
32  MITK_TEST(ReadWrite_ExampleData_SavedAndLoadedDataEqualToExample);
33  CPPUNIT_TEST_SUITE_END();
34 
35 private:
37  std::string m_DefaultDataString;
38 
39 public:
44  void setUp() override
45  {
46  m_DefaultDataString = "This is the example data content\nAnd a second line\n";
48  m_Data->SetData(m_DefaultDataString);
49  }
50 
51  void tearDown() override
52  {
53  m_DefaultDataString = "";
54  m_Data = nullptr;
55  }
56 
57  void ReadWrite_ExampleData_SavedAndLoadedDataEqualToExample()
58  {
59  std::string path = mitk::IOUtil::GetTempPath() + "ExampleDataOutput.txt";
60  mitk::IOUtil::Save(m_Data, path);
62  mitk::IOUtil::Load<mitk::ExampleDataStructure >(path);
63 
64  itksys::SystemTools::RemoveFile(path);
65 
66  CPPUNIT_ASSERT_MESSAGE("Comparing created and loaded example data.",
67  mitk::Equal(m_Data, loadedData, mitk::eps, true));
68  }
69 };
70 
71 MITK_TEST_SUITE_REGISTRATION(mitkExampleDataStructureReaderWriter)
MITK_TEST_SUITE_REGISTRATION(mitkImageToItk)
static std::string GetTempPath()
Definition: mitkIOUtil.cpp:378
#define MITK_TEST(TESTMETHOD)
Adds a test to the current test suite.
Test fixture for parameterized tests.
MITKNEWMODULE_EXPORT bool Equal(mitk::ExampleDataStructure *leftHandSide, mitk::ExampleDataStructure *rightHandSide, mitk::ScalarType eps, bool verbose)
Returns true if the example data structures are considered equal.
static void Save(const mitk::BaseData *data, const std::string &path, bool setPathProperty=false)
Save a mitk::BaseData instance.
Definition: mitkIOUtil.cpp:774
MITKCORE_EXPORT const ScalarType eps