From: Luca Heltai Date: Wed, 20 Sep 2017 09:52:37 +0000 (+0200) Subject: Test global section names. X-Git-Tag: v9.0.0-rc1~1033^2~7 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b69e0f34c5531fbbe6f1090325b36e35e73408ea;p=dealii.git Test global section names. --- diff --git a/tests/parameter_handler/parameter_acceptor_04.cc b/tests/parameter_handler/parameter_acceptor_04.cc new file mode 100644 index 0000000000..03438c0d06 --- /dev/null +++ b/tests/parameter_handler/parameter_acceptor_04.cc @@ -0,0 +1,71 @@ +//----------------------------------------------------------- +// +// Copyright (C) 2015 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +//----------------------------------------------------------- + + + +#include "../tests.h" +#include +#include +#include + +class FirstClass : public ParameterAcceptor +{ +public: + FirstClass(const std::string &name = "First Class"): + ParameterAcceptor(name) + { + add_parameter("First int", f_i); + add_parameter("First double",f_d); + add_parameter("First bool", f_b); + add_parameter("First string",f_s); + }; + +private: + int f_i = 3; + double f_d = 7.7; + bool f_b = true; + std::string f_s = "hello"; +}; + +class SecondClass : public ParameterAcceptor +{ +public: + SecondClass(const std::string &name = "Second Class"): + ParameterAcceptor(name) + { + add_parameter("Second int", s_i); + add_parameter("Second double",s_d); + add_parameter("Second bool", s_b); + add_parameter("Second string",s_s); + }; + +private: + int s_i = 5; + double s_d = 9.9; + bool s_b = false; + std::string s_s = "bye bye"; +}; + +int main () +{ + initlog(); + + FirstClass f; + SecondClass s; + std::string output_name = "used_parameter_acceptor_04.prm"; + ParameterAcceptor::initialize(SOURCE_DIR "/parameter_acceptor_parameters/parameter_acceptor_04.prm", output_name); + ParameterAcceptor::prm.log_parameters(deallog); + +} diff --git a/tests/parameter_handler/parameter_acceptor_04.output b/tests/parameter_handler/parameter_acceptor_04.output new file mode 100644 index 0000000000..7528047834 --- /dev/null +++ b/tests/parameter_handler/parameter_acceptor_04.output @@ -0,0 +1,9 @@ + +DEAL:parameters:First Class::First bool: true +DEAL:parameters:First Class::First double: 7.7 +DEAL:parameters:First Class::First int: 3 +DEAL:parameters:First Class::First string: hello +DEAL:parameters:Second Class::Second bool: false +DEAL:parameters:Second Class::Second double: 9.9 +DEAL:parameters:Second Class::Second int: 5 +DEAL:parameters:Second Class::Second string: bye bye diff --git a/tests/parameter_handler/parameter_acceptor_parameters/parameter_acceptor_04.prm b/tests/parameter_handler/parameter_acceptor_parameters/parameter_acceptor_04.prm new file mode 100644 index 0000000000..e0eb8c0c2d --- /dev/null +++ b/tests/parameter_handler/parameter_acceptor_parameters/parameter_acceptor_04.prm @@ -0,0 +1,18 @@ +# Listing of Parameters +# --------------------- +subsection First Class + set First bool = true + set First double = 7.7 + set First int = 3 + set First string = hello +end + + +subsection Second Class + set Second bool = false + set Second double = 9.9 + set Second int = 5 + set Second string = bye bye +end + +