From: bangerth Date: Wed, 8 Sep 2010 19:36:15 +0000 (+0000) Subject: New test. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8148231479619f293be77bf6851439646ab65fc4;p=dealii-svn.git New test. git-svn-id: https://svn.dealii.org/trunk@21896 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/tests/bits/multiple_parameter_loop_02.cc b/tests/bits/multiple_parameter_loop_02.cc new file mode 100644 index 0000000000..aeacc6a739 --- /dev/null +++ b/tests/bits/multiple_parameter_loop_02.cc @@ -0,0 +1,86 @@ +//---------------------------- multiple_parameter_loop_02.cc --------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2002, 2003, 2004, 2005, 2010 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------- multiple_parameter_loop_02.cc --------------------------- + + +// check the MultipleParameterLoop class + +#include "../tests.h" +#include +#include +#include + + + // Take the example from the + // documentation but instead of + // running anything simply print + // parameters +class HelperClass : public MultipleParameterLoop::UserClass +{ + public: + virtual void create_new (unsigned int run_no) + { this->run_no = run_no; } + virtual void declare_parameters (ParameterHandler &prm); + virtual void run (ParameterHandler &prm); + unsigned int run_no; +}; + + +void HelperClass::declare_parameters (ParameterHandler &prm) +{ + prm.enter_subsection ("Testing"); + prm.declare_entry ("string list", + "a", + Patterns::List(Patterns::Selection("a|b|c|d|e|f|g|h")), + "docs 1"); + prm.declare_entry ("int", + "1", + Patterns::Integer()); + prm.declare_entry ("double", + "3.1415926", + Patterns::Double(), + "docs 3"); + prm.leave_subsection (); +} + + +void HelperClass::run (ParameterHandler &prm) +{ + deallog << "Number of run: " << run_no << std::endl; + + prm.print_parameters (deallog.get_file_stream(), ParameterHandler::Text); +} + + + +void check (const char *p) +{ + class MultipleParameterLoop prm; + HelperClass h; + + h.declare_parameters (prm); + prm.read_input ("multiple_parameter_loop_02/prm"); + prm.loop (h); +} + + +int main () +{ + std::ofstream logfile("multiple_parameter_loop_02/output"); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + check ("multiple_parameter_loop_02/prm"); + + return 0; +} diff --git a/tests/bits/multiple_parameter_loop_02/cmp/generic b/tests/bits/multiple_parameter_loop_02/cmp/generic new file mode 100644 index 0000000000..1e68cfed1d --- /dev/null +++ b/tests/bits/multiple_parameter_loop_02/cmp/generic @@ -0,0 +1,53 @@ + +DEAL::Number of run: 1 +# Listing of Parameters +# --------------------- +subsection Testing + # docs 3 + set double = 3.141592 # default: 3.1415926 + set int = 333 # default: 1 + + # docs 1 + set string list = a +end + + +DEAL::Number of run: 2 +# Listing of Parameters +# --------------------- +subsection Testing + # docs 3 + set double = 3.9999 # default: 3.1415926 + set int = 333 # default: 1 + + # docs 1 + set string list = b # default: a +end + + +DEAL::Number of run: 3 +# Listing of Parameters +# --------------------- +subsection Testing + # docs 3 + set double = 3.141592 # default: 3.1415926 + set int = 393 # default: 1 + + # docs 1 + set string list = c # default: a +end + + +DEAL::Number of run: 4 +# Listing of Parameters +# --------------------- +subsection Testing + # docs 3 + set double = 3.9999 # default: 3.1415926 + set int = 393 # default: 1 + + # docs 1 + set string list = d # default: a +end + + diff --git a/tests/bits/multiple_parameter_loop_02/prm b/tests/bits/multiple_parameter_loop_02/prm new file mode 100644 index 0000000000..32f32b6349 --- /dev/null +++ b/tests/bits/multiple_parameter_loop_02/prm @@ -0,0 +1,6 @@ +subsection Testing + set string list = {{ a | b | c | d }} + set int = 3{3 | 9}3 + set double = 3.{ 141592 | 9999 } +end +