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

Function test_import_manager

tests/basic/test-attribute.cpp:519–556  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

517}
518
519void test_import_manager( geode::AttributeManager& manager )
520{
521 const auto nb_elements = manager.nb_elements();
522 geode::AttributeManager manager2;
523 std::vector< geode::index_t > old2new( nb_elements, geode::NO_ID );
524 manager2.resize( 0 );
525 manager2.import( manager, old2new );
526 test_attribute_types( manager2 );
527 test_number_of_attributes( manager2, 8 );
528
529 geode::AttributeManager manager3;
530 for( const auto i : geode::LRange( nb_elements - 2 ) )
531 {
532 old2new[i] = nb_elements - 3 - i;
533 }
534 manager3.resize( nb_elements - 2 );
535 manager3.import( manager, old2new );
536 test_attribute_types( manager3 );
537 test_number_of_attributes( manager3, 8 );
538 auto array_attr =
539 manager.find_attribute< std::array< double, 2 > >( "array_double" );
540 auto array_attr2 =
541 manager3.find_attribute< std::array< double, 2 > >( "array_double" );
542 geode::OpenGeodeBasicException::test(
543 array_attr->value( 2 ) == array_attr2->value( 4 ),
544 "Error in attribute import value." );
545
546 geode::AttributeManager manager4;
547 for( const auto i : geode::LRange( nb_elements ) )
548 {
549 old2new[i] = i;
550 }
551 manager4.resize( nb_elements );
552 manager4.import( manager, old2new );
553 test_attribute_types( manager4 );
554 test_number_of_attributes( manager4, 8 );
555 test_sparse_attribute_after_element_deletion( manager4 );
556}
557
558void test_multi_import_manager()
559{

Callers 1

testFunction · 0.85

Calls 8

test_attribute_typesFunction · 0.85
testFunction · 0.70
nb_elementsMethod · 0.45
resizeMethod · 0.45
importMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected