100 pl->set(
"String",
foo_ );
129 pl->set(
"String",
foo_ );
158 pl->set(
"String",
foo_ );
188 TEST_THROW( ob->setObjectName(
""), std::logic_error );
189 TEST_THROW( ob->setObjectTypeName(
""), std::logic_error );
193 TEST_THROW( ob = objectBuilder<Foo>(
"",
"Foo Type"), std::logic_error );
194 TEST_THROW( ob = objectBuilder<Foo>(
"Foo",
""), std::logic_error );
195 TEST_THROW( ob = objectBuilder<Foo>(
"",
""), std::logic_error );
199 ob->setObjectName(
"Foo");
200 ob->setObjectTypeName(
"Foo Type");
206 "Determines the type of Foo object that will be built.\nThe parameters for each Foo Type are specified in this sublist"
216 "Determines the type of Foo object that will be built.\nThe parameters for each Foo Type are specified in this sublist"
236 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
242 const RCP<FooA> fooA = rcp_dynamic_cast<FooA>(foo,
false);
244 ob->setObjectFactory(abstractFactoryStd<Foo,FooB>(),
"Foo B");
245 pl = ob->getValidParameters();
247 TEST_THROW( ob->setObjectFactory(abstractFactoryStd<Foo,FooC>(),
""), std::logic_error );
254 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
257 TEST_THROW( ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A"), std::logic_error );
258 #else // TEUCHOS_DEBUG
259 TEST_NOTHROW( ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A") );
260 TEST_THROW( ob->getValidParameters(), std::logic_error );
261 #endif // TEUCHOS_DEBUG
265 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
266 TEST_NOTHROW( ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"New Foo A") );
277 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
278 ob->setObjectFactory(abstractFactoryStd<Foo,FooB>(),
"Foo B");
281 pl->
set(
"Foo Type",
"Foo A");
285 ob->setParameterList(pl);
310 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
311 ob->setObjectFactory(abstractFactoryStd<Foo,FooB>(),
"Foo B");
312 ob->setObjectFactory(abstractFactoryStd<Foo,FooC>(),
"Foo C");
313 out <<
"op.getValidParamters():\n";
317 pl->
set(
"Foo Type",
"None");
318 ob->setParameterList(pl);
320 pl->
set(
"Foo Type",
"Foo B");
325 const RCP<FooB> fooB = rcp_dynamic_cast<FooB>(foo,
false);
329 ob->unsetParameterList();
332 const RCP<FooC> fooC = rcp_dynamic_cast<FooC>(foo,
false);
337 const RCP<Foo> foo = ob->create(
"Foo A");
338 const RCP<FooA> fooA = rcp_dynamic_cast<FooA>(foo,
false);
341 ob->setParameterList(pl);
343 const RCP<Foo> foo = ob->create(
"Foo A");
344 const RCP<FooA> fooA = rcp_dynamic_cast<FooA>(foo,
false);
349 TEST_THROW( foo = ob->create(
"Foo D"), std::logic_error );
354 #if !(__GNUC__ == 4 && __GNUC_MINOR__ == 8) && !(__GNUC__ == 4 && __GNUC_MINOR__ == 9) && !(__GNUC__ == 5 && __GNUC_MINOR__ == 3) && !(__GNUC__ == 6 && __GNUC_MINOR__ == 2)
366 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
369 pl = parameterList();
371 pl->set(
"Hello",
"World");
372 TEST_THROW( ob->setParameterList(pl), std::logic_error );
374 TEST_THROW( ob->unsetParameterList(), std::logic_error );
376 #else // TEUCHOS_DEBUG
380 const RCP<FooA> fooA = rcp_dynamic_cast<FooA>(foo,
false);
383 #endif // TEUCHOS_DEBUG
386 #endif // GCC 4.8, 4.9, 5.3, 6.2
400 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
404 nonconstPL->
set(
"Object Type",
"None");
415 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
418 pl = parameterList();
419 pl->
set(
"Object Type",
"None");
423 newPL = ob->getNonconstParameterList();
428 #if !(__GNUC__ == 4 && __GNUC_MINOR__ == 8) && !(__GNUC__ == 4 && __GNUC_MINOR__ == 9) && !(__GNUC__ == 5 && __GNUC_MINOR__ == 3) && !(__GNUC__ == 6 && __GNUC_MINOR__ == 2)
438 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
440 pl->
set(
"Object Type",
"None");
441 ob->setParameterList(pl);
447 const RCP<FooA> fooA = rcp_dynamic_cast<FooA>(foo,
false);
449 ob->setParameterList(pl);
450 pl->
set(
"Hello",
"World");
453 TEST_THROW( newPL = ob->unsetParameterList(), std::logic_error );
455 #else // TEUCHOS_DEBUG
459 #endif // TEUCHOS_DEBUG
462 #endif // GCC 4.8, 4.9, 5.3, 6.2
472 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
474 pl->
set(
"Object Type",
"Foo B");
475 TEST_THROW( ob->setParameterList(pl), std::logic_error );
479 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
480 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo B");
481 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo C");
483 validPL->
set(
"Object Type",
"Foo C");
493 objectValidator =
rcp(
495 validObjectNames,
"Object Type"
499 "Object Type",
"Foo C"
500 ,(std::string(
"Determines the type of Object object that will be built.\n")
501 +
"The parameters for each Object Type are specified in this sublist"
507 validPL->
set(
"Object Type",
"Foo A");
509 validPL->
set(
"Object Type",
"Foo B");
511 validPL->
set(
"Object Type",
"None");
524 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
525 ob->setObjectFactory(abstractFactoryStd<Foo,FooB>(),
"Foo B");
526 ob->setObjectFactory(abstractFactoryStd<Foo,FooC>(),
"Foo C");
529 ob->setParameterList(pl);
530 const RCP<Foo> foo = ob->create(
"Foo A");
540 ob->unsetParameterList();
546 ob->setParameterList(pl);
548 const RCP<Foo> foo = ob->create(
"Foo A");
553 const ParameterEntry& pe = outPL->sublist(
"Foo A").getEntry(
"String");
559 ob->unsetParameterList();
565 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
566 ob->setObjectFactory(abstractFactoryStd<Foo,FooB>(),
"Foo B");
567 ob->setObjectFactory(abstractFactoryStd<Foo,FooC>(),
"Foo C");
570 ob->setParameterList(pl);
572 RCP<FooC> fooC = Teuchos::rcp_dynamic_cast<FooC>(foo,
false);
577 ob->setParameterList(pl);
578 ob->setDefaultObject(
"Foo A");
580 RCP<FooA> fooA = Teuchos::rcp_dynamic_cast<FooA>(foo,
false);
585 ob->setParameterList(pl);
586 ob->setDefaultObject(
"None");
592 TEST_THROW(ob->setDefaultObject(
"Foo D"), std::logic_error);
594 ob->setDefaultObject(
"Foo D");
595 TEST_THROW(ob->getValidParameters(), std::logic_error);
596 #endif // TEUCHOS_DEBUG
601 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
602 ob->setObjectFactory(abstractFactoryStd<Foo,FooB>(),
"Foo B");
603 ob->setObjectFactory(abstractFactoryStd<Foo,FooC>(),
"Foo C");
605 ob->setParameterList(pl);
608 RCP<FooC> fooC = Teuchos::rcp_dynamic_cast<FooC>(foo,
false);
614 ob->setDefaultObject(
"Foo A");
616 RCP<FooA> fooA = Teuchos::rcp_dynamic_cast<FooA>(foo,
false);
620 ob->setDefaultObject(
"None");
628 ob->setObjectFactory(abstractFactoryStd<Foo,FooA>(),
"Foo A");
629 ob->setObjectFactory(abstractFactoryStd<Foo,FooB>(),
"Foo B");
630 ob->setObjectFactory(abstractFactoryStd<Foo,FooC>(),
"Foo C");
633 RCP<FooC> fooC = Teuchos::rcp_dynamic_cast<FooC>(foo,
false);
637 ob->setDefaultObject(
"Foo A");
639 RCP<FooA> fooA = Teuchos::rcp_dynamic_cast<FooA>(foo,
false);
643 ob->setDefaultObject(
"None");