Skip to content

Commit 526a16c

Browse files
committed
add test for resize array
1 parent 0ab59f6 commit 526a16c

File tree

2 files changed

+58
-1
lines changed

2 files changed

+58
-1
lines changed

src/test/java/dev/zarr/zarrjava/ZarrV2Test.java

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import java.nio.file.NoSuchFileException;
1616
import java.nio.file.Path;
1717
import java.nio.file.Paths;
18+
import java.util.Arrays;
1819

1920
public class ZarrV2Test extends ZarrTest {
2021
@ParameterizedTest
@@ -281,7 +282,7 @@ public void testAttributes() throws IOException, ZarrException {
281282

282283
@Test
283284
public void testSetAndUpdateAttributes() throws IOException, ZarrException {
284-
StoreHandle storeHandle = new FilesystemStore(TESTOUTPUT).resolve("testSetAttributesV3");
285+
StoreHandle storeHandle = new FilesystemStore(TESTOUTPUT).resolve("testSetAttributesV2");
285286

286287
ArrayMetadata arrayMetadata = Array.metadataBuilder()
287288
.withShape(10, 10)
@@ -308,4 +309,32 @@ public void testSetAndUpdateAttributes() throws IOException, ZarrException {
308309

309310
assertContainsTestAttributes(array.metadata().attributes());
310311
}
312+
313+
@Test
314+
public void testResizeArray() throws IOException, ZarrException {
315+
int[] testData = new int[10 * 10];
316+
Arrays.setAll(testData, p -> p);
317+
318+
StoreHandle storeHandle = new FilesystemStore(TESTOUTPUT).resolve("testResizeArrayV2");
319+
ArrayMetadata arrayMetadata = Array.metadataBuilder()
320+
.withShape(10, 10)
321+
.withDataType(DataType.UINT32)
322+
.withChunks(5, 5)
323+
.withFillValue(1)
324+
.build();
325+
ucar.ma2.DataType ma2DataType = arrayMetadata.dataType.getMA2DataType();
326+
Array array = Array.create(storeHandle, arrayMetadata);
327+
array.write(new long[]{0, 0}, ucar.ma2.Array.factory(ma2DataType, new int[]{10, 10}, testData));
328+
329+
array = array.resize(new long[]{20, 15});
330+
Assertions.assertArrayEquals(new int[]{20, 15}, array.read().getShape());
331+
332+
ucar.ma2.Array data = array.read(new long[]{0, 0}, new int[]{10, 10});
333+
Assertions.assertArrayEquals(testData, (int[]) data.get1DJavaArray(ma2DataType));
334+
335+
data = array.read(new long[]{10, 10}, new int[]{5, 5});
336+
int[] expectedData = new int[5 * 5];
337+
Arrays.fill(expectedData, 1);
338+
Assertions.assertArrayEquals(expectedData, (int[]) data.get1DJavaArray(ma2DataType));
339+
}
311340
}

src/test/java/dev/zarr/zarrjava/ZarrV3Test.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,4 +623,32 @@ public void testSetAndUpdateAttributes() throws IOException, ZarrException {
623623

624624
assertContainsTestAttributes(array.metadata().attributes());
625625
}
626+
627+
@Test
628+
public void testResizeArray() throws IOException, ZarrException {
629+
int[] testData = new int[10 * 10];
630+
Arrays.setAll(testData, p -> p);
631+
632+
StoreHandle storeHandle = new FilesystemStore(TESTOUTPUT).resolve("testResizeArrayV3");
633+
ArrayMetadata arrayMetadata = Array.metadataBuilder()
634+
.withShape(10, 10)
635+
.withDataType(DataType.UINT32)
636+
.withChunkShape(5, 5)
637+
.withFillValue(1)
638+
.build();
639+
ucar.ma2.DataType ma2DataType = arrayMetadata.dataType.getMA2DataType();
640+
Array array = Array.create(storeHandle, arrayMetadata);
641+
array.write(new long[]{0, 0}, ucar.ma2.Array.factory(ma2DataType, new int[]{10, 10}, testData));
642+
643+
array = array.resize(new long[]{20, 15});
644+
Assertions.assertArrayEquals(new int[]{20, 15}, array.read().getShape());
645+
646+
ucar.ma2.Array data = array.read(new long[]{0, 0}, new int[]{10, 10});
647+
Assertions.assertArrayEquals(testData, (int[]) data.get1DJavaArray(ma2DataType));
648+
649+
data = array.read(new long[]{10, 10}, new int[]{5, 5});
650+
int[] expectedData = new int[5 * 5];
651+
Arrays.fill(expectedData, 1);
652+
Assertions.assertArrayEquals(expectedData, (int[]) data.get1DJavaArray(ma2DataType));
653+
}
626654
}

0 commit comments

Comments
 (0)