diff --git a/Modules/Core/test/mitkPixelTypeTest.cpp b/Modules/Core/test/mitkPixelTypeTest.cpp index c83e2c5bb5..9b54e1040e 100644 --- a/Modules/Core/test/mitkPixelTypeTest.cpp +++ b/Modules/Core/test/mitkPixelTypeTest.cpp @@ -1,154 +1,245 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ -#include "mitkPixelType.h" +// Testing +#include "mitkTestFixture.h" #include "mitkTestingMacros.h" -#include +// std includes +#include +// MITK includes +#include "mitkPixelType.h" #include - +// ITK includes +#include "itkImage.h" #include +// VTK includes +#include struct MyObscurePixelType { typedef float ValueType; static const size_t Length = 2; }; //## Documentation //## main testing method -int mitkPixelTypeTest(int /*argc*/, char * /*argv*/ []) +class mitkPixelTypeTestSuite : public mitk::TestFixture { - MITK_TEST_BEGIN("PixelTypeTest"); - - MITK_INFO << "ptype = mitk::MakePixelType();"; - MITK_INFO - << "itkPtype = mitk::MakePixelType();\n with itk::Image, 3> ItkImageType"; - - mitk::PixelType ptype = mitk::MakePixelType(); + CPPUNIT_TEST_SUITE(mitkPixelTypeTestSuite); + + MITK_TEST(GetComponentType_Success); + MITK_TEST(GetPixelTypeAsString_Success); + MITK_TEST(GetBpePtype_Success); + MITK_TEST(GetNumberOfComponentsPtype_Success); + MITK_TEST(GetBitsPerComponentPtype_Success); + MITK_TEST(GetBpeItkPtype_Success); + MITK_TEST(GetNumberOfComponentsItkPtype_Success); + MITK_TEST(GetBitsPerComponentItkPtype_Success); + MITK_TEST(ConstructorWithBrackets_Success); + MITK_TEST(InitializeWithEqualSign_Success); + MITK_TEST(EqualityOperator_Success); + MITK_TEST(NotEqualityOperator_Success); + MITK_TEST(GetPixelTypeUnknown_Success); + MITK_TEST(SetLengthCorrectly_Success); + MITK_TEST(ValueTypeCorresponds_Success); + MITK_TEST(ImageTypeTraitInt3D_Success); + MITK_TEST(ImageTypeTraitShort2D_Success); + MITK_TEST(ImageTypeTraitVectorShort3D_Success); + MITK_TEST(ImageTypeTraitItkInt3D_Success); + MITK_TEST(ImageTypeTraitItkShort2D_Success); + MITK_TEST(ImageTypeTraitItkVectorShort3D_Success); + + CPPUNIT_TEST_SUITE_END(); + +private: typedef itk::Image, 3> ItkImageType; - mitk::PixelType itkPtype = mitk::MakePixelType(); - - MITK_TEST_CONDITION_REQUIRED(ptype.GetComponentType() == itk::ImageIOBase::INT, "GetComponentType()"); - // MITK_TEST_CONDITION( ptype.GetPixelTypeId() == typeid(ItkImageType), "GetPixelTypeId()"); - - MITK_INFO << ptype.GetPixelTypeAsString(); - MITK_INFO << typeid(ItkImageType).name(); - - MITK_TEST_CONDITION_REQUIRED(ptype.GetBpe() == 8 * sizeof(int) * 5, "[ptype] GetBpe()"); - MITK_TEST_CONDITION_REQUIRED(ptype.GetNumberOfComponents() == 5, "[ptype]GetNumberOfComponents()"); - MITK_TEST_CONDITION_REQUIRED(ptype.GetBitsPerComponent() == 8 * sizeof(int), "[ptype]GetBitsPerComponent()"); - - MITK_TEST_CONDITION_REQUIRED(itkPtype.GetBpe() == 8 * sizeof(int) * 5, "[itkPType] GetBpe()"); - MITK_TEST_CONDITION_REQUIRED(itkPtype.GetNumberOfComponents() == 5, "[itkPType] GetNumberOfComponents()"); - MITK_TEST_CONDITION_REQUIRED(itkPtype.GetBitsPerComponent() == 8 * sizeof(int), "[itkPType] GetBitsPerComponent()"); - - // MITK_TEST_CONDITION_REQUIRED( itkPtype == ptype, "[itkPtype = ptype]"); - - // MITK_TEST_CONDITION( ptype.GetPixelTypeAsString().compare("unknown") == 0, "GetPixelTypeAsString()"); - { - { - mitk::PixelType ptype2(ptype); - MITK_TEST_CONDITION_REQUIRED(ptype2.GetComponentType() == itk::ImageIOBase::INT, - "ptype2( ptype)- GetComponentType()"); - MITK_TEST_CONDITION(ptype2.GetPixelType() == ptype.GetPixelType(), "ptype2( ptype)-GetPixelType("); - MITK_TEST_CONDITION(ptype2.GetComponentType() == ptype.GetComponentType(), "ptype2( ptype)-GetComponentType("); - MITK_TEST_CONDITION_REQUIRED(ptype2.GetBpe() == 8 * sizeof(int) * 5, "ptype2( ptype)-GetBpe()"); - MITK_TEST_CONDITION_REQUIRED(ptype2.GetNumberOfComponents() == 5, "ptype2( ptype)-GetNumberOfComponents()"); - MITK_TEST_CONDITION_REQUIRED(ptype2.GetBitsPerComponent() == 8 * sizeof(int), - "ptype2( ptype)-GetBitsPerComponent()"); - // MITK_TEST_CONDITION_REQUIRED( ptype.GetPixelTypeAsString().compare("unknown") == 0, "ptype2( - // ptype)-GetPixelTypeAsString()"); - } - - { - mitk::PixelType ptype2 = ptype; - MITK_TEST_CONDITION_REQUIRED(ptype2.GetComponentType() == itk::ImageIOBase::INT, - "ptype2 = ptype- GetComponentType()"); - MITK_TEST_CONDITION(ptype2.GetPixelType() == ptype.GetPixelType(), "ptype2 = ptype- GetPixelType("); - MITK_TEST_CONDITION(ptype2.GetComponentType() == ptype.GetComponentType(), "ptype2( ptype)-GetComponentType("); - MITK_TEST_CONDITION_REQUIRED(ptype2.GetBpe() == 8 * sizeof(int) * 5, "ptype2 = ptype- GetBpe()"); - MITK_TEST_CONDITION_REQUIRED(ptype2.GetNumberOfComponents() == 5, "ptype2 = ptype- GetNumberOfComponents()"); - MITK_TEST_CONDITION_REQUIRED(ptype2.GetBitsPerComponent() == 8 * sizeof(int), - "ptype2 = ptype- GetBitsPerComponent()"); - // MITK_TEST_CONDITION_REQUIRED( ptype.GetPixelTypeAsString().compare("unknown") == 0, "ptype2 = ptype- - // GetPixelTypeAsString()"); - } - - { - mitk::PixelType ptype2 = ptype; - MITK_TEST_CONDITION_REQUIRED(ptype == ptype2, "operator =="); - // MITK_TEST_CONDITION_REQUIRED( ptype == typeid(int), "operator =="); - // mitk::PixelType ptype3 = mitk::MakePixelType; - // MITK_TEST_CONDITION_REQUIRED( ptype != ptype3, "operator !="); - // MITK_TEST_CONDITION_REQUIRED( *ptype3 != typeid(int), "operator !="); - } - } - - // test instantiation typedef itk::Image MyObscureImageType; - mitk::PixelType obscurePixelType = mitk::MakePixelType(); + typedef itk::VectorImage VectorImageType; + typedef itk::Image> FixedVectorImageType; - MITK_TEST_CONDITION(obscurePixelType.GetPixelType() == itk::ImageIOBase::UNKNOWNPIXELTYPE, - "PixelTypeId is 'UNKNOWN' "); - MITK_TEST_CONDITION(obscurePixelType.GetNumberOfComponents() == MyObscurePixelType::Length, - "Lenght was set correctly"); - MITK_TEST_CONDITION( - obscurePixelType.GetComponentType() == mitk::MapPixelComponentType::value, - "ValueType corresponds."); - typedef itk::VectorImage VectorImageType; - mitk::PixelType vectorPixelType = mitk::MakePixelType(78); - // vectorPixelType.SetVectorLength( 78 ); +public: + void setUp() override + { + } - typedef itk::Image> FixedVectorImageType; - mitk::PixelType fixedVectorPixelType = mitk::MakePixelType(); + void tearDown() override + { + } + + void GetComponentType_Success() + { + mitk::PixelType ptype = mitk::MakePixelType(); + MITK_INFO << "m_Ptype = mitk::MakePixelType();"; + MITK_INFO + << "m_ItkPtype = mitk::MakePixelType();\n with itk::Image, 3> ItkImageType"; + CPPUNIT_ASSERT_MESSAGE("GetComponentType()", ptype.GetComponentType() == itk::ImageIOBase::INT); + } + + void GetPixelTypeAsString_Success() + { + mitk::PixelType ptype = mitk::MakePixelType(); + MITK_INFO << ptype.GetPixelTypeAsString(); + MITK_INFO << typeid(ItkImageType).name(); + } + + void GetBpePtype_Success() + { + mitk::PixelType ptype = mitk::MakePixelType(); + CPPUNIT_ASSERT_MESSAGE("[m_Ptype] GetBpe()", ptype.GetBpe() == 8 * sizeof(int) * 5); + } + + void GetNumberOfComponentsPtype_Success() + { + mitk::PixelType ptype = mitk::MakePixelType(); + CPPUNIT_ASSERT_MESSAGE("[ptype]GetNumberOfComponents()", ptype.GetNumberOfComponents() == 5); + } + + void GetBitsPerComponentPtype_Success() + { + mitk::PixelType ptype = mitk::MakePixelType(); + CPPUNIT_ASSERT_MESSAGE("[ptype]GetBitsPerComponent()", ptype.GetBitsPerComponent() == 8 * sizeof(int)); + } + + void GetBpeItkPtype_Success() + { + mitk::PixelType itkPtype = mitk::MakePixelType(); + CPPUNIT_ASSERT_MESSAGE("[itkPType] GetBpe()", itkPtype.GetBpe() == 8 * sizeof(int) * 5); + } + + void GetNumberOfComponentsItkPtype_Success() + { + mitk::PixelType itkPtype = mitk::MakePixelType(); + CPPUNIT_ASSERT_MESSAGE("[itkPType] GetNumberOfComponents()", itkPtype.GetNumberOfComponents() == 5); + } + + void GetBitsPerComponentItkPtype_Success() + { + mitk::PixelType itkPtype = mitk::MakePixelType(); + CPPUNIT_ASSERT_MESSAGE("[itkPType] GetBitsPerComponent()", itkPtype.GetBitsPerComponent() == 8 * sizeof(int)); + } + + void ConstructorWithBrackets_Success() + { + mitk::PixelType ptype = mitk::MakePixelType(); + mitk::PixelType ptype2(ptype); + CPPUNIT_ASSERT_MESSAGE("ptype2( ptype)- GetComponentType()", ptype2.GetComponentType() == itk::ImageIOBase::INT); + CPPUNIT_ASSERT_MESSAGE("ptype2( ptype)-GetPixelType(", ptype2.GetPixelType() == ptype.GetPixelType()); + CPPUNIT_ASSERT_MESSAGE("ptype2( ptype)-GetComponentType(", ptype2.GetComponentType() == ptype.GetComponentType()); + CPPUNIT_ASSERT_MESSAGE("ptype2( ptype)-GetBpe()", ptype2.GetBpe() == 8 * sizeof(int) * 5); + CPPUNIT_ASSERT_MESSAGE("ptype2( ptype)-GetNumberOfComponents()", ptype2.GetNumberOfComponents() == 5); + CPPUNIT_ASSERT_MESSAGE("ptype2( ptype)-GetBitsPerComponent()", ptype2.GetBitsPerComponent() == 8 * sizeof(int)); + } + + void InitializeWithEqualSign_Success() + { + mitk::PixelType ptype = mitk::MakePixelType(); + mitk::PixelType ptype2 = ptype; + CPPUNIT_ASSERT_MESSAGE("ptype2 = ptype- GetComponentType()", ptype2.GetComponentType() == itk::ImageIOBase::INT); + CPPUNIT_ASSERT_MESSAGE("ptype2 = ptype- GetPixelType(", ptype2.GetPixelType() == ptype.GetPixelType()); + CPPUNIT_ASSERT_MESSAGE("ptype2( ptype)-GetComponentType(", ptype2.GetComponentType() == ptype.GetComponentType()); + CPPUNIT_ASSERT_MESSAGE("ptype2 = ptype- GetBpe()", ptype2.GetBpe() == 8 * sizeof(int) * 5); + CPPUNIT_ASSERT_MESSAGE("ptype2 = ptype- GetNumberOfComponents()", ptype2.GetNumberOfComponents() == 5); + CPPUNIT_ASSERT_MESSAGE("ptype2 = ptype- GetBitsPerComponent()", ptype2.GetBitsPerComponent() == 8 * sizeof(int)); + } + + void EqualityOperator_Success() + { + mitk::PixelType ptype = mitk::MakePixelType(); + mitk::PixelType ptype2 = ptype; + CPPUNIT_ASSERT_MESSAGE("operator ==", ptype == ptype2); + } + + void NotEqualityOperator_Success() + { + mitk::PixelType ptype = mitk::MakePixelType(); + mitk::PixelType ptype3 = mitk::MakePixelType(); + CPPUNIT_ASSERT_MESSAGE("operator !=", ptype != ptype3); + } + + void GetPixelTypeUnknown_Success() + { + // test instantiation + mitk::PixelType obscurePixelType = mitk::MakePixelType(); + CPPUNIT_ASSERT_MESSAGE("PixelTypeId is 'UNKNOWN' ", obscurePixelType.GetPixelType() == itk::ImageIOBase::UNKNOWNPIXELTYPE); + } + + void SetLengthCorrectly_Success() + { + mitk::PixelType obscurePixelType = mitk::MakePixelType(); + CPPUNIT_ASSERT_MESSAGE("Lenght was set correctly", obscurePixelType.GetNumberOfComponents() == MyObscurePixelType::Length); + } - mitk::PixelType scalarPixelType = mitk::MakeScalarPixelType(); + void ValueTypeCorresponds_Success() + { + mitk::PixelType obscurePixelType = mitk::MakePixelType(); + CPPUNIT_ASSERT_MESSAGE("ValueType corresponds.", - // test ImageTypeTrait traits class - MITK_TEST_CONDITION(typeid(mitk::ImageTypeTrait::ImageType) == typeid(itk::Image), "ImageTypeTrait"); - MITK_TEST_CONDITION((mitk::ImageTypeTrait::IsVectorImage == false), "ImageTypeTrait"); + obscurePixelType.GetComponentType() == mitk::MapPixelComponentType::value); + } + + void ImageTypeTraitInt3D_Success() + { + // test ImageTypeTrait traits class + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait typeid int 3D equals ITK typeid", + + typeid(mitk::ImageTypeTrait::ImageType) == typeid(itk::Image)); + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait is no vector image", (mitk::ImageTypeTrait::IsVectorImage == false)); + } + + void ImageTypeTraitShort2D_Success() + { + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait typeid short 2D equals ITK typeid", + typeid(mitk::ImageTypeTrait, 3>::ImageType) == + typeid(itk::Image, 3>)); + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait is no vector image", (mitk::ImageTypeTrait, 3>::IsVectorImage == false)); + } - MITK_TEST_CONDITION(typeid(mitk::ImageTypeTrait, 3>::ImageType) == - typeid(itk::Image, 3>), - "ImageTypeTrait"); - MITK_TEST_CONDITION((mitk::ImageTypeTrait, 3>::IsVectorImage == false), "ImageTypeTrait"); + void ImageTypeTraitVectorShort3D_Success() + { + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait typeid short 3D equals ITK typeid", + typeid(mitk::ImageTypeTrait, 3>::ImageType) == typeid(itk::VectorImage)); + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait is a vector image", (mitk::ImageTypeTrait, 3>::IsVectorImage == true)); + } - MITK_TEST_CONDITION( - typeid(mitk::ImageTypeTrait, 3>::ImageType) == typeid(itk::VectorImage), - "ImageTypeTrait"); - MITK_TEST_CONDITION((mitk::ImageTypeTrait, 3>::IsVectorImage == true), - "ImageTypeTrait"); + void ImageTypeTraitItkInt3D_Success() + { + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait typeid ITK int 3D equals ITK typeid", + typeid(mitk::ImageTypeTrait>::ImageType) == typeid(itk::Image)); + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait is no vector image", (mitk::ImageTypeTrait>::IsVectorImage == false)); + } - MITK_TEST_CONDITION(typeid(mitk::ImageTypeTrait>::ImageType) == typeid(itk::Image), - "ImageTypeTrait"); - MITK_TEST_CONDITION((mitk::ImageTypeTrait>::IsVectorImage == false), "ImageTypeTrait"); + void ImageTypeTraitItkShort2D_Success() + { + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait typeid ITK short 2D equals ITK typeid", + typeid(mitk::ImageTypeTrait, 3>>::ImageType) == + typeid(itk::Image, 3>)); + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait is no vector image", - MITK_TEST_CONDITION(typeid(mitk::ImageTypeTrait, 3>>::ImageType) == - typeid(itk::Image, 3>), - "ImageTypeTrait"); - MITK_TEST_CONDITION((mitk::ImageTypeTrait, 3>>::IsVectorImage == false), - "ImageTypeTrait"); + (mitk::ImageTypeTrait, 3>>::IsVectorImage == false)); + } - MITK_TEST_CONDITION( - typeid(mitk::ImageTypeTrait>::ImageType) == typeid(itk::VectorImage), - "ImageTypeTrait"); - MITK_TEST_CONDITION((mitk::ImageTypeTrait>::IsVectorImage == true), "ImageTypeTrait"); + void ImageTypeTraitItkVectorShort3D_Success() + { + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait typeid ITK short 3D equals ITK typeid", + typeid(mitk::ImageTypeTrait>::ImageType) == typeid(itk::VectorImage)); + CPPUNIT_ASSERT_MESSAGE("ImageTypeTrait is a vector image", + (mitk::ImageTypeTrait>::IsVectorImage == true)); + } +}; +MITK_TEST_SUITE_REGISTRATION(mitkPixelType) - // test CastableTo - MITK_TEST_END(); -}