diff options
Diffstat (limited to 'java/test/TestH5VL.java')
-rw-r--r-- | java/test/TestH5VL.java | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/java/test/TestH5VL.java b/java/test/TestH5VL.java new file mode 100644 index 0000000..0397be1 --- /dev/null +++ b/java/test/TestH5VL.java @@ -0,0 +1,117 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the COPYING file, which can be found at the root of the source code * + * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. * + * If you do not have access to either file, you may request a copy from * + * help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +package test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import hdf.hdf5lib.H5; +import hdf.hdf5lib.HDF5Constants; +import hdf.hdf5lib.exceptions.HDF5LibraryException; + +import java.io.File; + +import org.junit.After; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TestName; + +public class TestH5VL { + @Rule public TestName testname = new TestName(); + + private final void _deleteFile(String filename) { + File file = new File(filename); + + if (file.exists()) { + try {file.delete();} catch (SecurityException e) {} + } + } + + @Before + public void checkOpenIDs() { + assertTrue("H5 open ids is 0",H5.getOpenIDCount()==0); + System.out.print(testname.getMethodName()); + } + @After + public void nextTestName() { + System.out.println(); + } + + @Test + public void testH5VLnative_init() { + try { + boolean is_registered; + + is_registered = H5.H5VLis_connector_registered(HDF5Constants.H5VL_NATIVE_NAME); + assertTrue("H5.H5VLis_connector_registered H5VL_NATIVE_NAME", is_registered); + + is_registered = H5.H5VLis_connector_registered("FAKE_VOL_NAME"); + assertFalse("H5.H5VLis_connector_registered FAKE_VOL_NAME", is_registered); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5VLis_connector_registered " + err); + } + } + + @Test + public void testH5VLget_connector_id() { + try { + long native_id = H5.H5VLget_connector_id(HDF5Constants.H5VL_NATIVE_NAME); + assertTrue("H5.H5VLget_connector_id H5VL_NATIVE_NAME", native_id >= 0); + assertEquals(HDF5Constants.H5VL_NATIVE, native_id); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5VLget_connector_id " + err); + } + } + + @Test + public void testH5VLget_connector_name() { + String H5_FILE = "testFvl.h5"; + + long H5fid = H5.H5Fcreate(H5_FILE, HDF5Constants.H5F_ACC_TRUNC, + HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT); + H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL); + + try { + String native_name = H5.H5VLget_connector_name(H5fid); + assertTrue("H5.H5VLget_connector_name H5VL_NATIVE", native_name.compareToIgnoreCase(HDF5Constants.H5VL_NATIVE_NAME)==0); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5VLget_connector_name " + err); + } + finally { + if (H5fid > 0) { + try {H5.H5Fclose(H5fid);} catch (Exception ex) {} + } + _deleteFile(H5_FILE); + } + } + + @Test(expected = HDF5LibraryException.class) + public void testH5VLclose_NegativeID() throws Throwable { + H5.H5VLclose(-1); + } + + @Test(expected = HDF5LibraryException.class) + public void testH5VLunregister_connector_NegativeID() throws Throwable { + H5.H5VLunregister_connector(-1); + } +} + |