Go to the source code of this file.
◆ TEST_CASE() [1/2]
TEST_CASE |
( |
"ParameterSet" |
, |
|
|
"" |
[xml] |
|
) |
| |
Definition at line 19 of file test_ParameterSet.cpp.
References ParameterSet::add(), qmcplusplus::CHECK(), qmcplusplus::doc, Libxml2Document::getRoot(), qmcplusplus::okay, Libxml2Document::parseFromString(), ParameterSet::put(), qmcplusplus::REQUIRE(), and astring::s.
21 const char* content = R
"( 23 <parameter name="p1">1</parameter> 24 <parameter name="p4"> -2 -3 </parameter> 37 param.
add(p1_val,
"p1");
38 param.
add(p2_val,
"p2");
39 param.
add(p3_val,
"p3");
40 param.
add(p4_str,
"p4");
47 auto p4_vals = qmcplusplus::convertStrToVec<int>(p4_str.
s);
49 CHECK(p4_vals[0] == -2);
50 CHECK(p4_vals[1] == -3);
class that handles xmlDoc
bool put(std::istream &is) override
read from std::istream
class to handle a set of parameters
REQUIRE(std::filesystem::exists(filename))
void add(PDT &aparam, const std::string &aname_in, std::vector< PDT > candidate_values={}, TagStatus status=TagStatus::OPTIONAL)
add a new parameter corresponding to an xmlNode <parameter>
bool parseFromString(const std::string_view data)
CHECK(log_values[0]==ComplexApprox(std::complex< double >{ 5.603777579195571, -6.1586603331188225 }))
◆ TEST_CASE() [2/2]
TEST_CASE |
( |
"ParameterSet_bool" |
, |
|
|
"" |
[xml] |
|
) |
| |
Definition at line 53 of file test_ParameterSet.cpp.
References ParameterSet::add(), qmcplusplus::CHECK(), qmcplusplus::doc, Libxml2Document::getRoot(), qmcplusplus::okay, Libxml2Document::parseFromString(), ParameterSet::put(), and qmcplusplus::REQUIRE().
56 const char* content = R
"( 58 <parameter name="p1"> yes </parameter> 59 <parameter name="p2"> no </parameter> 70 param.
add(p1_val,
"p1");
71 param.
add(p2_val,
"p2");
72 param.
add(p3_val,
"p3", {
true,
false});
75 CHECK(p1_val ==
true);
76 CHECK(p2_val ==
false);
77 CHECK(p3_val ==
true);
81 const char* content = R
"( 83 <parameter name="p1"> </parameter> 92 param.
add(p1_val,
"p1");
93 CHECK_THROWS_WITH(param.
put(
doc.
getRoot()),
"p1 requires a single value input.");
97 const char* content = R
"( 99 <parameter name="p1"> yes no </parameter> 108 param.
add(p1_val,
"p1");
109 CHECK_THROWS_WITH(param.
put(
doc.
getRoot()),
"p1 only accepts a single value input.");
113 const char* content = R
"( 115 <parameter name="p1"> here </parameter> 124 param.
add(p1_val,
"p1");
125 CHECK_THROWS_WITH(param.
put(
doc.
getRoot()),
"p1 only accepts 'yes'/'no'/'true'/'false' but the input value is 'here'.");
class that handles xmlDoc
bool put(std::istream &is) override
read from std::istream
class to handle a set of parameters
REQUIRE(std::filesystem::exists(filename))
void add(PDT &aparam, const std::string &aname_in, std::vector< PDT > candidate_values={}, TagStatus status=TagStatus::OPTIONAL)
add a new parameter corresponding to an xmlNode <parameter>
bool parseFromString(const std::string_view data)
CHECK(log_values[0]==ComplexApprox(std::complex< double >{ 5.603777579195571, -6.1586603331188225 }))