From 0200cdd23ab655f0a65e3f41cad996f7bf9bac2b Mon Sep 17 00:00:00 2001 From: Timo Koch <timo.koch@iws.uni-stuttgart.de> Date: Sun, 18 Nov 2018 21:40:11 +0100 Subject: [PATCH] [tests] Add fvGeometry.hasBoundaryScvf() to the fvgeometry tests --- test/discretization/box/test_boxfvgeometry.cc | 11 ++++++++++- .../cellcentered/tpfa/test_tpfafvgeometry.cc | 11 ++++++++++- .../staggered/test_staggeredfvgeometry.cc | 11 ++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/test/discretization/box/test_boxfvgeometry.cc b/test/discretization/box/test_boxfvgeometry.cc index 227191bc55..b2130b25da 100644 --- a/test/discretization/box/test_boxfvgeometry.cc +++ b/test/discretization/box/test_boxfvgeometry.cc @@ -98,12 +98,21 @@ int main (int argc, char *argv[]) try if(0 != testForwardIterator(range2.begin(), range2.end(), op2)) DUNE_THROW(Dune::Exception, "Iterator does not fulfill the forward iterator concept"); + std::size_t boundaryCount = 0; for (auto&& scvf : scvfs(fvGeometry)) { std::cout << "-- scvf " << scvf.index() << " ip at: " << scvf.ipGlobal() << " normal: " << scvf.unitOuterNormal(); - if (scvf.boundary()) std::cout << " (on boundary)."; + if (scvf.boundary()) + { + ++boundaryCount; + std::cout << " (on boundary)."; + } std::cout << std::endl; } + + if ((boundaryCount>0) != fvGeometry.hasBoundaryScvf()) + DUNE_THROW(Dune::InvalidStateException, "fvGeometry.hasBoundaryScvf() reports " << fvGeometry.hasBoundaryScvf() + << " but the number of boundary scvfs is " << boundaryCount); } } // ////////////////////////////////// diff --git a/test/discretization/cellcentered/tpfa/test_tpfafvgeometry.cc b/test/discretization/cellcentered/tpfa/test_tpfafvgeometry.cc index e7223e64bb..49d715f3ff 100644 --- a/test/discretization/cellcentered/tpfa/test_tpfafvgeometry.cc +++ b/test/discretization/cellcentered/tpfa/test_tpfafvgeometry.cc @@ -99,12 +99,21 @@ int main (int argc, char *argv[]) try if(0 != testForwardIterator(range2.begin(), range2.end(), op2)) DUNE_THROW(Dune::Exception, "Iterator does not fulfill the forward iterator concept"); + std::size_t boundaryCount = 0; for (auto&& scvf : scvfs(fvGeometry)) { std::cout << "-- scvf " << scvf.index() << " ip at: " << scvf.ipGlobal(); - if (scvf.boundary()) std::cout << " (on boundary)."; + if (scvf.boundary()) + { + ++boundaryCount; + std::cout << " (on boundary)."; + } std::cout << std::endl; } + + if ((boundaryCount>0) != fvGeometry.hasBoundaryScvf()) + DUNE_THROW(Dune::InvalidStateException, "fvGeometry.hasBoundaryScvf() reports " << fvGeometry.hasBoundaryScvf() + << " but the number of boundary scvfs is " << boundaryCount); } } // ////////////////////////////////// diff --git a/test/discretization/staggered/test_staggeredfvgeometry.cc b/test/discretization/staggered/test_staggeredfvgeometry.cc index d3d45349e8..130e0be2df 100644 --- a/test/discretization/staggered/test_staggeredfvgeometry.cc +++ b/test/discretization/staggered/test_staggeredfvgeometry.cc @@ -133,12 +133,21 @@ int main (int argc, char *argv[]) try if(0 != testForwardIterator(range2.begin(), range2.end(), op2)) DUNE_THROW(Dune::Exception, "Iterator does not fulfill the forward iterator concept"); + std::size_t boundaryCount = 0; for (auto&& scvf : scvfs(fvGeometry)) { std::cout << "-- scvf " << scvf.index() << " ip at: " << scvf.ipGlobal() << " normal: " << scvf.unitOuterNormal(); - if (scvf.boundary()) std::cout << " (on boundary)."; + if (scvf.boundary()) + { + ++boundaryCount; + std::cout << " (on boundary)."; + } std::cout << std::endl; } + + if ((boundaryCount>0) != fvGeometry.hasBoundaryScvf()) + DUNE_THROW(Dune::InvalidStateException, "fvGeometry.hasBoundaryScvf() reports " << fvGeometry.hasBoundaryScvf() + << " but the number of boundary scvfs is " << boundaryCount); } } // ////////////////////////////////// -- GitLab