From: Wolfgang Bangerth Date: Wed, 8 Sep 2010 19:25:28 +0000 (+0000) Subject: New test. X-Git-Tag: v8.0.0~5563 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=861fc0fa631537b998ecb27cd43b6592257ba82c;p=dealii.git New test. git-svn-id: https://svn.dealii.org/trunk@21895 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/tests/bits/Makefile b/tests/bits/Makefile index d51a1eaf7b..a4ef1f6a2d 100644 --- a/tests/bits/Makefile +++ b/tests/bits/Makefile @@ -44,6 +44,7 @@ tests_x = grid_generator_?? \ denis_1 \ unit_support_points \ parameter_handler_* \ + multiple_parameter_loop_* \ parsed_function \ sparse_lu_decomposition_1 \ block_sparse_matrix_* \ diff --git a/tests/bits/multiple_parameter_loop_01.cc b/tests/bits/multiple_parameter_loop_01.cc new file mode 100644 index 0000000000..ce10290a2c --- /dev/null +++ b/tests/bits/multiple_parameter_loop_01.cc @@ -0,0 +1,86 @@ +//---------------------------- multiple_parameter_loop_01.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_01.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_01/prm"); + prm.loop (h); +} + + +int main () +{ + std::ofstream logfile("multiple_parameter_loop_01/output"); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + check ("multiple_parameter_loop_01/prm"); + + return 0; +} diff --git a/tests/bits/multiple_parameter_loop_01/cmp/generic b/tests/bits/multiple_parameter_loop_01/cmp/generic new file mode 100644 index 0000000000..566633bcf2 --- /dev/null +++ b/tests/bits/multiple_parameter_loop_01/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, b, c # default: 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 = a, b, c # 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 = a, b, 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 = a, b, c # default: a +end + + diff --git a/tests/bits/multiple_parameter_loop_01/prm b/tests/bits/multiple_parameter_loop_01/prm new file mode 100644 index 0000000000..ae751a8ec2 --- /dev/null +++ b/tests/bits/multiple_parameter_loop_01/prm @@ -0,0 +1,6 @@ +subsection Testing + set string list = a, b, c + set int = 3{3 | 9}3 + set double = 3.{ 141592 | 9999 } +end +