Skip to content

Commit

Permalink
Merge pull request #665 from jamesmudd/improve-fix-index-test
Browse files Browse the repository at this point in the history
Improve fix index test
  • Loading branch information
jamesmudd authored Jan 11, 2025
2 parents ddea36c + 867f90e commit 070ebed
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
Binary file modified jhdf/src/test/resources/hdf5/fixed_array_paged_datasets.hdf5
Binary file not shown.
12 changes: 6 additions & 6 deletions jhdf/src/test/resources/scripts/fixed_array_paged.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down

0 comments on commit 070ebed

Please sign in to comment.