diff --git a/Tests/MeshLib/TestUniqueMeshId.cpp b/Tests/MeshLib/TestUniqueMeshId.cpp index 9fc7e309b773cbd56e053d72c23a83c6080435c4..207aabbd7fd48b28e9a9c112b741de698eceb700 100644 --- a/Tests/MeshLib/TestUniqueMeshId.cpp +++ b/Tests/MeshLib/TestUniqueMeshId.cpp @@ -15,25 +15,30 @@ using namespace MeshLib; TEST(MeshLib, UniqueMeshId) { - // Create first mesh + // Create first mesh and get the current counter value. Mesh m0("first", std::vector<Node*>(), std::vector<Element*>()); - ASSERT_EQ(std::size_t(1), m0.getID()); + std::size_t const counter_value = m0.getID(); + EXPECT_GT(counter_value, 0); + + // + // Test mesh counter increments. + // Mesh* m1 = new Mesh("second", std::vector<Node*>(), std::vector<Element*>()); - ASSERT_EQ(std::size_t(2), m1->getID()); + ASSERT_EQ(counter_value + std::size_t(1), m1->getID()); Mesh m2("third", std::vector<Node*>(), std::vector<Element*>()); - ASSERT_EQ(std::size_t(3), m2.getID()); + ASSERT_EQ(counter_value + std::size_t(2), m2.getID()); delete m1; - ASSERT_EQ(std::size_t(3), m2.getID()); + ASSERT_EQ(counter_value + std::size_t(2), m2.getID()); Mesh m3("fourth", std::vector<Node*>(), std::vector<Element*>()); - ASSERT_EQ(std::size_t(4), m3.getID()); + ASSERT_EQ(counter_value + std::size_t(3), m3.getID()); // Copy mesh keeps also increments the counter. Mesh m4(m0); - ASSERT_EQ(std::size_t(5), m4.getID()); + ASSERT_EQ(counter_value + std::size_t(4), m4.getID()); }