void NodeSetTest::test_num_before() { const EntityTopology type = HEXAHEDRON; NodeSet set; set.clear(); set.set_mid_face_node( 2 ); CPPUNIT_ASSERT_EQUAL( 0u, set.num_before_mid_face( 2 ) ); CPPUNIT_ASSERT_EQUAL( 1u, set.num_before_mid_face( 3 ) ); set.set_corner_node( 0 ); CPPUNIT_ASSERT_EQUAL( 1u, set.num_before_mid_face( 2 ) ); CPPUNIT_ASSERT_EQUAL( 2u, set.num_before_mid_face( 3 ) ); CPPUNIT_ASSERT_EQUAL( 0u, set.num_before_corner( 0 ) ); CPPUNIT_ASSERT_EQUAL( 1u, set.num_before_corner( 1 ) ); set.set_all_corner_nodes( type ); CPPUNIT_ASSERT_EQUAL( TopologyInfo::corners(type), set.num_before_mid_edge(0) ); CPPUNIT_ASSERT_EQUAL( TopologyInfo::corners(type)-1, set.num_before_corner(TopologyInfo::corners(type)-1) ); CPPUNIT_ASSERT_EQUAL( 0u, set.num_before_corner(0) ); CPPUNIT_ASSERT_EQUAL( 1u, set.num_before_corner(1) ); CPPUNIT_ASSERT_EQUAL( 2u, set.num_before_corner(2) ); CPPUNIT_ASSERT_EQUAL( 3u, set.num_before_corner(3) ); CPPUNIT_ASSERT_EQUAL( 4u, set.num_before_corner(4) ); const unsigned total_nodes = 27; set.set_all_nodes( type ); CPPUNIT_ASSERT_EQUAL( total_nodes - 1, set.num_before_mid_region( 0 ) ); set.clear_mid_edge_node( 0 ); CPPUNIT_ASSERT_EQUAL( total_nodes - 2, set.num_before_mid_region( 0 ) ); set.clear_mid_edge_node( 1 ); CPPUNIT_ASSERT_EQUAL( total_nodes - 3, set.num_before_mid_region( 0 ) ); }