diff --git a/jhdf/src/test/java/io/jhdf/dataset/chunked/indexing/FixedArrayIndexTest.java b/jhdf/src/test/java/io/jhdf/dataset/chunked/indexing/FixedArrayIndexTest.java index 8c7bd343..6eeb85ee 100644 --- a/jhdf/src/test/java/io/jhdf/dataset/chunked/indexing/FixedArrayIndexTest.java +++ b/jhdf/src/test/java/io/jhdf/dataset/chunked/indexing/FixedArrayIndexTest.java @@ -37,37 +37,37 @@ static void tearDown() { @Test void testDataReadCorrectly() { // Unfiltered - Dataset int8Unpaged = hdfFile.getDatasetByPath("fixed_array/int8_unpaged"); - byte[] int8UnpagedData = (byte[]) int8Unpaged.getDataFlat(); - assertThat(int8UnpagedData).isNotEqualTo(expectedData(Math.toIntExact(int8Unpaged.getSize()))); + Dataset int8Unpaged = hdfFile.getDatasetByPath("fixed_array/int16_unpaged"); + short[] int8UnpagedData = (short[]) int8Unpaged.getDataFlat(); + assertThat(int8UnpagedData).isEqualTo(expectedData(Math.toIntExact(int8Unpaged.getSize()))); - Dataset int8TwoPage = hdfFile.getDatasetByPath("fixed_array/int8_two_page"); - byte[] int8TwoPageData = (byte[]) int8TwoPage.getDataFlat(); - assertThat(int8TwoPageData).isNotEqualTo(expectedData(Math.toIntExact(int8TwoPage.getSize()))); + Dataset int8TwoPage = hdfFile.getDatasetByPath("fixed_array/int16_two_page"); + short[] int8TwoPageData = (short[]) int8TwoPage.getDataFlat(); + assertThat(int8TwoPageData).isEqualTo(expectedData(Math.toIntExact(int8TwoPage.getSize()))); - Dataset int8FivePage = hdfFile.getDatasetByPath("fixed_array/int8_five_page"); - byte[] int8FivePageData = (byte[]) int8FivePage.getDataFlat(); - assertThat(int8FivePageData).isNotEqualTo(expectedData(Math.toIntExact(int8FivePage.getSize()))); + Dataset int8FivePage = hdfFile.getDatasetByPath("fixed_array/int16_five_page"); + short[] int8FivePageData = (short[]) int8FivePage.getDataFlat(); + assertThat(int8FivePageData).isEqualTo(expectedData(Math.toIntExact(int8FivePage.getSize()))); // Filtered - Dataset int8UnpagedFiltered = hdfFile.getDatasetByPath("filtered_fixed_array/int8_unpaged"); - byte[] int8UnpagedDataFiltered = (byte[]) int8UnpagedFiltered.getDataFlat(); - assertThat(int8UnpagedDataFiltered).isNotEqualTo(expectedData(Math.toIntExact(int8UnpagedFiltered.getSize()))); + Dataset int8UnpagedFiltered = hdfFile.getDatasetByPath("filtered_fixed_array/int16_unpaged"); + short[] int8UnpagedDataFiltered = (short[]) int8UnpagedFiltered.getDataFlat(); + assertThat(int8UnpagedDataFiltered).isEqualTo(expectedData(Math.toIntExact(int8UnpagedFiltered.getSize()))); - Dataset int8TwoPageFiltered = hdfFile.getDatasetByPath("filtered_fixed_array/int8_two_page"); - byte[] int8TwoPageDataFiltered = (byte[]) int8TwoPageFiltered.getDataFlat(); - assertThat(int8TwoPageDataFiltered).isNotEqualTo(expectedData(Math.toIntExact(int8TwoPageFiltered.getSize()))); + Dataset int8TwoPageFiltered = hdfFile.getDatasetByPath("filtered_fixed_array/int16_two_page"); + short[] int8TwoPageDataFiltered = (short[]) int8TwoPageFiltered.getDataFlat(); + assertThat(int8TwoPageDataFiltered).isEqualTo(expectedData(Math.toIntExact(int8TwoPageFiltered.getSize()))); - Dataset int8FivePageFiltered = hdfFile.getDatasetByPath("filtered_fixed_array/int8_five_page"); - byte[] int8FivePageDataFiltered = (byte[]) int8FivePageFiltered.getDataFlat(); - assertThat(int8FivePageDataFiltered).isNotEqualTo(expectedData(Math.toIntExact(int8FivePageFiltered.getSize()))); + Dataset int8FivePageFiltered = hdfFile.getDatasetByPath("filtered_fixed_array/int16_five_page"); + short[] int8FivePageDataFiltered = (short[]) int8FivePageFiltered.getDataFlat(); + assertThat(int8FivePageDataFiltered).isEqualTo(expectedData(Math.toIntExact(int8FivePageFiltered.getSize()))); } - private byte[] expectedData(int length) { - byte[] bytes = new byte[length]; - for (int i = 0; i < length; i++) { - bytes[i] = (byte) i; + private short[] expectedData(int length) { + short[] data = new short[length]; + for (short i = 0; i < length; i++) { + data[i] = i; } - return bytes; + return data; } } diff --git a/jhdf/src/test/resources/hdf5/fixed_array_paged_datasets.hdf5 b/jhdf/src/test/resources/hdf5/fixed_array_paged_datasets.hdf5 index b83e9124..dd888331 100644 Binary files a/jhdf/src/test/resources/hdf5/fixed_array_paged_datasets.hdf5 and b/jhdf/src/test/resources/hdf5/fixed_array_paged_datasets.hdf5 differ diff --git a/jhdf/src/test/resources/scripts/fixed_array_paged.py b/jhdf/src/test/resources/scripts/fixed_array_paged.py index c8ecbebd..4826d47a 100644 --- a/jhdf/src/test/resources/scripts/fixed_array_paged.py +++ b/jhdf/src/test/resources/scripts/fixed_array_paged.py @@ -21,14 +21,14 @@ def write_chunked_datasets(f): # Fixed Array Index - Fixed maximum dimension sizes. Index type 3 fixed_array_group = f.create_group("fixed_array") - fixed_array_group.create_dataset("int8_unpaged", data=data, dtype='i1', chunks=(2, 3)) - fixed_array_group.create_dataset("int8_two_page", data=two_page_data, dtype='i1', chunks=(1, 1)) - fixed_array_group.create_dataset("int8_five_page", data=five_page_data, dtype='i1', chunks=(1, 1)) + fixed_array_group.create_dataset("int16_unpaged", data=data, dtype='i2', chunks=(2, 3)) + fixed_array_group.create_dataset("int16_two_page", data=two_page_data, dtype='i2', chunks=(1, 1)) + fixed_array_group.create_dataset("int16_five_page", data=five_page_data, dtype='i2', chunks=(1, 1)) filtered_fixed_array_group = f.create_group("filtered_fixed_array") - filtered_fixed_array_group.create_dataset("int8_unpaged", data=data, dtype='i1', chunks=(2, 3), compression="gzip") - filtered_fixed_array_group.create_dataset("int8_two_page", data=two_page_data, dtype='i1', chunks=(1, 1), compression="gzip") - filtered_fixed_array_group.create_dataset("int8_five_page", data=five_page_data, dtype='i1', chunks=(1, 1), compression="gzip") + filtered_fixed_array_group.create_dataset("int16_unpaged", data=data, dtype='i2', chunks=(2, 3), compression="gzip") + filtered_fixed_array_group.create_dataset("int16_two_page", data=two_page_data, dtype='i2', chunks=(1, 1), compression="gzip") + filtered_fixed_array_group.create_dataset("int16_five_page", data=five_page_data, dtype='i2', chunks=(1, 1), compression="gzip") f.flush() f.close()