@@ -414,7 +414,7 @@ public void testGroupReadWriteV2() throws Exception {
414414
415415 array .write (testdata (dataType ));
416416
417- run_python_script ("zarr_python_group_v2.py" , storeHandle .toPath ().toString (), storeHandle2 .toPath ().toString ());
417+ run_python_script ("zarr_python_group_v2.py" , storeHandle .toPath ().toString (), storeHandle2 .toPath ().toString (), "" + 2 );
418418
419419 Group group2 = Group .open (storeHandle2 );
420420 Assertions .assertEquals ("value" , group2 .metadata ().attributes ().get ("attr" ));
@@ -426,4 +426,31 @@ public void testGroupReadWriteV2() throws Exception {
426426 Assertions .assertArrayEquals (new int []{16 , 16 , 16 }, result .getShape ());
427427 assertIsTestdata (result , dataType );
428428 }
429+
430+ @ Test
431+ public void testGroupReadWriteV3 () throws Exception {
432+ StoreHandle storeHandle = new FilesystemStore (TESTOUTPUT ).resolve ("group_write" );
433+ StoreHandle storeHandle2 = new FilesystemStore (TESTOUTPUT ).resolve ("group_read" );
434+ dev .zarr .zarrjava .v3 .Group group = dev .zarr .zarrjava .v3 .Group .create (storeHandle , new Attributes (b -> b .set ("attr" , "value" )));
435+ dev .zarr .zarrjava .v3 .DataType dataType = DataType .INT32 ;
436+ dev .zarr .zarrjava .v3 .Array array = group .createGroup ("group" ).createArray ("array" , arrayMetadataBuilder -> arrayMetadataBuilder
437+ .withShape (16 , 16 , 16 )
438+ .withDataType (dataType )
439+ .withChunkShape (2 , 4 , 8 )
440+ );
441+
442+ array .write (testdata (dataType ));
443+
444+ run_python_script ("zarr_python_group_v2.py" , storeHandle .toPath ().toString (), storeHandle2 .toPath ().toString (), "" + 3 );
445+
446+ dev .zarr .zarrjava .v3 .Group group2 = dev .zarr .zarrjava .v3 .Group .open (storeHandle2 );
447+ Assertions .assertEquals ("value" , group2 .metadata ().attributes ().get ("attr" ));
448+ dev .zarr .zarrjava .v3 .Group subgroup = (dev .zarr .zarrjava .v3 .Group ) group2 .get ("group2" );
449+ Assertions .assertNotNull (subgroup );
450+ dev .zarr .zarrjava .v3 .Array array2 = (dev .zarr .zarrjava .v3 .Array ) subgroup .get ("array2" );
451+ Assertions .assertNotNull (array2 );
452+ ucar .ma2 .Array result = array2 .read ();
453+ Assertions .assertArrayEquals (new int []{16 , 16 , 16 }, result .getShape ());
454+ assertIsTestdata (result , dataType );
455+ }
429456}
0 commit comments