From 611effc9e39e7b32d96d1095cd5099defa03cf72 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 9 Jan 2023 21:13:24 -0700 Subject: [PATCH] Add new test. --- tests/base/array_view_18.cc | 67 +++++++++++++++++++++++++++++++++ tests/base/array_view_18.output | 2 + 2 files changed, 69 insertions(+) create mode 100644 tests/base/array_view_18.cc create mode 100644 tests/base/array_view_18.output diff --git a/tests/base/array_view_18.cc b/tests/base/array_view_18.cc new file mode 100644 index 0000000000..8e717b1b3b --- /dev/null +++ b/tests/base/array_view_18.cc @@ -0,0 +1,67 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2015 - 2021 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.md at +// the top level directory of deal.II. +// +// --------------------------------------------------------------------- + + +// test for class ArrayView with std::array arrays, using make_array_view + +#include + +#include "../tests.h" + + +void +test() +{ + std::array v; + + { + ArrayView a(&v[4], 3); // writable view + a[2] = 42; + + Assert(a[2] == 42, ExcInternalError()); + Assert(v[6] == 42, ExcInternalError()); + } + + { + ArrayView a = make_array_view(v); // writable view + a[1] = 43; + + Assert(v[1] == 43, ExcInternalError()); + Assert(a[6] == 42, ExcInternalError()); + } + + { + ArrayView a2(&v[4], 3); // readable view + Assert(a2[2] == 42, ExcInternalError()); + } + + { + ArrayView a2 = make_array_view(v); // readable view + Assert(a2[1] == 43, ExcInternalError()); + Assert(a2[6] == 42, ExcInternalError()); + } + + deallog << "OK" << std::endl; +} + + + +int +main() +{ + initlog(); + + test(); +} diff --git a/tests/base/array_view_18.output b/tests/base/array_view_18.output new file mode 100644 index 0000000000..0fd8fc12f0 --- /dev/null +++ b/tests/base/array_view_18.output @@ -0,0 +1,2 @@ + +DEAL::OK -- 2.39.5