diff options
Diffstat (limited to 'java/test/TestH5Fparams.java')
| -rw-r--r-- | java/test/TestH5Fparams.java | 281 |
1 files changed, 281 insertions, 0 deletions
diff --git a/java/test/TestH5Fparams.java b/java/test/TestH5Fparams.java new file mode 100644 index 0000000..3fcfe3b --- /dev/null +++ b/java/test/TestH5Fparams.java @@ -0,0 +1,281 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * 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://www.hdfgroup.org/licenses. * + * 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 java.io.File; + +import hdf.hdf5lib.H5; +import hdf.hdf5lib.HDF5Constants; +import hdf.hdf5lib.exceptions.HDF5FunctionArgumentException; +import hdf.hdf5lib.structs.H5F_info2_t; + +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; + +public class TestH5Fparams { + @Rule + public TestName testname = new TestName(); + + @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(expected = NullPointerException.class) + public void testH5Fcreate_null() throws Throwable + { + H5.H5Fcreate(null, HDF5Constants.H5F_ACC_TRUNC, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT); + } + + @Test(expected = NullPointerException.class) + public void testH5Fopen_null() throws Throwable + { + H5.H5Fopen(null, HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT); + } + + @Test(expected = NullPointerException.class) + public void testH5Fis_accessible_null() throws Throwable + { + H5.H5Fis_accessible(null, -1); + } + + @Test(expected = NullPointerException.class) + public void testH5Fmount_null() throws Throwable + { + H5.H5Fmount(-1, null, -1, HDF5Constants.H5P_DEFAULT); + } + + @Test(expected = NullPointerException.class) + public void testH5Funmount_null() throws Throwable + { + H5.H5Funmount(-1, null); + } + + @SuppressWarnings("deprecation") + @Ignore + public void testH5Fis_hdf5_text() + { + File txtFile = null; + boolean isH5 = false; + + try { + txtFile = new File("test.txt"); + if (!txtFile.exists()) + txtFile.createNewFile(); + isH5 = H5.H5Fis_hdf5("test.txt"); + } + catch (Throwable err) { + fail("H5.H5Fis_hdf5 failed on test.txt: " + err); + } + + assertFalse(isH5); + + try { + txtFile.delete(); + } + catch (SecurityException e) { + ; // e.printStackTrace(); + } + } + + @Test //(expected = HDF5LibraryException.class) + public void testH5Fclose_negative() throws Throwable + { + // cannot close a file with negative id. + int fid = H5.H5Fclose(-1); + assertTrue(fid == 0); + } + + @Test + public void testH5Fcreate() + { + long fid = HDF5Constants.H5I_INVALID_HID; + File file = null; + + try { + fid = H5.H5Fcreate("test.h5", HDF5Constants.H5F_ACC_TRUNC, HDF5Constants.H5P_DEFAULT, + HDF5Constants.H5P_DEFAULT); + if (fid > 0) { + H5.H5Fclose(fid); + } + file = new File("test.h5"); + } + catch (Throwable err) { + fail("H5.H5Fopen: " + err); + } + + if (file.exists()) { + try { + file.delete(); + } + catch (SecurityException e) { + ; // e.printStackTrace(); + } + } + } + + @Test + public void testH5Fflush_global() + { + long fid = HDF5Constants.H5I_INVALID_HID; + + try { + fid = H5.H5Fcreate("test.h5", HDF5Constants.H5F_ACC_TRUNC, HDF5Constants.H5P_DEFAULT, + HDF5Constants.H5P_DEFAULT); + } + catch (Throwable err) { + fail("H5.H5Fopen: " + err); + } + + try { + H5.H5Fflush(fid, HDF5Constants.H5F_SCOPE_GLOBAL); + } + catch (Throwable err) { + fail("H5.H5Fflush: " + err); + } + + try { + H5.H5Fclose(fid); + } + catch (Exception ex) { + } + } + + @Test + public void testH5Fflush_local() + { + long fid = HDF5Constants.H5I_INVALID_HID; + + try { + fid = H5.H5Fcreate("test.h5", HDF5Constants.H5F_ACC_TRUNC, HDF5Constants.H5P_DEFAULT, + HDF5Constants.H5P_DEFAULT); + } + catch (Throwable err) { + fail("H5.H5Fopen: " + err); + } + + try { + H5.H5Fflush(fid, HDF5Constants.H5F_SCOPE_LOCAL); + } + catch (Throwable err) { + fail("H5.H5Fflush: " + err); + } + + try { + H5.H5Fclose(fid); + } + catch (Exception ex) { + } + } + + @Test + public void testH5Fget_info() + { + long fid = HDF5Constants.H5I_INVALID_HID; + + try { + try { + fid = H5.H5Fcreate("test.h5", HDF5Constants.H5F_ACC_TRUNC, HDF5Constants.H5P_DEFAULT, + HDF5Constants.H5P_DEFAULT); + } + catch (Throwable err) { + fail("H5.H5Fcreate: " + err); + } + + try { + H5F_info2_t finfo = H5.H5Fget_info(fid); + assertEquals(finfo.super_version, 0); + assertEquals(finfo.free_version, 0); + assertEquals(finfo.sohm_version, 0); + } + catch (Throwable err) { + fail("H5.H5Fget_info: " + err); + } + } + catch (Exception e) { + e.printStackTrace(); + } + finally { + try { + H5.H5Fclose(fid); + } + catch (Exception ex) { + } + } + } + + @Ignore //(expected = HDF5FunctionArgumentException.class) + public void testH5Fset_libver_bounds_invalidlow() throws Throwable + { + long fid = HDF5Constants.H5I_INVALID_HID; + + try { + try { + fid = H5.H5Fcreate("test.h5", HDF5Constants.H5F_ACC_TRUNC, HDF5Constants.H5P_DEFAULT, + HDF5Constants.H5P_DEFAULT); + } + catch (Throwable err) { + fail("H5.H5Fcreate: " + err); + } + H5.H5Fset_libver_bounds(fid, 5, HDF5Constants.H5F_LIBVER_LATEST); + } + finally { + try { + H5.H5Fclose(fid); + } + catch (Exception ex) { + } + } + } + + @Ignore //(expected = HDF5FunctionArgumentException.class) + public void testH5Fset_libver_bounds_invalidhigh() throws Throwable + { + long fid = HDF5Constants.H5I_INVALID_HID; + + try { + try { + fid = H5.H5Fcreate("test.h5", HDF5Constants.H5F_ACC_TRUNC, HDF5Constants.H5P_DEFAULT, + HDF5Constants.H5P_DEFAULT); + } + catch (Throwable err) { + fail("H5.H5Fcreate: " + err); + } + H5.H5Fset_libver_bounds(fid, HDF5Constants.H5F_LIBVER_LATEST, + HDF5Constants.H5F_LIBVER_LATEST + 1); + } + finally { + try { + H5.H5Fclose(fid); + } + catch (Exception ex) { + } + } + } +} |
