@@ -3527,7 +3527,7 @@ variableBasedSeries( std::string const & file )
35273527 Extent changingExtent ( dimensionality, len );
35283528 E_y.resetDataset ( { openPMD::Datatype::INT, changingExtent } );
35293529 std::vector< int > changingData (
3530- dimensionality * len, dimensionality );
3530+ std::pow ( len, dimensionality ) , dimensionality );
35313531 E_y.storeChunk (
35323532 changingData, Offset ( dimensionality, 0 ), changingExtent );
35333533 iteration.close ();
@@ -3537,32 +3537,65 @@ variableBasedSeries( std::string const & file )
35373537 REQUIRE ( auxiliary::directory_exists (
35383538 auxiliary::replace_last ( file, " %V" , " " ) ) );
35393539
3540- Series readSeries = SeriesBuilder ()
3541- .filePath ( file )
3542- .access ( Access::READ_ONLY )
3543- .parseLazily (); // @todo this test does not yet work for parseEagerly
3544-
3545- size_t last_iteration_index = 0 ;
3546- for ( auto iteration : readSeries.readIterations () )
35473540 {
3548- auto E_x = iteration.meshes [ " E" ][ " x" ];
3549- REQUIRE ( E_x.getDimensionality () == 1 );
3550- REQUIRE ( E_x.getExtent ()[ 0 ] == extent );
3551- auto chunk = E_x.loadChunk < int >( { 0 }, { extent } );
3552- iteration.close ();
3553- for ( size_t i = 0 ; i < extent; ++i )
3541+ Series readSeries = SeriesBuilder ()
3542+ .filePath ( file )
3543+ .access ( Access::READ_ONLY )
3544+ .parseLazily (); // @todo this test does not yet
3545+ // work for parseEagerly
3546+
3547+ size_t last_iteration_index = 0 ;
3548+ for ( auto iteration : readSeries.readIterations () )
35543549 {
3555- REQUIRE ( chunk.get ()[ i ] == int ( iteration.iterationIndex ) );
3550+ auto E_x = iteration.meshes [ " E" ][ " x" ];
3551+ REQUIRE ( E_x.getDimensionality () == 1 );
3552+ REQUIRE ( E_x.getExtent ()[ 0 ] == extent );
3553+ auto chunk = E_x.loadChunk < int >( { 0 }, { extent } );
3554+ iteration.close ();
3555+ for ( size_t i = 0 ; i < extent; ++i )
3556+ {
3557+ REQUIRE ( chunk.get ()[ i ] == int ( iteration.iterationIndex ) );
3558+ }
3559+
3560+ auto E_y = iteration.meshes [ " E" ][ " y" ];
3561+ unsigned dimensionality = iteration.iterationIndex % 3 + 1 ;
3562+ unsigned len = iteration.iterationIndex + 1 ;
3563+ Extent changingExtent ( dimensionality, len );
3564+ REQUIRE ( E_y.getExtent () == changingExtent );
3565+ last_iteration_index = iteration.iterationIndex ;
35563566 }
3567+ REQUIRE ( last_iteration_index == 9 );
3568+ }
35573569
3558- auto E_y = iteration.meshes [ " E" ][ " y" ];
3559- unsigned dimensionality = iteration.iterationIndex % 3 + 1 ;
3560- unsigned len = iteration.iterationIndex + 1 ;
3561- Extent changingExtent ( dimensionality, len );
3562- REQUIRE ( E_y.getExtent () == changingExtent );
3563- last_iteration_index = iteration.iterationIndex ;
3570+ {
3571+ Series readSeries = SeriesBuilder ()
3572+ .filePath ( file )
3573+ .access ( Access::READ_ONLY )
3574+ .parseEagerly (); // @todo this test does not yet
3575+ // work for parseEagerly
3576+
3577+ size_t last_iteration_index = 0 ;
3578+ for ( auto iteration : readSeries.readIterations () )
3579+ {
3580+ auto E_x = iteration.meshes [ " E" ][ " x" ];
3581+ REQUIRE ( E_x.getDimensionality () == 1 );
3582+ REQUIRE ( E_x.getExtent ()[ 0 ] == extent );
3583+ auto chunk = E_x.loadChunk < int >( { 0 }, { extent } );
3584+ iteration.close ();
3585+ for ( size_t i = 0 ; i < extent; ++i )
3586+ {
3587+ REQUIRE ( chunk.get ()[ i ] == int ( iteration.iterationIndex ) );
3588+ }
3589+
3590+ auto E_y = iteration.meshes [ " E" ][ " y" ];
3591+ unsigned dimensionality = iteration.iterationIndex % 3 + 1 ;
3592+ unsigned len = iteration.iterationIndex + 1 ;
3593+ Extent changingExtent ( dimensionality, len );
3594+ REQUIRE ( E_y.getExtent () == changingExtent );
3595+ last_iteration_index = iteration.iterationIndex ;
3596+ }
3597+ REQUIRE ( last_iteration_index == 9 );
35643598 }
3565- REQUIRE ( last_iteration_index == 9 );
35663599}
35673600
35683601TEST_CASE ( " variableBasedSeries" , " [serial][adios2]" )
0 commit comments