diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2019-12-08 20:00:04 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2019-12-09 21:44:38 (GMT) |
commit | 310b42e35af19780000344fa8902c1954659ee58 (patch) | |
tree | 1a70cbbde96b927f2392fcd9efc178c098026c1f /java/test/TestH5R.java | |
parent | dbd6fb0ba6062f1a48b893f79224c257d3282292 (diff) | |
download | hdf5-310b42e35af19780000344fa8902c1954659ee58.zip hdf5-310b42e35af19780000344fa8902c1954659ee58.tar.gz hdf5-310b42e35af19780000344fa8902c1954659ee58.tar.bz2 |
HDFFV-10876 Merge from develop
Diffstat (limited to 'java/test/TestH5R.java')
-rw-r--r-- | java/test/TestH5R.java | 417 |
1 files changed, 384 insertions, 33 deletions
diff --git a/java/test/TestH5R.java b/java/test/TestH5R.java index 5349855..ba16e9b 100644 --- a/java/test/TestH5R.java +++ b/java/test/TestH5R.java @@ -14,6 +14,7 @@ package test; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -24,9 +25,11 @@ import hdf.hdf5lib.H5; import hdf.hdf5lib.HDF5Constants; import hdf.hdf5lib.exceptions.HDF5Exception; import hdf.hdf5lib.exceptions.HDF5LibraryException; +import hdf.hdf5lib.exceptions.HDF5FunctionArgumentException; import org.junit.After; import org.junit.Before; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestName; @@ -42,6 +45,8 @@ public class TestH5R { long H5gid = -1; long H5did2 = -1; long[] H5dims = { DIM_X, DIM_Y }; + int[][] dset_data = new int[DIM_X][DIM_Y]; + int FILLVAL = 99; private final void _deleteFile(String filename) { File file = null; @@ -51,8 +56,9 @@ public class TestH5R { catch (Throwable err) {} if (file.exists()) { - try {file.delete();} catch (SecurityException e) {} + try {file.delete();} catch (SecurityException e) {e.printStackTrace();} } + assertFalse("TestH5R._deleteFile file still exists ", file.exists()); } private final long _createDataset(long fid, long dsid, String name, long dapl) { @@ -66,7 +72,7 @@ public class TestH5R { err.printStackTrace(); fail("H5.H5Dcreate: " + err); } - assertTrue("TestH5R._createDataset: ",did > 0); + assertTrue("TestH5R._createDataset: ", did > 0); return did; } @@ -100,6 +106,21 @@ public class TestH5R { H5did2 = _createDataset(H5gid, H5dsid, "dset2", HDF5Constants.H5P_DEFAULT); H5did = _createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT); + // Initialize the dataset. + for (int indx = 0; indx < DIM_X; indx++) + for (int jndx = 0; jndx < DIM_Y; jndx++) + dset_data[indx][jndx] = FILLVAL; + + try { + if (H5did >= 0) + H5.H5Dwrite(H5did, HDF5Constants.H5T_NATIVE_INT, + HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL, + HDF5Constants.H5P_DEFAULT, dset_data[0]); + } + catch (Exception e) { + e.printStackTrace(); + } + } catch (Throwable err) { err.printStackTrace(); @@ -129,13 +150,15 @@ public class TestH5R { System.out.println(); } - @Test + // Test v1.8 APIs params + + @Ignore public void testH5Rget_name() { - long loc_id=H5fid; - int ref_type=HDF5Constants.H5R_OBJECT; - long ret_val=-1; - byte[] ref=null; - String[] name= {""}; + long loc_id = H5fid; + int ref_type = HDF5Constants.H5R_OBJECT; + long ret_val = -1; + byte[] ref = null; + String[] name = {""}; String objName = "/dset"; try { @@ -158,13 +181,13 @@ public class TestH5R { assertTrue("The name of the object: ", objName.equals(name[0])); } - @Test + @Ignore public void testH5Rget_obj_type2() { int ref_type=HDF5Constants.H5R_OBJECT; byte[] ref=null; String objName = "/dset"; - int obj_type = -1;; + int obj_type = -1; try { ref = H5.H5Rcreate(H5fid, objName, ref_type, -1); @@ -183,7 +206,7 @@ public class TestH5R { assertEquals(obj_type, HDF5Constants.H5O_TYPE_DATASET); } - @Test + @Ignore public void testH5Rcreate_refobj() { byte[] ref = null; @@ -197,7 +220,7 @@ public class TestH5R { assertNotNull(ref); } - @Test + @Ignore public void testH5Rcreate_regionrefobj() { byte[] ref = null; try { @@ -210,7 +233,7 @@ public class TestH5R { assertNotNull(ref); } - @Test + @Ignore public void testH5Rdereference() { byte[] ref1 = null; byte[] ref2 = null; @@ -226,8 +249,8 @@ public class TestH5R { group_id= H5.H5Rdereference(H5gid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_OBJECT, ref2); assertNotNull(ref1); assertNotNull(ref2); - assertTrue(dataset_id>=0); - assertTrue(group_id>=0); + assertTrue(dataset_id >= 0); + assertTrue(group_id >= 0); } catch (Throwable err) { err.printStackTrace(); @@ -239,7 +262,7 @@ public class TestH5R { } } - @Test + @Ignore public void testH5Rget_region() { byte[] ref = null; long dsid = -1; @@ -247,7 +270,7 @@ public class TestH5R { ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_DATASET_REGION, H5dsid); dsid = H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref); assertNotNull(ref); - assertTrue(dsid>=0); + assertTrue(dsid >= 0); } catch (Throwable err) { err.printStackTrace(); @@ -258,70 +281,70 @@ public class TestH5R { } } - @Test(expected = IllegalArgumentException.class) + @Ignore//(expected = IllegalArgumentException.class) public void testH5Rget_name_Invalidreftype() throws Throwable { byte[] ref = null; - String[] name= {""}; + String[] name = {""}; ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_OBJECT, -1); H5.H5Rget_name(H5fid, HDF5Constants.H5R_DATASET_REGION, ref, name, 16); } - @Test(expected = NullPointerException.class) + @Ignore//(expected = NullPointerException.class) public void testH5Rget_name_NULLreference() throws Throwable { byte[] ref = null; - String[] name= {""}; + String[] name = {""}; H5.H5Rget_name(H5fid, HDF5Constants.H5R_OBJECT, ref, name, 16); } - @Test(expected = HDF5LibraryException.class) + @Ignore//(expected = HDF5LibraryException.class) public void testH5Rget_obj_type2_Invalidreftype() throws Throwable { byte[] ref = null; ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_OBJECT, -1); H5.H5Rget_obj_type(H5fid, HDF5Constants.H5R_DATASET_REGION, ref); } - @Test(expected = HDF5LibraryException.class) + @Ignore//(expected = HDF5LibraryException.class) public void testH5Rcreate_InvalidObjectName() throws Throwable { - H5.H5Rcreate(H5fid, "/GROUPS", HDF5Constants.H5R_OBJECT, -1); + byte[] ref=H5.H5Rcreate(H5fid, "/GROUPS", HDF5Constants.H5R_OBJECT, -1); } - @Test(expected = HDF5LibraryException.class) + @Ignore//(expected = HDF5LibraryException.class) public void testH5Rcreate_Invalidspace_id() throws Throwable { - H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_DATASET_REGION, -1); + byte[] ref=H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_DATASET_REGION, -1); } - @Test(expected = IllegalArgumentException.class) + @Ignore//(expected = IllegalArgumentException.class) public void testH5Rcreate_Invalidreftype() throws Throwable { - H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_BADTYPE, -1); + byte[] ref=H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_BADTYPE, -1); } - @Test(expected = IllegalArgumentException.class) + @Ignore//(expected = IllegalArgumentException.class) public void testH5Rgetregion_Invalidreftype() throws Throwable { byte[] ref = null; ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_OBJECT, H5dsid); H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref); } - @Test(expected = IllegalArgumentException.class) + @Ignore//(expected = IllegalArgumentException.class) public void testH5Rgetregion_Badreferencetype() throws Throwable { byte[] ref = null; ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_OBJECT, H5dsid); H5.H5Rget_region(H5fid, HDF5Constants.H5R_OBJECT, ref); } - @Test(expected = NullPointerException.class) + @Ignore//(expected = NullPointerException.class) public void testH5Rgetregion_Nullreference() throws Throwable { byte[] ref = null; H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref); } - @Test(expected = NullPointerException.class) + @Ignore//(expected = NullPointerException.class) public void testH5Rdereference_Nullreference() throws Throwable { byte[] ref = null; H5.H5Rdereference(H5did2, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_OBJECT, ref); } - @Test(expected = IllegalArgumentException.class) + @Ignore//(expected = IllegalArgumentException.class) public void testH5Rdereference_Invalidreference() throws Throwable { byte[] ref1 = null; byte[] ref2 = null; @@ -330,4 +353,332 @@ public class TestH5R { H5.H5Rdereference(H5gid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_OBJECT, ref1); } + // Test v1.12 APIs params + + @Test + public void testH5Rget_object() { + int ref_type = HDF5Constants.H5R_OBJECT2; + long ret_val = -1; + byte[] ref = null; + String name = ""; + String objName = "/dset"; + + try { + ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("testH5Rget_object: H5Rcreate_object " + err); + } + + try { + ret_val = H5.H5Rget_type(ref); + } + catch (Throwable err) { + err.printStackTrace(); + fail("testH5Rget_object: H5Rget_type: " + err); + } + assertTrue("testH5Rget_object: H5Rget_type", ret_val == ref_type); + + try { + name = H5.H5Rget_file_name(ref); + } + catch (Throwable err) { + err.printStackTrace(); + fail("testH5Rget_object: H5Rget_file_name: " + err); + } + assertTrue("testH5Rget_object: H5Rget_file_name", H5_FILE.equals(name)); + + try { + name = H5.H5Rget_obj_name(ref, HDF5Constants.H5P_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("testH5Rget_object: H5Rget_obj_name: " + err); + } + assertTrue("The name of the object: ", objName.equals(name)); + } + + @Test + public void testH5Rget_obj_type3() { + int obj_type = -1; + byte[] ref = null; + String objName = "/dset"; + + try { + ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("testH5Rget_obj_type3: H5Rcreate_object " + err); + } + + try { + obj_type = H5.H5Rget_obj_type3(ref, HDF5Constants.H5P_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("testH5Rget_obj_type3: H5.H5Rget_obj_type3: " + err); + } + assertEquals(obj_type, HDF5Constants.H5O_TYPE_DATASET); + } + + @Test + public void testH5Rcreate_regionref_object() { + byte[] ref = null; + String objName = "/dset"; + long start[] = {2,2}; // Starting location of hyperslab + long stride[] = {1,1}; // Stride of hyperslab + long count[] = {1,1}; // Element count of hyperslab + long block[] = {3,3}; // Block size of hyperslab + + // Select 3x3 hyperslab for reference + try { + H5.H5Sselect_hyperslab(H5dsid, HDF5Constants.H5S_SELECT_SET, start, stride, count, block); + } + catch (Throwable err) { + err.printStackTrace(); + fail("testH5Rget_object: H5Sselect_hyperslab " + err); + } + try { + ref = H5.H5Rcreate_region(H5fid, objName, H5dsid, HDF5Constants.H5P_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("testH5Rget_object: H5Rcreate_region " + err); + } + assertNotNull(ref); + } + +// These tests need to be updated with new APIs +// @Test// +// public void testH5Rget_group() { +// long loc_id = H5fid; +// int ref_type = HDF5Constants.H5R_OBJECT2; +// long ret_val = -1; +// byte[] ref = null; +// String name = ""; +// String objName = "/dset"; +// +// try { +// ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT); +// } +// catch (Throwable err) { +// err.printStackTrace(); +// fail("testH5Rget_object: H5Rcreate_object " + err); +// } +// try { +// dataset_id= H5.H5Rdereference(H5fid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_DATASET_REGION, ref1); +// +// //Create reference on group +// ref2 = H5.H5Rcreate(H5gid, "/Group1", HDF5Constants.H5R_OBJECT, -1); +// group_id= H5.H5Rdereference(H5gid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_OBJECT, ref2); +// assertNotNull(ref1); +// assertNotNull(ref2); +// assertTrue(dataset_id >= 0); +// assertTrue(group_id >= 0); +// } +// catch (Throwable err) { +// err.printStackTrace(); +// fail("TestH5Rdereference " + err); +// } +// finally { +// try {H5.H5Dclose(dataset_id);} catch (Exception ex) {} +// try {H5.H5Gclose(group_id);} catch (Exception ex) {} +// } +// } + +// @Test// +// public void testH5Rget_region_dataset() { +// long loc_id = H5fid; +// int ref_type = HDF5Constants.H5R_OBJECT2; +// long ret_val = -1; +// byte[] ref = null; +// String name = ""; +// String objName = "/dset"; +// +// try { +// ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT); +// } +// catch (Throwable err) { +// err.printStackTrace(); +// fail("testH5Rget_object: H5Rcreate_object " + err); +// } +// try { +// dsid = H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref); +// assertNotNull(ref); +// assertTrue(dsid >= 0); +// } +// catch (Throwable err) { +// err.printStackTrace(); +// fail("TestH5Rget_region: " + err); +// } +// finally { +// try {H5.H5Sclose(dsid);} catch (Exception ex) {} +// } +// } + +// @Test// +// public void testH5Rget_attr() { +// long loc_id = H5fid; +// int ref_type = HDF5Constants.H5R_OBJECT2; +// long ret_val = -1; +// byte[] ref = null; +// String name = ""; +// String objName = "/dset"; +// +// try { +// ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT); +// } +// catch (Throwable err) { +// err.printStackTrace(); +// fail("testH5Rget_object: H5Rcreate_object " + err); +// } +// try { +// dsid = H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref); +// assertNotNull(ref); +// assertTrue(dsid >= 0); +// } +// catch (Throwable err) { +// err.printStackTrace(); +// fail("TestH5Rget_region: " + err); +// } +// finally { +// try {H5.H5Sclose(dsid);} catch (Exception ex) {} +// } +// } + + // Test parameters to H5Rcreate_object + @Test(expected = NullPointerException.class) + public void testH5Rcreate_object_Nullname() throws Throwable { + String name = null; + H5.H5Rcreate_object(H5fid, name, HDF5Constants.H5P_DEFAULT); + } + + @Test(expected = HDF5FunctionArgumentException.class) + public void testH5Rget_name_Invalidloc() throws Throwable { + String name= ""; + H5.H5Rcreate_object(-1, name, HDF5Constants.H5P_DEFAULT); + } + + // Test parameters to H5Rcreate_region + @Test(expected = NullPointerException.class) + public void testH5Rcreate_region_Nullname() throws Throwable { + String name = null; + H5.H5Rcreate_region(H5fid, name, -1, HDF5Constants.H5P_DEFAULT); + } + + @Test(expected = HDF5FunctionArgumentException.class) + public void testH5Rcreate_region_Invalidloc() throws Throwable { + String name= ""; + H5.H5Rcreate_region(-1, name, -1, HDF5Constants.H5P_DEFAULT); + } + + // Test parameters to H5Rcreate_attr + @Test(expected = NullPointerException.class) + public void testH5Rcreate_attr_Nullname() throws Throwable { + String name = null; + String attrname = ""; + H5.H5Rcreate_attr(H5fid, name, attrname, HDF5Constants.H5P_DEFAULT); + } + + @Test(expected = NullPointerException.class) + public void testH5Rcreate_attr_Nullattrname() throws Throwable { + String name = ""; + String attrname = null; + H5.H5Rcreate_attr(H5fid, name, attrname, HDF5Constants.H5P_DEFAULT); + } + + @Test(expected = HDF5FunctionArgumentException.class) + public void testH5Rcreate_attr_Invalidloc() throws Throwable { + String name= ""; + String attrname= ""; + H5.H5Rcreate_attr(-1, name, attrname, HDF5Constants.H5P_DEFAULT); + } + + // Test parameters to H5Rdestroy + @Test(expected = NullPointerException.class) + public void testH5Rdestroy_Nullref() throws Throwable { + byte[] ref = null; + H5.H5Rdestroy(ref); + } + + // Test parameters to H5Rget_type + @Test(expected = NullPointerException.class) + public void testH5Rget_type_Nullref() throws Throwable { + byte[] ref = null; + H5.H5Rget_type(ref); + } + + // Test parameters to H5Requal + @Test(expected = NullPointerException.class) + public void testH5Requal_Nullref1() throws Throwable { + byte[] ref1 = null; + byte[] ref2 = {0,0,0,0}; + H5.H5Requal(ref1, ref2); + } + + @Test(expected = NullPointerException.class) + public void testH5Requal_Nullref2() throws Throwable { + byte[] ref1 = {0,0,0,0}; + byte[] ref2 = null; + H5.H5Requal(ref1, ref2); + } + + // Test parameters to H5Rcopy + @Test(expected = NullPointerException.class) + public void testH5Rcopy_Nullref1() throws Throwable { + byte[] ref1 = null; + byte[] ref2 = H5.H5Rcopy(ref1); + } + + // Test parameters to H5Ropen_object + @Test(expected = NullPointerException.class) + public void testH5Ropen_object_Nullref() throws Throwable { + byte[] ref = null; + H5.H5Ropen_object(ref, -1, -1); + } + + // Test parameters to H5Ropen_region + @Test(expected = NullPointerException.class) + public void testH5Ropen_region_Nullref() throws Throwable { + byte[] ref = null; + H5.H5Ropen_region(ref, -1, -1); + } + + // Test parameters to H5Ropen_attr + @Test(expected = NullPointerException.class) + public void testH5Ropen_attr_Nullref() throws Throwable { + byte[] ref = null; + H5.H5Ropen_attr(ref, -1, -1); + } + + // Test parameters to H5Rget_obj_type3 + @Test(expected = NullPointerException.class) + public void testH5Rget_obj_type3_Nullref() throws Throwable { + byte[] ref = null; + H5.H5Rget_obj_type3(ref, -1); + } + + // Test parameters to H5Rget_file_name + @Test(expected = NullPointerException.class) + public void testH5Rget_file_name_Nullref() throws Throwable { + byte[] ref = null; + H5.H5Rget_file_name(ref); + } + + // Test parameters to H5Rget_obj_name + @Test(expected = NullPointerException.class) + public void testH5Rget_obj_name_Nullref() throws Throwable { + byte[] ref = null; + H5.H5Rget_obj_name(ref, -1); + } + + // Test parameters to H5Rget_attr_name + @Test(expected = NullPointerException.class) + public void testH5Rget_attr_name_Nullref() throws Throwable { + byte[] ref = null; + H5.H5Rget_attr_name(ref); + } + } |