121 string paramName, T badValue)
123 Teuchos::ParameterList validParameters;
124 pl.set(paramName, badValue);
125 std::cout << std::endl;
126 std::cout << paramName <<
" = " << badValue << std::endl;
131 pl.validateParametersAndSetDefaults(validParameters);
133 catch(std::exception &e){
134 std::cout <<
"Correctly generated an error:" << std::endl;
135 std::cout << e.what() << std::endl;
140 std::cerr <<
"Bad parameter value was not detected in parameter list." << std::endl;
153 Teuchos::ParameterList valid(
"valid parameter list");
156 typedef Teuchos::AnyNumberParameterEntryValidator validator_t;
157 Teuchos::RCP<const validator_t> anyNumVal = Teuchos::rcp(
new validator_t);
162 std::cout <<
"set good default value" << std::endl;
164 std::string parameterName(
"parameterName");
166 valid.set(parameterName, 5.0,
"parameterDoc", anyNumVal);
168 catch (std::exception &e) {
169 std::cout <<
"FAIL error setting good default value "
170 << e.what() << std::endl;
174 double dd = valid.getEntry(parameterName).getValue<
double>(&dd);
175 std::cout <<
"good default value <double> = " << dd << std::endl;
179 Teuchos::ParameterList user(
"user");
182 std::cout <<
"test good user value" << std::endl;
183 user.set(parameterName,
"0.123");
185 user.validateParametersAndSetDefaults(valid);
187 catch (std::exception &e) {
188 std::cout <<
"FAIL " << e.what() << std::endl;
192 dd = user.getEntry(parameterName).getValue<
double>(&dd);
193 std::cout <<
"good user value <double> = " << dd << std::endl;
196 std::cout <<
"test bogus user value" << std::endl;
202 user.set(parameterName,
"bogus");
204 catch(std::exception &e) {
206 std::cout <<
"Parameter list correctly rejected bogus user value."
212 std::cout <<
"FAIL parameter list accepted a bogus user value"
219 std::cout <<
"set bogus default value" << std::endl;
221 std::string parameterNameToo(
"parameterNameToo");
224 valid.set(parameterNameToo,
"bogus",
"parameterDoc", anyNumVal);
226 catch (std::exception &e) {
228 std::cout <<
"Parameter list correctly rejected bogus default value."
234 std::cout <<
"FAIL parameter list accepted a bogus default value"
239 std::cout <<
"PASS" << std::endl;
247 Tpetra::ScopeGuard tscope(&narg, &arg);
248 Teuchos::RCP<const Teuchos::Comm<int> > comm = Tpetra::getDefaultComm();
250 int rank = comm->getRank();
259 if( tempTest != 0 ) {
265 Teuchos::ParameterList validParameters;
266 Teuchos::ParameterList myParams(
"testParameterList");
268 for (
int i=0; i <
NUMSTR; i++){
272 for (
int i=0; i <
NUMFN; i++){
276 Teuchos::ParameterList origParams(myParams);
283 myParams.validateParametersAndSetDefaults(validParameters);
286 catch(std::exception &e){
287 std::cerr <<
"Validate parameters generated an error:" << std::endl;
288 std::cerr << e.what() << std::endl;
289 std::cerr <<
"FAIL" << std::endl;
293 std::cout << std::endl;
294 std::cout <<
"Parameters after validation: " << std::endl;
295 std::cout << myParams << std::endl;
298 for (
int i=0; i <
NUMSTR; i++){
299 Teuchos::ParameterList badParams(origParams);
303 std::cout <<
"FAIL" << std::endl;
308 for (
int i=0; i <
NUMFN; i++){
309 Teuchos::ParameterList badParams(origParams);
310 std::istringstream iss(
fnParams[i][2]);
314 testInvalidValue<double>(badParams,
fnParams[i][0], badVal);
316 std::cout <<
"FAIL" << std::endl;
324 std::cout << std::endl;
325 std::cout <<
"Parameter documentation:" << std::endl;
328 std::cout <<
"PASS" << std::endl;