Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 1 addition & 21 deletions Modules/Core/Common/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,6 @@ set(
itkPointSetToImageFilterTest2.cxx
itkSparseFieldLayerTest.cxx
itkDataObjectTest.cxx
itkAtanRegularizedHeavisideStepFunctionTest1.cxx
itkHeavisideStepFunctionTest1.cxx
itkSinRegularizedHeavisideStepFunctionTest1.cxx
itkPointGeometryTest.cxx
itkNumberToStringTest.cxx
itkTimeProbeTest.cxx
Expand Down Expand Up @@ -665,24 +662,6 @@ itk_add_test(
ITKCommon1TestDriver
itkDataObjectTest
)
itk_add_test(
NAME itkAtanRegularizedHeavisideStepFunctionTest1
COMMAND
ITKCommon1TestDriver
itkAtanRegularizedHeavisideStepFunctionTest1
)
itk_add_test(
NAME itkHeavisideStepFunctionTest1
COMMAND
ITKCommon1TestDriver
itkHeavisideStepFunctionTest1
)
itk_add_test(
NAME itkSinRegularizedHeavisideStepFunctionTest1
COMMAND
ITKCommon1TestDriver
itkSinRegularizedHeavisideStepFunctionTest1
)
itk_add_test(
NAME itkPointGeometryTest
COMMAND
Expand Down Expand Up @@ -1627,6 +1606,7 @@ set(
itkFilterDispatchGTest.cxx
itkThreadedIndexedContainerPartitionerGTest.cxx
itkHashTableGTest.cxx
itkHeavisideStepFunctionGTest.cxx
itkImportImageGTest.cxx
itkImportContainerGTest.cxx
itkPixelAccessGTest.cxx
Expand Down

This file was deleted.

134 changes: 134 additions & 0 deletions Modules/Core/Common/test/itkHeavisideStepFunctionGTest.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
/*=========================================================================
*
* Copyright NumFOCUS
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/

#include "itkAtanRegularizedHeavisideStepFunction.h"
#include "itkHeavisideStepFunction.h"
#include "itkSinRegularizedHeavisideStepFunction.h"

#include "itkGTest.h"

#include <iostream>

// From itkHeavisideStepFunctionTest1.cxx
TEST(HeavisideStepFunction, ExactHeaviside)
{
using InputType = double;
using OutputType = double;

using HeavisideFunctionBaseType = itk::HeavisideStepFunction<InputType, OutputType>;

auto functionBase0 = HeavisideFunctionBaseType::New();

std::cout << "GetNameOfClass() = " << functionBase0->GetNameOfClass() << std::endl;
functionBase0->Print(std::cout);

constexpr int minValue{ -20 };
constexpr int maxValue{ 20 };

constexpr InputType incValue{ 0.1 };

for (int x = minValue; x < maxValue; ++x)
{
const InputType ix = x * incValue;
const OutputType f = functionBase0->Evaluate(ix);
const OutputType df = functionBase0->EvaluateDerivative(ix);
std::cout << ix << ' ' << f << ' ' << df << std::endl;
}
}

// From itkAtanRegularizedHeavisideStepFunctionTest1.cxx
TEST(HeavisideStepFunction, AtanRegularized)
{
using InputType = double;
using OutputType = double;

using HeavisideFunctionBaseType = itk::AtanRegularizedHeavisideStepFunction<InputType, OutputType>;

auto functionBase0 = HeavisideFunctionBaseType::New();

std::cout << "GetNameOfClass() = " << functionBase0->GetNameOfClass() << std::endl;
functionBase0->Print(std::cout);

constexpr double epsilon{ -1.0 };
EXPECT_THROW(functionBase0->SetEpsilon(epsilon), itk::ExceptionObject);

constexpr double epsilon0{ 1.0 };
constexpr double epsilon1{ 1e-4 };

EXPECT_EQ(functionBase0->GetEpsilon(), epsilon0);

functionBase0->SetEpsilon(epsilon1);
EXPECT_EQ(functionBase0->GetEpsilon(), epsilon1);

constexpr double epsilon2{ 0.5 };
functionBase0->SetEpsilon(epsilon2);

constexpr int minValue{ -20 };
constexpr int maxValue{ 20 };

constexpr InputType incValue{ 0.1 };

for (int x = minValue; x < maxValue; ++x)
{
const InputType ix = x * incValue;
const OutputType f = functionBase0->Evaluate(ix);
const OutputType df = functionBase0->EvaluateDerivative(ix);
std::cout << ix << ' ' << f << ' ' << df << std::endl;
}
}

// From itkSinRegularizedHeavisideStepFunctionTest1.cxx
TEST(HeavisideStepFunction, SinRegularized)
{
using InputType = double;
using OutputType = double;

using HeavisideFunctionBaseType = itk::SinRegularizedHeavisideStepFunction<InputType, OutputType>;

auto functionBase0 = HeavisideFunctionBaseType::New();

std::cout << "GetNameOfClass() = " << functionBase0->GetNameOfClass() << std::endl;
functionBase0->Print(std::cout);

constexpr double epsilon{ -1.0 };
EXPECT_THROW(functionBase0->SetEpsilon(epsilon), itk::ExceptionObject);

constexpr double epsilon0{ 1.0 };
constexpr double epsilon1{ 1e-4 };

EXPECT_EQ(functionBase0->GetEpsilon(), epsilon0);

functionBase0->SetEpsilon(epsilon1);
EXPECT_EQ(functionBase0->GetEpsilon(), epsilon1);

constexpr double epsilon2{ 0.5 };
functionBase0->SetEpsilon(epsilon2);

constexpr int minValue{ -20 };
constexpr int maxValue{ 20 };

constexpr InputType incValue{ 0.1 };

for (int x = minValue; x < maxValue; ++x)
{
const InputType ix = x * incValue;
const OutputType f = functionBase0->Evaluate(ix);
const OutputType df = functionBase0->EvaluateDerivative(ix);
std::cout << ix << ' ' << f << ' ' << df << std::endl;
}
}
48 changes: 0 additions & 48 deletions Modules/Core/Common/test/itkHeavisideStepFunctionTest1.cxx

This file was deleted.

This file was deleted.

Loading