itk_module_test()
set(ITKTransformTests
    itkFixedCenterOfRotationAffineTransformTest.cxx
    itkAffineTransformTest.cxx
    itkScaleSkewVersor3DTransformTest.cxx
    itkComposeScaleSkewVersor3DTransformTest.cxx
    itkEuler3DTransformTest.cxx
    itkCenteredRigid2DTransformTest.cxx
    itkEuler2DTransformTest.cxx
    itkRigid3DTransformTest.cxx
    itkScaleVersor3DTransformTest.cxx
    itkTransformTest.cxx
    itkRigid3DPerspectiveTransformTest.cxx
    itkSimilarity2DTransformTest.cxx
    itkTranslationTransformTest.cxx
    itkIdentityTransformTest.cxx
    itkCenteredAffineTransformTest.cxx
    itkRigid2DTransformTest.cxx
    itkScaleLogarithmicTransformTest.cxx
    itkQuaternionRigidTransformTest.cxx
    itkScaleTransformTest.cxx
    itkSimilarity3DTransformTest.cxx
    itkAzimuthElevationToCartesianTransformTest.cxx
    itkCenteredEuler3DTransformTest.cxx
    itkTransformsSetParametersTest.cxx
    itkBSplineDeformableTransformTest.cxx
    itkBSplineDeformableTransformTest2.cxx
    itkBSplineDeformableTransformTest3.cxx
    itkBSplineTransformTest.cxx
    itkBSplineTransformTest2.cxx
    itkBSplineTransformTest3.cxx
    itkBSplineTransformInitializerTest1.cxx
    itkBSplineTransformInitializerTest2.cxx
    itkVersorRigid3DTransformTest.cxx
    itkVersorTransformTest.cxx
    itkSplineKernelTransformTest.cxx
    itkCompositeTransformTest.cxx
    itkTransformCloneTest.cxx
    itkMultiTransformTest.cxx
    itkTestTransformGetInverse.cxx
    itkTransformGeometryImageFilterTest.cxx)

createtestdriver(ITKTransform "${ITKTransform-Test_LIBRARIES}" "${ITKTransformTests}")
itk_add_test(
  NAME
  itkFixedCenterOfRotationAffineTransformTest
  COMMAND
  ITKTransformTestDriver
  itkFixedCenterOfRotationAffineTransformTest)
itk_add_test(
  NAME
  itkAffineTransformTest
  COMMAND
  ITKTransformTestDriver
  itkAffineTransformTest)
itk_add_test(
  NAME
  itkScaleSkewVersor3DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkScaleSkewVersor3DTransformTest)
itk_add_test(
  NAME
  itkComposeScaleSkewVersor3DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkComposeScaleSkewVersor3DTransformTest)
itk_add_test(
  NAME
  itkEuler3DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkEuler3DTransformTest)
itk_add_test(
  NAME
  itkCenteredRigid2DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkCenteredRigid2DTransformTest)
itk_add_test(
  NAME
  itkEuler2DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkEuler2DTransformTest)
itk_add_test(
  NAME
  itkRigid3DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkRigid3DTransformTest)
itk_add_test(
  NAME
  itkScaleVersor3DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkScaleVersor3DTransformTest)
itk_add_test(
  NAME
  itkTransformTest
  COMMAND
  ITKTransformTestDriver
  itkTransformTest)
itk_add_test(
  NAME
  itkRigid3DPerspectiveTransformTest
  COMMAND
  ITKTransformTestDriver
  itkRigid3DPerspectiveTransformTest)
itk_add_test(
  NAME
  itkSimilarity2DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkSimilarity2DTransformTest)
itk_add_test(
  NAME
  itkTranslationTransformTest
  COMMAND
  ITKTransformTestDriver
  itkTranslationTransformTest)
itk_add_test(
  NAME
  itkIdentityTransformTest
  COMMAND
  ITKTransformTestDriver
  itkIdentityTransformTest)
itk_add_test(
  NAME
  itkCenteredAffineTransformTest
  COMMAND
  ITKTransformTestDriver
  itkCenteredAffineTransformTest)
itk_add_test(
  NAME
  itkRigid2DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkRigid2DTransformTest)
itk_add_test(
  NAME
  itkScaleLogarithmicTransformTest
  COMMAND
  ITKTransformTestDriver
  itkScaleLogarithmicTransformTest)
itk_add_test(
  NAME
  itkQuaternionRigidTransformTest
  COMMAND
  ITKTransformTestDriver
  itkQuaternionRigidTransformTest)
itk_add_test(
  NAME
  itkScaleTransformTest
  COMMAND
  ITKTransformTestDriver
  itkScaleTransformTest)
itk_add_test(
  NAME
  itkSimilarity3DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkSimilarity3DTransformTest)
itk_add_test(
  NAME
  itkAzimuthElevationToCartesianTransformTest
  COMMAND
  ITKTransformTestDriver
  itkAzimuthElevationToCartesianTransformTest
  0
  0
  1.0
  1.0
  1.0
  0.0)
itk_add_test(
  NAME
  itkCenteredEuler3DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkCenteredEuler3DTransformTest)
itk_add_test(
  NAME
  itkTransformsSetParametersTest
  COMMAND
  ITKTransformTestDriver
  itkTransformsSetParametersTest)

## Tests for ITKv3 version of BSplineDeformableTransforms
itk_add_test(
  NAME
  itkBSplineDeformableTransformTest
  COMMAND
  ITKTransformTestDriver
  itkBSplineDeformableTransformTest)
itk_add_test(
  NAME
  itkBSplineDeformableTransformTest2
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineDeformableTransformTest2PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest2PixelCentered.png
  itkBSplineDeformableTransformTest2
  DATA{Baseline/BSplineDeformationTransformDisplacements5.txt}
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest2PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest2DeformationFieldPixelCentered.mhd
  1)
itk_add_test(
  NAME
  itkBSplineDeformableTransformTest3
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineDeformableTransformTest3PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest3PixelCentered.png
  itkBSplineDeformableTransformTest2
  DATA{Baseline/BSplineDeformationTransformDisplacements3.txt}
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest3PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest3DeformationFieldPixelCentered.mhd
  2)
itk_add_test(
  NAME
  itkBSplineDeformableTransformTest4
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineDeformableTransformTest4PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest4PixelCentered.png
  itkBSplineDeformableTransformTest2
  DATA{Baseline/BSplineDeformationTransformDisplacements1.txt}
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest4PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest4DeformationFieldPixelCentered.mhd
  3)
itk_add_test(
  NAME
  itkBSplineDeformableTransformTest5
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineDeformableTransformTest5PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest5PixelCentered.png
  itkBSplineDeformableTransformTest3
  DATA{Baseline/BSplineDeformationTransformDisplacements1.txt}
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest5PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest5DeformationFieldPixelCentered.mhd
  0)
itk_add_test(
  NAME
  itkBSplineDeformableTransformTest6
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineDeformableTransformTest5PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest6PixelCentered.png
  itkBSplineDeformableTransformTest3
  DATA{Baseline/BSplineDeformationTransformDisplacements1.txt}
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest6PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest6DeformationFieldPixelCentered.mhd
  1)
itk_add_test(
  NAME
  itkBSplineDeformableTransformTest7
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineDeformableTransformTest5PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest7PixelCentered.png
  itkBSplineDeformableTransformTest3
  DATA{Baseline/BSplineDeformationTransformDisplacements1.txt}
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest7PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineDeformableTransformTest7DeformationFieldPixelCentered.mhd
  2)

## Tests for ITKv4 version of BSplineTransforms
itk_add_test(
  NAME
  itkBSplineTransformTest
  COMMAND
  ITKTransformTestDriver
  itkBSplineTransformTest)
itk_add_test(
  NAME
  itkBSplineTransformTest2
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineTransformTest2PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest2PixelCentered.png
  itkBSplineTransformTest2
  ${ITK_EXAMPLE_DATA_ROOT}/BSplineDisplacements5.txt
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest2PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest2DeformationFieldPixelCentered.mhd
  1)
itk_add_test(
  NAME
  itkBSplineTransformTest3
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineTransformTest3PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest3PixelCentered.png
  itkBSplineTransformTest2
  ${ITK_EXAMPLE_DATA_ROOT}/BSplineDisplacements3.txt
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest3PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest3DeformationFieldPixelCentered.mhd
  2)
itk_add_test(
  NAME
  itkBSplineTransformTest4
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineTransformTest4PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest4PixelCentered.png
  itkBSplineTransformTest2
  ${ITK_EXAMPLE_DATA_ROOT}/BSplineDisplacements1.txt
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest4PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest4DeformationFieldPixelCentered.mhd
  3)
itk_add_test(
  NAME
  itkBSplineTransformTest5
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineTransformTest4PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest5PixelCentered.png
  itkBSplineTransformTest3
  ${ITK_EXAMPLE_DATA_ROOT}/BSplineDisplacements1.txt
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest5PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest5DeformationFieldPixelCentered.mhd
  0)
itk_add_test(
  NAME
  itkBSplineTransformTest6
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineTransformTest4PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest6PixelCentered.png
  itkBSplineTransformTest3
  ${ITK_EXAMPLE_DATA_ROOT}/BSplineDisplacements1.txt
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest6PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest6DeformationFieldPixelCentered.mhd
  1)
itk_add_test(
  NAME
  itkBSplineTransformTest7
  COMMAND
  ITKTransformTestDriver
  --compare
  DATA{Baseline/itkBSplineTransformTest4PixelCentered.png}
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest7PixelCentered.png
  itkBSplineTransformTest3
  ${ITK_EXAMPLE_DATA_ROOT}/BSplineDisplacements1.txt
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_EXAMPLE_DATA_ROOT}/DiagonalLines.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest7PixelCentered.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformTest7DeformationFieldPixelCentered.mhd
  2)
itk_add_test(
  NAME
  itkBSplineTransformInitializerTest1
  COMMAND
  ITKTransformTestDriver
  itkBSplineTransformInitializerTest1
  ${ITK_EXAMPLE_DATA_ROOT}/BSplineDisplacements1.txt
  ${ITK_EXAMPLE_DATA_ROOT}/BrainProtonDensitySliceBorder20.png
  ${ITK_EXAMPLE_DATA_ROOT}/BrainProtonDensitySliceBorder20.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformInitializerTest1.png
  ${ITK_TEST_OUTPUT_DIR}/itkBSplineTransformInitializerTest1DeformationField.mhd)
itk_add_test(
  NAME
  itkBSplineTransformInitializerTest2
  COMMAND
  ITKTransformTestDriver
  itkBSplineTransformInitializerTest2
  ${ITK_EXAMPLE_DATA_ROOT}/BrainProtonDensitySliceBorder20.png)
itk_add_test(
  NAME
  itkVersorRigid3DTransformTest
  COMMAND
  ITKTransformTestDriver
  itkVersorRigid3DTransformTest)
itk_add_test(
  NAME
  itkVersorTransformTest
  COMMAND
  ITKTransformTestDriver
  itkVersorTransformTest)
itk_add_test(
  NAME
  itkSplineKernelTransformTest
  COMMAND
  ITKTransformTestDriver
  itkSplineKernelTransformTest)
itk_add_test(
  NAME
  itkCompositeTransformTest
  COMMAND
  ITKTransformTestDriver
  itkCompositeTransformTest)
itk_add_test(
  NAME
  itkTransformCloneTest
  COMMAND
  ITKTransformTestDriver
  itkTransformCloneTest)
itk_add_test(
  NAME
  itkMultiTransformTest
  COMMAND
  ITKTransformTestDriver
  itkMultiTransformTest)
itk_add_test(
  NAME
  itkTestTransformGetInverse
  COMMAND
  ITKTransformTestDriver
  itkTestTransformGetInverse)
set_property(
  TEST itkTestTransformGetInverse
  APPEND
  PROPERTY LABELS RUNS_LONG)
set_tests_properties(itkTestTransformGetInverse PROPERTIES COST 50)
itk_add_test(
  NAME
  itkTransformGeometryImageFilterTest
  COMMAND
  ITKTransformTestDriver
  itkTransformGeometryImageFilterTest
  ${ITK_EXAMPLE_DATA_ROOT}/BrainProtonDensity3Slices.mha
  DATA{Baseline/BrainProtonDensity3SlicesHardened.mha}
  ${ITK_TEST_OUTPUT_DIR}/BrainProtonDensity3SlicesHardened.mha)

set(ITKTransformGTests
    itkBSplineTransformGTest.cxx
    itkEuler3DTransformGTest.cxx
    itkMatrixOffsetTransformBaseGTest.cxx
    itkSimilarityTransformGTest.cxx
    itkTransformGTest.cxx
    itkTranslationTransformGTest.cxx)
creategoogletestdriver(ITKTransform "${ITKTransform-Test_LIBRARIES}" "${ITKTransformGTests}")
