MCPcopy Create free account
hub / github.com/Geode-solutions/OpenGeode / test

Function test

tests/model/test-vertex-identifier.cpp:240–285  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

238}
239
240void test()
241{
242 geode::OpenGeodeModelLibrary::initialize();
243 geode::VertexIdentifier vertex_identifier;
244 geode::OpenGeodeModelException::test(
245 vertex_identifier.nb_unique_vertices() == 0,
246 "Initialization of VertexIdentifier is not correct" );
247
248 CornerProvider provider;
249 CornerProviderBuilder builder( provider );
250
251 const auto& corner0_id = builder.add_corner();
252 const auto& corner1_id = builder.add_corner();
253 const auto& corner2_id = builder.add_corner();
254 const auto& corner3_id = builder.add_corner();
255 builder.corner_mesh_builder( corner0_id )
256 ->create_point( geode::Point2D{ { 0.1, 2.3 } } );
257 builder.corner_mesh_builder( corner1_id )
258 ->create_point( geode::Point2D{ { 1.1, 4.3 } } );
259 builder.corner_mesh_builder( corner2_id )
260 ->create_point( geode::Point2D{ { 0.9, -3.7 } } );
261 builder.corner_mesh_builder( corner3_id )
262 ->create_point( geode::Point2D{ { 0.1, 2.3 } } );
263
264 geode::VertexIdentifierBuilder vertex_id_builder{ vertex_identifier };
265 vertex_id_builder.register_mesh_component( provider.corner( corner0_id ) );
266 vertex_id_builder.register_mesh_component( provider.corner( corner1_id ) );
267 vertex_id_builder.register_mesh_component( provider.corner( corner2_id ) );
268 vertex_id_builder.register_mesh_component( provider.corner( corner3_id ) );
269
270 test_create_unique_vertices( vertex_identifier );
271 test_set_unique_vertices( vertex_identifier, provider );
272 test_modify_unique_vertices( vertex_identifier );
273 test_save_and_load_unique_vertices( vertex_identifier );
274
275 test_update_unique_vertices();
276
277 builder.unregister_mesh_component( provider.corner( corner2_id ) );
278 builder.register_mesh_component( provider.corner( corner2_id ) );
279
280 const auto cmv = vertex_identifier.component_mesh_vertices( 4 ).front();
281 vertex_id_builder.delete_isolated_vertices();
282 geode::OpenGeodeModelException::test(
283 vertex_identifier.unique_vertex( cmv ) == 3,
284 "Wrong UID after delete_isolated_vertices" );
285}
286
287OPENGEODE_TEST( "vertex-identifier" )

Calls 14

initializeFunction · 0.85
test_set_unique_verticesFunction · 0.85
corner_mesh_builderMethod · 0.80
nb_unique_verticesMethod · 0.45
add_cornerMethod · 0.45
create_pointMethod · 0.45

Tested by

no test coverage detected