#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); } }