From 4a40fd6cb45a3ad5dbc2f2f3c7a0b62d96c1cd67 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 21 Dec 2015 11:55:56 -0600 Subject: [PATCH] Add more tests. --- tests/base/array_view_01.cc | 4 +-- tests/base/array_view_02.cc | 52 ++++++++++++++++++++++++++++++++ tests/base/array_view_02.output | 2 ++ tests/base/array_view_03.cc | 53 +++++++++++++++++++++++++++++++++ tests/base/array_view_03.output | 2 ++ 5 files changed, 110 insertions(+), 3 deletions(-) create mode 100644 tests/base/array_view_02.cc create mode 100644 tests/base/array_view_02.output create mode 100644 tests/base/array_view_03.cc create mode 100644 tests/base/array_view_03.output diff --git a/tests/base/array_view_01.cc b/tests/base/array_view_01.cc index c6f14b2254..b6c933bda0 100644 --- a/tests/base/array_view_01.cc +++ b/tests/base/array_view_01.cc @@ -46,9 +46,7 @@ void test () int main() { - std::ofstream logfile("output"); - deallog.attach(logfile); - deallog.threshold_double(1.e-10); + initlog(); test (); } diff --git a/tests/base/array_view_02.cc b/tests/base/array_view_02.cc new file mode 100644 index 0000000000..8c151f9c7a --- /dev/null +++ b/tests/base/array_view_02.cc @@ -0,0 +1,52 @@ +// --------------------------------------------------------------------- +// +// 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. +// +// --------------------------------------------------------------------- + + +// test for class ArrayView. check make_array_view + +#include "../tests.h" +#include + +#include + + +void test () +{ + std::vector v(10); + + ArrayView a = make_array_view (v, 4, 3); // writable view + a[2] = 42; + + Assert (a[2] == 42, ExcInternalError()); + Assert (v[6] == 42, ExcInternalError()); + + ArrayView a2 = make_array_view (v, 4, 3); // readable view + Assert (a2[2] == 42, ExcInternalError()); + + ArrayView a3 (a); // readable view, converted from 'a' + Assert (a3[2] == 42, ExcInternalError()); + + deallog << "OK" << std::endl; +} + + + + +int main() +{ + initlog(); + + test (); +} diff --git a/tests/base/array_view_02.output b/tests/base/array_view_02.output new file mode 100644 index 0000000000..0fd8fc12f0 --- /dev/null +++ b/tests/base/array_view_02.output @@ -0,0 +1,2 @@ + +DEAL::OK diff --git a/tests/base/array_view_03.cc b/tests/base/array_view_03.cc new file mode 100644 index 0000000000..8693f6e0ca --- /dev/null +++ b/tests/base/array_view_03.cc @@ -0,0 +1,53 @@ +// --------------------------------------------------------------------- +// +// 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. +// +// --------------------------------------------------------------------- + + +// test for class ArrayView. check make_array_view for whole vectors + +#include "../tests.h" +#include + +#include + + +void test () +{ + std::vector v(10); + + ArrayView a = make_array_view (v); // writable view + a[2] = 42; + + Assert (a[2] == 42, ExcInternalError()); + Assert (v[2] == 42, ExcInternalError()); + + ArrayView a2 = make_array_view (v); // readable view + Assert (a2[2] == 42, ExcInternalError()); + + ArrayView a3 + = make_array_view (const_cast &>(v)); + Assert (a3[2] == 42, ExcInternalError()); + + deallog << "OK" << std::endl; +} + + + + +int main() +{ + initlog(); + + test (); +} diff --git a/tests/base/array_view_03.output b/tests/base/array_view_03.output new file mode 100644 index 0000000000..0fd8fc12f0 --- /dev/null +++ b/tests/base/array_view_03.output @@ -0,0 +1,2 @@ + +DEAL::OK -- 2.39.5