From af42575b1340bdb791fe15a342c40e87e6d25923 Mon Sep 17 00:00:00 2001 From: Niels Dekker Date: Wed, 24 Dec 2025 15:08:23 +0100 Subject: [PATCH] ENH: Add front() and back() GoogleTest unit tests to Index, Offset, Size For the sake of completeness. It appeared that some of the `const` overloads of these member functions did not yet have code coverage. --- Modules/Core/Common/test/itkIndexGTest.cxx | 8 ++++++++ Modules/Core/Common/test/itkOffsetGTest.cxx | 9 +++++++++ Modules/Core/Common/test/itkSizeGTest.cxx | 8 ++++++++ 3 files changed, 25 insertions(+) diff --git a/Modules/Core/Common/test/itkIndexGTest.cxx b/Modules/Core/Common/test/itkIndexGTest.cxx index 94cd17ec1d1..a29e5b6c666 100644 --- a/Modules/Core/Common/test/itkIndexGTest.cxx +++ b/Modules/Core/Common/test/itkIndexGTest.cxx @@ -102,3 +102,11 @@ TEST(Index, Make) const auto values = { 1, 2, 3, 4 }; EXPECT_TRUE(std::equal(itkIndex.begin(), itkIndex.end(), values.begin(), values.end())); } + + +// Tests front() and back(). +TEST(Index, CheckFrontAndBack) +{ + itk::RangeGTestUtilities::CheckFrontAndBack(itk::Index<1>{}); + itk::RangeGTestUtilities::CheckFrontAndBack(itk::Index<>{ 1, 2 }); +} diff --git a/Modules/Core/Common/test/itkOffsetGTest.cxx b/Modules/Core/Common/test/itkOffsetGTest.cxx index bd009f97e01..8db6413acf0 100644 --- a/Modules/Core/Common/test/itkOffsetGTest.cxx +++ b/Modules/Core/Common/test/itkOffsetGTest.cxx @@ -19,6 +19,7 @@ // First include the header file to be tested: #include "itkOffset.h" #include "itkRangeGTestUtilities.h" +#include static_assert(itk::RangeGTestUtilities::CheckConstexprBeginAndEndOfContainer>() && @@ -28,3 +29,11 @@ static_assert(itk::RangeGTestUtilities::CheckConstexprBeginAndEndOfContainer()) && itk::RangeGTestUtilities::IsDistanceFromFrontToBackPlusOneEqualToSize(itk::Offset<1>()), "Check that `distance(&front, &back) + 1` is equal to `size`"); + + +// Tests front() and back(). +TEST(Offset, CheckFrontAndBack) +{ + itk::RangeGTestUtilities::CheckFrontAndBack(itk::Offset<1>{}); + itk::RangeGTestUtilities::CheckFrontAndBack(itk::Offset<>{ 1, 2 }); +} diff --git a/Modules/Core/Common/test/itkSizeGTest.cxx b/Modules/Core/Common/test/itkSizeGTest.cxx index d6ba8a66b2c..ebc076ac515 100644 --- a/Modules/Core/Common/test/itkSizeGTest.cxx +++ b/Modules/Core/Common/test/itkSizeGTest.cxx @@ -174,3 +174,11 @@ TEST(Size, CalculateProductOfElements) checkArbitrarySize(itk::MakeSize(2, 4)); checkArbitrarySize(itk::MakeSize(1, 2, 3)); } + + +// Tests front() and back(). +TEST(Size, CheckFrontAndBack) +{ + itk::RangeGTestUtilities::CheckFrontAndBack(itk::Size<1>{}); + itk::RangeGTestUtilities::CheckFrontAndBack(itk::Size<>{ 1, 2 }); +}