Skip to content
Snippets Groups Projects
Commit 5d967304 authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Add missing tests for ItemValue

parent 36e3daf6
No related branches found
No related tags found
1 merge request!84Add SubArray class
...@@ -7,9 +7,6 @@ ...@@ -7,9 +7,6 @@
#include <mesh/Mesh.hpp> #include <mesh/Mesh.hpp>
#include <utils/Messenger.hpp> #include <utils/Messenger.hpp>
// Instantiate to ensure full coverage is performed
template class ItemValue<int, ItemType::cell>;
// clazy:excludeall=non-pod-global-static // clazy:excludeall=non-pod-global-static
TEST_CASE("ItemValue", "[mesh]") TEST_CASE("ItemValue", "[mesh]")
...@@ -95,6 +92,25 @@ TEST_CASE("ItemValue", "[mesh]") ...@@ -95,6 +92,25 @@ TEST_CASE("ItemValue", "[mesh]")
REQUIRE(CellValue<int>{connectivity}.isBuilt()); REQUIRE(CellValue<int>{connectivity}.isBuilt());
} }
SECTION("set values from array")
{
const Mesh<Connectivity<3>>& mesh_3d = MeshDataBaseForTests::get().cartesianMesh<3>();
const Connectivity<3>& connectivity = mesh_3d.connectivity();
CellValue<size_t> cell_value{connectivity};
Array<size_t> values{cell_value.size()};
for (size_t i = 0; i < values.size(); ++i) {
values[i] = i;
}
cell_value = values;
for (CellId i_cell = 0; i_cell < mesh_3d.numberOfCells(); ++i_cell) {
REQUIRE(cell_value[i_cell] == i_cell);
}
}
SECTION("copy") SECTION("copy")
{ {
const Mesh<Connectivity<3>>& mesh_3d = MeshDataBaseForTests::get().cartesianMesh<3>(); const Mesh<Connectivity<3>>& mesh_3d = MeshDataBaseForTests::get().cartesianMesh<3>();
...@@ -170,6 +186,17 @@ TEST_CASE("ItemValue", "[mesh]") ...@@ -170,6 +186,17 @@ TEST_CASE("ItemValue", "[mesh]")
NodeId invalid_node_id = connectivity.numberOfNodes(); NodeId invalid_node_id = connectivity.numberOfNodes();
REQUIRE_THROWS_AS(node_value[invalid_node_id], AssertError); REQUIRE_THROWS_AS(node_value[invalid_node_id], AssertError);
} }
SECTION("set values from invalid array size")
{
const Mesh<Connectivity<3>>& mesh_3d = MeshDataBaseForTests::get().cartesianMesh<3>();
const Connectivity<3>& connectivity = mesh_3d.connectivity();
CellValue<size_t> cell_value{connectivity};
Array<size_t> values{3 + cell_value.size()};
REQUIRE_THROWS_AS(cell_value = values, AssertError);
}
} }
#endif // NDEBUG #endif // NDEBUG
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment