From 7ee7ea6add5c917188b39cc37c2e727c0fef5b9f Mon Sep 17 00:00:00 2001 From: Matthias Puchner <github@mpuchner.de> Date: Tue, 27 Apr 2021 18:12:28 +0200 Subject: [PATCH] add unit tests for IParametricComponent --- .../Core/Parameters/IParameterizedTest.cpp | 67 ++++++------------- 1 file changed, 22 insertions(+), 45 deletions(-) diff --git a/Tests/UnitTests/Core/Parameters/IParameterizedTest.cpp b/Tests/UnitTests/Core/Parameters/IParameterizedTest.cpp index 6ca50f94138..b383bbaf2e4 100644 --- a/Tests/UnitTests/Core/Parameters/IParameterizedTest.cpp +++ b/Tests/UnitTests/Core/Parameters/IParameterizedTest.cpp @@ -9,7 +9,7 @@ protected: public: using IParametricComponent::fullQualifiedParameters; // make it public for test cases using IParametricComponent::registerParameter; // make it public for test cases - RealParameter* parameter(const double* p) // make it public for test cases + RealParameter* parameter(const double* p) // make it public for test cases { return IParametricComponent::parameter(p); } @@ -45,8 +45,6 @@ protected: ParameterizedVectors m_parameterizedVectors; }; -// TODO enable tests - TEST_F(IParametricComponentTest, InitialState) { EXPECT_EQ(size_t(0), m_initial_object.registeredParameters().size()); @@ -71,6 +69,11 @@ TEST_F(IParametricComponentTest, registeredParameters) EXPECT_NE(obj2.parameter("A"), nullptr); EXPECT_NE(obj2.parameter(&d), nullptr); EXPECT_EQ(obj2.parameter(&d2), nullptr); + + EXPECT_EQ(m_parameterized.registeredParameter("par1"), + m_parameterized.registeredParameter("/Parameterized/par1")); + EXPECT_EQ(m_parameterized.registeredParameter("par2"), + m_parameterized.registeredParameter("/Parameterized/par2")); } TEST_F(IParametricComponentTest, matchedParameters) @@ -79,7 +82,7 @@ TEST_F(IParametricComponentTest, matchedParameters) TestClass obj; obj.registerParameter("par1", &par1); - obj.registerParameter("xxx", &par2); + auto rp2 = &obj.registerParameter("xxx", &par2); obj.registerParameter("par3", &par3); auto matched = obj.getMatchedParameters("*par*"); @@ -89,10 +92,15 @@ TEST_F(IParametricComponentTest, matchedParameters) EXPECT_EQ(matched.at(0), obj.parameter(&par1)); EXPECT_EQ(matched.at(1), obj.parameter(&par3)); - // #baPool shall these be implemented? (taken from ParameterPoolTest) - // // unique match - // EXPECT_EQ(rp2, pool.getUniqueMatch("*xxx*")); - // EXPECT_THROW(pool.getUniqueMatch("*par*"), std::runtime_error); + EXPECT_EQ(m_parameterized.getMatchedParameters("*par*"), + m_parameterized.getMatchedParameters("*/Parameterized/par*")); + + // unique match + EXPECT_EQ(obj.registeredParameter("*xxx*"), rp2); + EXPECT_THROW(obj.registeredParameter("*par*"), std::runtime_error); + + // no match + EXPECT_THROW(obj.registeredParameter("NonExistent"), std::runtime_error); } TEST_F(IParametricComponentTest, registeredVectors) @@ -143,43 +151,12 @@ TEST_F(IParametricComponentTest, removeParameter) EXPECT_NO_THROW(m_parameterized.removeParameter("unknown-par")); } - -// #baPool ++ continue here: more tests; remove the following ones - -TEST_F(IParametricComponentTest, DealingWithPool) -{ - /* TEMPORARILY DISABLED getParameterPool() - EXPECT_EQ( size_t(2), m_parameterized.getParameterPool()->size()); - IParametricComponentTest::ParameterizedObject obj2 = m_parameterized; - EXPECT_EQ( size_t(0), obj2.getParameterPool()->size()); - ParameterPool *pool = m_parameterized.createParameterTree(); - //POOL_2('/Parameterized/par1':0 '/Parameterized/par2':0 ) - //std::cout << *pool << std::endl; - pool->getParameter("/Parameterized/par1").setValue(1.0); - pool->getParameter("/Parameterized/par2").setValue(2.0); - EXPECT_EQ( double(1.0), m_parameterized.m_real_par1); - EXPECT_EQ( double(2.0), m_parameterized.m_real_par2); - */ -} - TEST_F(IParametricComponentTest, SetParameterValue) { - // m_parameterized.m_real_par1 = 1.0; - // m_parameterized.m_real_par2 = 2.0; - // m_parameterized.setParameterValue("par1", 3.0); - // m_parameterized.setParameterValue("par2", 4.0); - // EXPECT_EQ( double(3.0), m_parameterized.m_real_par1); - // EXPECT_EQ( double(4.0), m_parameterized.m_real_par2); - // ASSERT_THROW( m_parameterized.setParameterValue("NotExistingParameterName", 4.0), - // std::runtime_error ); - // m_parameterized.setParameterValue("*par*", 5.0); - // EXPECT_EQ( double(5.0), m_parameterized.m_real_par1); - // EXPECT_EQ( double(5.0), m_parameterized.m_real_par2); - // m_parameterized.setParameterValue("/Parameterized/par1", 7.0); - // EXPECT_EQ( double(7.0), m_parameterized.m_real_par1); - // EXPECT_EQ( double(5.0), m_parameterized.m_real_par2); - /* TEMPORARILY DISABLED getParameterPool() - m_parameterized.clearParameterPool(); - EXPECT_EQ( 0.0, m_parameterized.getParameterPool()->size()); - */ + m_parameterized.m_real_par1 = 1.0; + m_parameterized.m_real_par2 = 2.0; + m_parameterized.registeredParameter("par1")->setValue(3.0); + m_parameterized.registeredParameter("par2")->setValue(4.0); + EXPECT_EQ(double(3.0), m_parameterized.m_real_par1); + EXPECT_EQ(double(4.0), m_parameterized.m_real_par2); } -- GitLab