]> https://gitweb.dealii.org/ - dealii.git/commitdiff
add test 1030/head
authorTimo Heister <timo.heister@gmail.com>
Sat, 20 Jun 2015 09:38:10 +0000 (05:38 -0400)
committerTimo Heister <timo.heister@gmail.com>
Sat, 20 Jun 2015 09:38:10 +0000 (05:38 -0400)
tests/bits/parameter_handler_20.cc [new file with mode: 0644]
tests/bits/parameter_handler_20.output [new file with mode: 0644]

diff --git a/tests/bits/parameter_handler_20.cc b/tests/bits/parameter_handler_20.cc
new file mode 100644 (file)
index 0000000..3c2600f
--- /dev/null
@@ -0,0 +1,64 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2002 - 2014 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.
+//
+// ---------------------------------------------------------------------
+
+
+
+// ParameterHandler seemed to ignore everything on the same line behind "end",
+// we should generate an error instead.
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/parameter_handler.h>
+#include <fstream>
+
+void check (const char * content)
+{
+  deallog << "* check" << std::endl;
+  ParameterHandler foo;
+  foo.enter_subsection("bar");
+  foo.declare_entry("val", "1.0", dealii::Patterns::Double(), "");
+  foo.leave_subsection();
+  foo.declare_entry("val2", "2.0", dealii::Patterns::Double(), "");
+
+  std::stringstream ss(content);
+
+  if (!foo.read_input(ss))
+    {
+      deallog << "read_input() failed" << std::endl;
+      return;
+    }
+
+  deallog << "input: ";
+  foo.enter_subsection("bar");
+  deallog << foo.get_double ("val") << " ";
+  foo.leave_subsection();
+  deallog << foo.get_double ("val2") << std::endl;
+}
+
+int main ()
+{
+  std::ofstream logfile("output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  check ("subsection bar\nend  #comment is okay");
+  check ("subsection bar\nend  ");
+  check ("subsection bar\nendhello what is this?");
+  check ("subsection bar\nendset val2=-3");
+  check ("subsection bar\nendset val2=-3\nset val2=-2");
+
+  return 0;
+}
diff --git a/tests/bits/parameter_handler_20.output b/tests/bits/parameter_handler_20.output
new file mode 100644 (file)
index 0000000..68e6af9
--- /dev/null
@@ -0,0 +1,11 @@
+
+DEAL::* check
+DEAL::input: 1.00000 2.00000
+DEAL::* check
+DEAL::input: 1.00000 2.00000
+DEAL::* check
+DEAL::read_input() failed
+DEAL::* check
+DEAL::read_input() failed
+DEAL::* check
+DEAL::read_input() failed

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.