Skip to content

Commit bce25f8

Browse files
authored
Merge pull request InsightSoftwareConsortium#5947 from hjmjohnson/convert-filtering-tests-to-gtest
ENH: Convert Filtering tests to GTest
2 parents 1d64e4e + 18510b8 commit bce25f8

15 files changed

Lines changed: 303 additions & 393 deletions

Modules/Filtering/BiasCorrection/itk-module.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ itk_module(
1919
ITKImageGrid
2020
ITKPolynomials
2121
TEST_DEPENDS
22+
ITKGoogleTest
2223
ITKTestKernel
2324
ITKOptimizers
2425
ITKPolynomials

Modules/Filtering/BiasCorrection/test/CMakeLists.txt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
itk_module_test()
22
set(
33
ITKBiasCorrectionTests
4-
itkCompositeValleyFunctionTest.cxx
54
itkMRIBiasFieldCorrectionFilterTest.cxx
65
itkN4BiasFieldCorrectionImageFilterTest.cxx
76
)
87

98
createtestdriver(ITKBiasCorrection "${ITKBiasCorrection-Test_LIBRARIES}" "${ITKBiasCorrectionTests}")
109

11-
itk_add_test(
12-
NAME itkCompositeValleyFunctionTest
13-
COMMAND
14-
ITKBiasCorrectionTestDriver
15-
itkCompositeValleyFunctionTest
16-
)
10+
set(ITKBiasCorrectionGTests itkCompositeValleyFunctionGTest.cxx)
11+
12+
creategoogletestdriver(ITKBiasCorrection "${ITKBiasCorrection-Test_LIBRARIES}" "${ITKBiasCorrectionGTests}")
13+
1714
itk_add_test(
1815
NAME itkMRIBiasFieldCorrectionFilterTest
1916
COMMAND
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/*=========================================================================
2+
*
3+
* Copyright NumFOCUS
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* https://www.apache.org/licenses/LICENSE-2.0.txt
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*
17+
*=========================================================================*/
18+
19+
#include "itkCompositeValleyFunction.h"
20+
#include "itkMath.h"
21+
#include <gtest/gtest.h>
22+
23+
TEST(CompositeValleyFunction, BoundsAndInterval)
24+
{
25+
itk::Array<double> means(2);
26+
itk::Array<double> sigmas(2);
27+
28+
means[0] = 0.0;
29+
means[1] = 100.0;
30+
sigmas[0] = 20.0;
31+
sigmas[1] = 20.0;
32+
33+
itk::CompositeValleyFunction function(means, sigmas);
34+
35+
EXPECT_DOUBLE_EQ(function.GetUpperBound(), 280.0);
36+
EXPECT_DOUBLE_EQ(function.GetLowerBound(), -180.0);
37+
38+
const double interval1 = function.GetInterval();
39+
const double interval2 = (function.GetUpperBound() - function.GetLowerBound()) / (1000000.0 - 1.0);
40+
EXPECT_NEAR(interval1, interval2, itk::NumericTraits<double>::epsilon());
41+
}
42+
43+
TEST(CompositeValleyFunction, EvaluateMatchesCallOperator)
44+
{
45+
itk::Array<double> means(2);
46+
itk::Array<double> sigmas(2);
47+
48+
means[0] = 0.0;
49+
means[1] = 100.0;
50+
sigmas[0] = 20.0;
51+
sigmas[1] = 20.0;
52+
53+
itk::CompositeValleyFunction function(means, sigmas);
54+
55+
const long numberOfSamples = function.GetNumberOfSamples();
56+
const double measure = function.GetLowerBound() + function.GetInterval() * numberOfSamples * 0.5;
57+
const double value1 = function(measure);
58+
const double value2 = function.Evaluate(measure);
59+
60+
EXPECT_NEAR(value1, value2, itk::NumericTraits<double>::epsilon());
61+
}

Modules/Filtering/BiasCorrection/test/itkCompositeValleyFunctionTest.cxx

Lines changed: 0 additions & 82 deletions
This file was deleted.

Modules/Filtering/Deconvolution/itk-module.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ itk_module(
1010
ITKConvolution
1111
ITKImageSources
1212
TEST_DEPENDS
13+
ITKGoogleTest
1314
ITKTestKernel
1415
DESCRIPTION "${DOCUMENTATION}"
1516
)

Modules/Filtering/Deconvolution/test/CMakeLists.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,22 @@ set(
33
ITKDeconvolutionTests
44
itkInverseDeconvolutionImageFilterTest.cxx
55
itkLandweberDeconvolutionImageFilterTest.cxx
6-
itkProjectedIterativeDeconvolutionImageFilterTest.cxx
6+
itkParametricBlindLeastSquaresDeconvolutionImageFilterTest.cxx
77
itkProjectedLandweberDeconvolutionImageFilterTest.cxx
88
itkRichardsonLucyDeconvolutionImageFilterTest.cxx
99
itkTikhonovDeconvolutionImageFilterTest.cxx
1010
itkWienerDeconvolutionImageFilterTest.cxx
11-
itkParametricBlindLeastSquaresDeconvolutionImageFilterTest.cxx
1211
)
1312

1413
createtestdriver(ITKDeconvolution "${ITKDeconvolution-Test_LIBRARIES}" "${ITKDeconvolutionTests}")
1514

15+
set(
16+
ITKDeconvolutionGTests
17+
itkProjectedIterativeDeconvolutionImageFilterGTest.cxx
18+
)
19+
20+
creategoogletestdriver(ITKDeconvolution "${ITKDeconvolution-Test_LIBRARIES}" "${ITKDeconvolutionGTests}")
21+
1622
itk_add_test(
1723
NAME itkRichardsonLucyDeconvolutionImageFilterGaussianKernelTest
1824
COMMAND
@@ -81,12 +87,6 @@ itk_add_test(
8187
1
8288
2.0
8389
)
84-
itk_add_test(
85-
NAME itkProjectedIterativeDeconvolutionimageFilterTest
86-
COMMAND
87-
ITKDeconvolutionTestDriver
88-
itkProjectedIterativeDeconvolutionImageFilterTest
89-
)
9090
itk_add_test(
9191
NAME itkProjectedLandweberDeconvolutionImageFilterGaussianKernelTest
9292
COMMAND

Modules/Filtering/Deconvolution/test/itkProjectedIterativeDeconvolutionImageFilterTest.cxx renamed to Modules/Filtering/Deconvolution/test/itkProjectedIterativeDeconvolutionImageFilterGTest.cxx

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,27 @@
1919
#include "itkImage.h"
2020
#include "itkLandweberDeconvolutionImageFilter.h"
2121
#include "itkProjectedIterativeDeconvolutionImageFilter.h"
22-
#include "itkSimpleFilterWatcher.h"
22+
#include "itkGTest.h"
23+
#include "itkTestDriverIncludeRequiredFactories.h"
2324

24-
int
25-
itkProjectedIterativeDeconvolutionImageFilterTest(int, char *[])
25+
class ProjectedIterativeDeconvolutionImageFilterTest : public ::testing::Test
2626
{
27-
// Declare the image type
28-
using ImageType = itk::Image<float, 2>;
27+
protected:
28+
void
29+
SetUp() override
30+
{
31+
RegisterRequiredFactories();
32+
}
33+
};
2934

30-
// Declare the base deconvolution filter choice
35+
TEST_F(ProjectedIterativeDeconvolutionImageFilterTest, BasicObjectMethods)
36+
{
37+
using ImageType = itk::Image<float, 2>;
3138
using BaseDeconvolutionFilterType = itk::LandweberDeconvolutionImageFilter<ImageType>;
32-
33-
// Declare a projected version of the base deconvolution image filter
3439
using ProjectedDeconvolutionFilterType = itk::ProjectedIterativeDeconvolutionImageFilter<BaseDeconvolutionFilterType>;
3540

36-
// Just instantiate the filter and print it
3741
auto deconvolutionFilter = ProjectedDeconvolutionFilterType::New();
38-
deconvolutionFilter->Print(std::cout);
39-
40-
const itk::SimpleFilterWatcher watcher(deconvolutionFilter);
4142

42-
return EXIT_SUCCESS;
43+
ITK_GTEST_EXERCISE_BASIC_OBJECT_METHODS(
44+
deconvolutionFilter, ProjectedIterativeDeconvolutionImageFilter, LandweberDeconvolutionImageFilter);
4345
}

Modules/Filtering/ImageLabel/itk-module.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ itk_module(
1212
DEPENDS
1313
ITKImageIntensity
1414
TEST_DEPENDS
15+
ITKGoogleTest
1516
ITKTestKernel
1617
DESCRIPTION "${DOCUMENTATION}"
1718
)

Modules/Filtering/ImageLabel/test/CMakeLists.txt

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
itk_module_test()
22
set(
33
ITKImageLabelTests
4-
itkChangeLabelImageFilterTest.cxx
5-
itkLabelContourImageFilterTest.cxx
64
itkBinaryContourImageFilterTest.cxx
5+
itkLabelContourImageFilterTest.cxx
76
)
87

98
createtestdriver(ITKImageLabel "${ITKImageLabel-Test_LIBRARIES}" "${ITKImageLabelTests}")
109

11-
itk_add_test(
12-
NAME itkChangeLabelImageFilterTest
13-
COMMAND
14-
ITKImageLabelTestDriver
15-
itkChangeLabelImageFilterTest
16-
)
10+
set(ITKImageLabelGTests itkChangeLabelImageFilterGTest.cxx)
11+
12+
creategoogletestdriver(ITKImageLabel "${ITKImageLabel-Test_LIBRARIES}" "${ITKImageLabelGTests}")
13+
1714
itk_add_test(
1815
NAME itkLabelContourImageFilterTest0
1916
COMMAND

0 commit comments

Comments
 (0)