1 #include <libmesh/parameters.h> 14 CPPUNIT_TEST( testInt );
15 CPPUNIT_TEST( testFloat );
16 CPPUNIT_TEST( testDouble );
18 CPPUNIT_TEST( testMap );
20 CPPUNIT_TEST_SUITE_END();
37 T t = 10, t_orig = 10;
39 param.
set<T>(
"first") = t;
43 param.
set<T>(
"second") = t;
45 CPPUNIT_ASSERT_EQUAL(t_orig, param.
get<T>(
"first"));
46 CPPUNIT_ASSERT_EQUAL(t, param.
get<T>(
"second"));
55 std::map<int, std::string> m;
58 param.
set<std::map<int, std::string>>(
"mymap") = m;
59 const std::map<int, std::string> & gotten =
60 param.
get<std::map<int, std::string>>(
"mymap");
62 CPPUNIT_ASSERT_EQUAL(gotten.size(), std::size_t(2));
63 CPPUNIT_ASSERT_EQUAL(gotten.at(2), std::string(
"two"));
64 CPPUNIT_ASSERT_EQUAL(gotten.at(4), std::string(
"four"));
67 void testInt () { LOG_UNIT_TEST; testScalar<int>(); }
68 void testFloat () { LOG_UNIT_TEST; testScalar<float>(); }
69 void testDouble () { LOG_UNIT_TEST; testScalar<double>(); }
This class provides the ability to map between arbitrary, user-defined strings and several data types...
The libMesh namespace provides an interface to certain functionality in the library.
const T & get(std::string_view) const
CPPUNIT_TEST_SUITE_REGISTRATION(ParametersTest)
T & set(const std::string &)