22 CPPUNIT_TEST_SUITE(mitkPhotoacousticComposedVolumeTestSuite);
23 MITK_TEST(TestCreateAndDestructComposedVolume);
24 MITK_TEST(TestAccessInvalidFluenceComponent);
25 MITK_TEST(TestAccessInvalidFluenceComponentIndex);
28 MITK_TEST(TestAccessInvalidFluenceComponentForYOffset);
29 CPPUNIT_TEST_SUITE_END();
32 mitk::pa::ComposedVolume::Pointer m_ComposedVolume;
33 mitk::pa::TissueGeneratorParameters::Pointer m_DefaultParameters;
34 mitk::pa::InSilicoTissueVolume::Pointer m_InSilicoTissueVolume;
41 m_DefaultParameters->SetXDim(5);
42 m_DefaultParameters->SetYDim(5);
43 m_DefaultParameters->SetZDim(5);
44 auto rng = std::mt19937();
46 m_ComposedVolume = mitk::pa::ComposedVolume::New(m_InSilicoTissueVolume);
49 mitk::pa::FluenceYOffsetPair::Pointer createFluenceYOffsetPair(
double value,
double yOffset)
51 auto* data =
new double[125];
52 for (
int i = 0; i < 125; ++i)
55 return mitk::pa::FluenceYOffsetPair::New(volume, yOffset);
58 void TestCreateAndDestructComposedVolume()
60 CPPUNIT_ASSERT(m_ComposedVolume->GetNumberOfFluenceComponents() == 0);
63 void TestAccessInvalidFluenceComponent()
65 bool caughtException =
false;
68 m_ComposedVolume->GetFluenceValue(0, 0, 0, 0);
72 caughtException =
true;
74 CPPUNIT_ASSERT(caughtException);
77 void TestAddMultiplePairs()
79 m_ComposedVolume->AddSlice(createFluenceYOffsetPair(0, 0));
80 CPPUNIT_ASSERT(m_ComposedVolume->GetNumberOfFluenceComponents() == 1);
81 m_ComposedVolume->AddSlice(createFluenceYOffsetPair(1, 1));
82 CPPUNIT_ASSERT(m_ComposedVolume->GetNumberOfFluenceComponents() == 2);
85 void TestSortFunctionality()
87 m_ComposedVolume->AddSlice(createFluenceYOffsetPair(2, 2));
88 m_ComposedVolume->AddSlice(createFluenceYOffsetPair(-1, -1));
89 m_ComposedVolume->AddSlice(createFluenceYOffsetPair(1, 1));
90 m_ComposedVolume->AddSlice(createFluenceYOffsetPair(0, 0));
91 m_ComposedVolume->AddSlice(createFluenceYOffsetPair(-2, -2));
92 CPPUNIT_ASSERT(m_ComposedVolume->GetFluenceValue(0, 0, 2, 0) == 2);
93 CPPUNIT_ASSERT(m_ComposedVolume->GetFluenceValue(1, 0, 2, 0) == -1);
94 CPPUNIT_ASSERT(m_ComposedVolume->GetFluenceValue(2, 0, 2, 0) == 1);
95 CPPUNIT_ASSERT(m_ComposedVolume->GetFluenceValue(3, 0, 2, 0) == 0);
96 CPPUNIT_ASSERT(m_ComposedVolume->GetFluenceValue(4, 0, 2, 0) == -2);
98 m_ComposedVolume->Sort();
100 CPPUNIT_ASSERT(m_ComposedVolume->GetFluenceValue(0, 0, 2, 0) == -2);
101 CPPUNIT_ASSERT(m_ComposedVolume->GetFluenceValue(1, 0, 2, 0) == -1);
102 CPPUNIT_ASSERT(m_ComposedVolume->GetFluenceValue(2, 0, 2, 0) == 0);
103 CPPUNIT_ASSERT(m_ComposedVolume->GetFluenceValue(3, 0, 2, 0) == 1);
104 CPPUNIT_ASSERT(m_ComposedVolume->GetFluenceValue(4, 0, 2, 0) == 2);
107 void TestAccessInvalidFluenceComponentIndex()
110 m_ComposedVolume->AddSlice(createFluenceYOffsetPair(0, 0));
111 bool caughtException =
false;
114 double unusedValue = m_ComposedVolume->GetFluenceValue(0, 1, 2, 300);
119 caughtException =
true;
121 CPPUNIT_ASSERT(caughtException);
125 void TestAccessInvalidFluenceComponentForYOffset()
127 bool caughtException =
false;
130 m_ComposedVolume->GetYOffsetForFluenceComponentInPixels(0);
134 caughtException =
true;
136 CPPUNIT_ASSERT(caughtException);
139 void tearDown()
override 141 m_ComposedVolume =
nullptr;
MITK_TEST_SUITE_REGISTRATION(mitkImageToItk)
#define MITK_TEST(TESTMETHOD)
Adds a test to the current test suite.
static InSilicoTissueVolume::Pointer New(mitk::pa::Volume::Pointer absorptionVolume, Volume::Pointer scatteringVolume, Volume::Pointer anisotropyVolume, Volume::Pointer segmentationVolume, TissueGeneratorParameters::Pointer tissueParameters, mitk::PropertyList::Pointer propertyList)
An object of this class represents an exception of MITK. Please don't instantiate exceptions manually...
Test fixture for parameterized tests.
static Volume::Pointer New(double *data, unsigned int xDim, unsigned int yDim, unsigned int zDim, double spacing)
returns smartpointer reference to a new instance of this objects. The given data array will be freed ...