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

Add unit test for ItemType

- cosmetic fix for itemId in 3d (face <-> edge)
parent 8d3ee3fe
Branches
Tags
1 merge request!6Feature/crs
......@@ -51,8 +51,8 @@ struct ItemId<1>
i=0;
break;
}
case ItemType::face:
case ItemType::edge:
case ItemType::face:
case ItemType::node: {
// in 1d, faces, edges and nodes are the same
i=1;
......@@ -73,8 +73,8 @@ struct ItemId<2>
i=0;
break;
}
case ItemType::face:
case ItemType::edge: {
case ItemType::edge:
case ItemType::face: {
// in 2d, faces and edges are the same
i=1;
break;
......@@ -98,11 +98,11 @@ struct ItemId<3>
i=0;
break;
}
case ItemType::face: {
case ItemType::edge: {
i=1;
break;
}
case ItemType::edge: {
case ItemType::face: {
i=2;
break;
}
......
......@@ -4,6 +4,7 @@ set(EXECUTABLE_OUTPUT_PATH ${PASTIS_BINARY_DIR})
add_executable (unit_tests
test_main.cpp
test_ItemType.cpp
test_PastisAssert.cpp
test_RevisionInfo.cpp
test_TinyMatrix.cpp
......
#include <catch.hpp>
#include <ItemType.hpp>
TEST_CASE("ItemType", "[connectivity]") {
ItemType node_type = ItemType::node;
ItemType edge_type = ItemType::edge;
ItemType face_type = ItemType::face;
ItemType cell_type = ItemType::cell;
SECTION("checking for item type differences") {
REQUIRE(((node_type != edge_type) and
(node_type != face_type) and
(node_type != cell_type) and
(edge_type != face_type) and
(edge_type != cell_type) and
(face_type != cell_type)));
}
SECTION("checking for item type names") {
REQUIRE(itemName(node_type)=="node");
REQUIRE(itemName(edge_type)=="edge");
REQUIRE(itemName(face_type)=="face");
REQUIRE(itemName(cell_type)=="cell");
}
SECTION("checking for item ids in 1d") {
REQUIRE(ItemId<1>::itemId(cell_type)==0);
REQUIRE(ItemId<1>::itemId(edge_type)==1);
REQUIRE(ItemId<1>::itemId(face_type)==1);
REQUIRE(ItemId<1>::itemId(node_type)==1);
}
SECTION("checking for item ids in 2d") {
REQUIRE(ItemId<2>::itemId(cell_type)==0);
REQUIRE(ItemId<2>::itemId(edge_type)==1);
REQUIRE(ItemId<2>::itemId(face_type)==1);
REQUIRE(ItemId<2>::itemId(node_type)==2);
}
SECTION("checking for item ids in 3d") {
REQUIRE(ItemId<3>::itemId(cell_type)==0);
REQUIRE(ItemId<3>::itemId(edge_type)==1);
REQUIRE(ItemId<3>::itemId(face_type)==2);
REQUIRE(ItemId<3>::itemId(node_type)==3);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment