From 6fcdd6a4143353df38b45a70def5397ac54711f8 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Tue, 22 Dec 2015 16:31:34 -0600 Subject: [PATCH] Add more tests. --- tests/base/array_view_04.cc | 55 +++++++++++++++++++++++++++++++++ tests/base/array_view_04.output | 2 ++ tests/base/array_view_05.cc | 55 +++++++++++++++++++++++++++++++++ tests/base/array_view_05.output | 2 ++ 4 files changed, 114 insertions(+) create mode 100644 tests/base/array_view_04.cc create mode 100644 tests/base/array_view_04.output create mode 100644 tests/base/array_view_05.cc create mode 100644 tests/base/array_view_05.output diff --git a/tests/base/array_view_04.cc b/tests/base/array_view_04.cc new file mode 100644 index 0000000000..fad7e11953 --- /dev/null +++ b/tests/base/array_view_04.cc @@ -0,0 +1,55 @@ +// --------------------------------------------------------------------- +// +// 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 Table arguments + +#include "../tests.h" +#include + +#include + + +void test () +{ + Table<2,int> v(10,8); + + ArrayView a = make_array_view (v, 4); // writable view to whole row + a[2] = 42; + + Assert (a[2] == 42, ExcInternalError()); + Assert (v[4][2] == 42, ExcInternalError()); + + ArrayView a2 = make_array_view (v, 4); // readable view + Assert (a2[2] == 42, ExcInternalError()); + + + // also check a different way of creating a readable view + ArrayView a3 + = make_array_view (const_cast &>(v), 4); + Assert (a3[2] == 42, ExcInternalError()); + + deallog << "OK" << std::endl; +} + + + + +int main() +{ + initlog(); + + test (); +} diff --git a/tests/base/array_view_04.output b/tests/base/array_view_04.output new file mode 100644 index 0000000000..0fd8fc12f0 --- /dev/null +++ b/tests/base/array_view_04.output @@ -0,0 +1,2 @@ + +DEAL::OK diff --git a/tests/base/array_view_05.cc b/tests/base/array_view_05.cc new file mode 100644 index 0000000000..69c6887bf3 --- /dev/null +++ b/tests/base/array_view_05.cc @@ -0,0 +1,55 @@ +// --------------------------------------------------------------------- +// +// 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 Table arguments + +#include "../tests.h" +#include + +#include + + +void test () +{ + Table<2,int> v(8,10); + + ArrayView a = make_array_view (v, 4, 7, 3); // writable view to part of a row + a[2] = 42; + + Assert (a[2] == 42, ExcInternalError()); + Assert (v[4][9] == 42, ExcInternalError()); + + ArrayView a2 = make_array_view (v, 4, 7, 3); // readable view + Assert (a2[2] == 42, ExcInternalError()); + + + // also check a different way of creating a readable view + ArrayView a3 + = make_array_view (const_cast &>(v), 4, 7, 3); + Assert (a3[2] == 42, ExcInternalError()); + + deallog << "OK" << std::endl; +} + + + + +int main() +{ + initlog(); + + test (); +} diff --git a/tests/base/array_view_05.output b/tests/base/array_view_05.output new file mode 100644 index 0000000000..0fd8fc12f0 --- /dev/null +++ b/tests/base/array_view_05.output @@ -0,0 +1,2 @@ + +DEAL::OK -- 2.39.5