Skip to content
Snippets Groups Projects
Commit 7ee7ea6a authored by Matthias Puchner's avatar Matthias Puchner
Browse files

add unit tests for IParametricComponent

parent 6f421d62
No related branches found
No related tags found
1 merge request!65Refactor Distribution Handling
...@@ -9,7 +9,7 @@ protected: ...@@ -9,7 +9,7 @@ protected:
public: public:
using IParametricComponent::fullQualifiedParameters; // make it public for test cases using IParametricComponent::fullQualifiedParameters; // make it public for test cases
using IParametricComponent::registerParameter; // 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); return IParametricComponent::parameter(p);
} }
...@@ -45,8 +45,6 @@ protected: ...@@ -45,8 +45,6 @@ protected:
ParameterizedVectors m_parameterizedVectors; ParameterizedVectors m_parameterizedVectors;
}; };
// TODO enable tests
TEST_F(IParametricComponentTest, InitialState) TEST_F(IParametricComponentTest, InitialState)
{ {
EXPECT_EQ(size_t(0), m_initial_object.registeredParameters().size()); EXPECT_EQ(size_t(0), m_initial_object.registeredParameters().size());
...@@ -71,6 +69,11 @@ TEST_F(IParametricComponentTest, registeredParameters) ...@@ -71,6 +69,11 @@ TEST_F(IParametricComponentTest, registeredParameters)
EXPECT_NE(obj2.parameter("A"), nullptr); EXPECT_NE(obj2.parameter("A"), nullptr);
EXPECT_NE(obj2.parameter(&d), nullptr); EXPECT_NE(obj2.parameter(&d), nullptr);
EXPECT_EQ(obj2.parameter(&d2), 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) TEST_F(IParametricComponentTest, matchedParameters)
...@@ -79,7 +82,7 @@ TEST_F(IParametricComponentTest, matchedParameters) ...@@ -79,7 +82,7 @@ TEST_F(IParametricComponentTest, matchedParameters)
TestClass obj; TestClass obj;
obj.registerParameter("par1", &par1); obj.registerParameter("par1", &par1);
obj.registerParameter("xxx", &par2); auto rp2 = &obj.registerParameter("xxx", &par2);
obj.registerParameter("par3", &par3); obj.registerParameter("par3", &par3);
auto matched = obj.getMatchedParameters("*par*"); auto matched = obj.getMatchedParameters("*par*");
...@@ -89,10 +92,15 @@ TEST_F(IParametricComponentTest, matchedParameters) ...@@ -89,10 +92,15 @@ TEST_F(IParametricComponentTest, matchedParameters)
EXPECT_EQ(matched.at(0), obj.parameter(&par1)); EXPECT_EQ(matched.at(0), obj.parameter(&par1));
EXPECT_EQ(matched.at(1), obj.parameter(&par3)); EXPECT_EQ(matched.at(1), obj.parameter(&par3));
// #baPool shall these be implemented? (taken from ParameterPoolTest) EXPECT_EQ(m_parameterized.getMatchedParameters("*par*"),
// // unique match m_parameterized.getMatchedParameters("*/Parameterized/par*"));
// EXPECT_EQ(rp2, pool.getUniqueMatch("*xxx*"));
// EXPECT_THROW(pool.getUniqueMatch("*par*"), std::runtime_error); // 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) TEST_F(IParametricComponentTest, registeredVectors)
...@@ -143,43 +151,12 @@ TEST_F(IParametricComponentTest, removeParameter) ...@@ -143,43 +151,12 @@ TEST_F(IParametricComponentTest, removeParameter)
EXPECT_NO_THROW(m_parameterized.removeParameter("unknown-par")); 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) TEST_F(IParametricComponentTest, SetParameterValue)
{ {
// m_parameterized.m_real_par1 = 1.0; m_parameterized.m_real_par1 = 1.0;
// m_parameterized.m_real_par2 = 2.0; m_parameterized.m_real_par2 = 2.0;
// m_parameterized.setParameterValue("par1", 3.0); m_parameterized.registeredParameter("par1")->setValue(3.0);
// m_parameterized.setParameterValue("par2", 4.0); m_parameterized.registeredParameter("par2")->setValue(4.0);
// EXPECT_EQ( double(3.0), m_parameterized.m_real_par1); EXPECT_EQ(double(3.0), m_parameterized.m_real_par1);
// EXPECT_EQ( double(4.0), m_parameterized.m_real_par2); 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());
*/
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment