diff options
Diffstat (limited to 'java/test/TestH5Edefault.java')
-rw-r--r-- | java/test/TestH5Edefault.java | 564 |
1 files changed, 564 insertions, 0 deletions
diff --git a/java/test/TestH5Edefault.java b/java/test/TestH5Edefault.java new file mode 100644 index 0000000..510aa2f --- /dev/null +++ b/java/test/TestH5Edefault.java @@ -0,0 +1,564 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * 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 files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. 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.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 org.junit.After; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TestName; + +public class TestH5Edefault { + @Rule public TestName testname = new TestName(); + + @Before + public void H5Eset_default_stack() { + assertTrue("H5 open ids is 0",H5.getOpenIDCount()==0); + System.out.print(testname.getMethodName()); + + try { + // Clear any active stack messages + H5.H5Eclear2(HDF5Constants.H5E_DEFAULT); + } + catch (HDF5LibraryException err) { + err.printStackTrace(); + fail("H5Eset_default_stack: " + err); + } + } + @After + public void nextTestName() { + System.out.println(); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Eprint2_invalid_classid() throws Throwable { + H5.H5Eprint2(-1, null); + } + + @Test + public void testH5Eprint() { + try { + H5.H5Fopen("test", 0, 1); + } + catch (Throwable err) { + } + try { + H5.H5Eprint2(HDF5Constants.H5E_DEFAULT, null); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eprint: " + err); + } + } + + @Test + public void testH5Eget_current_stack() { + long num_msg = -1; + long num_msg_default = -1; + long stack_id = -1; + long stack_id_default = HDF5Constants.H5E_DEFAULT; + try { + H5.H5Fopen("test", 0, 1); + } + catch (Throwable err) { + //default stack id will be different after exception + stack_id_default = HDF5Constants.H5E_DEFAULT; + //err.printStackTrace(); //This will clear the error stack + } + // Verify we have the correct number of messages + try { + num_msg_default = H5.H5Eget_num(stack_id_default); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default, + num_msg_default == 3); + + //Save a copy of the current stack and clears the current stack + try { + stack_id = H5.H5Eget_current_stack(); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertFalse("H5.H5Eget_current_stack: get_current_stack - " + + stack_id, stack_id < 0); + assertFalse("H5.H5Eget_current_stack: get_current_stack - " + + stack_id, stack_id == stack_id_default); + + // Verify we have the correct number of messages + try { + num_msg_default = H5.H5Eget_num(stack_id_default); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default, + num_msg_default == 0); + + //Verify the copy has the correct number of messages + try { + num_msg = H5.H5Eget_num(stack_id); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg, + num_msg == 3); + + try { + H5.H5Eclose_stack(stack_id); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + } + + @Test + public void testH5Eget_current_stack_pop() { + long num_msg = -1; + long num_msg_default = -1; + long stack_id = -1; + try { + H5.H5Fopen("test", 0, 1); + } + catch (Throwable err) { + //err.printStackTrace(); //This will clear the error stack + } + + // Verify we have the correct number of messages + try { + num_msg_default = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default, + num_msg_default == 3); + + //Save a copy of the current stack and clears the current stack + try { + stack_id = H5.H5Eget_current_stack(); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertFalse("H5.H5Eget_current_stack: get_current_stack - " + + stack_id, stack_id < 0); + assertFalse("H5.H5Eget_current_stack: get_current_stack - " + + stack_id, stack_id == HDF5Constants.H5E_DEFAULT); + + // Verify we have the correct number of messages + try { + num_msg_default = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default, + num_msg_default == 0); + + //Verify the copy has the correct number of messages + try { + num_msg = H5.H5Eget_num(stack_id); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg, + num_msg == 3); + + //Generate errors on default stack + try { + H5.H5Fopen("test", 0, 1); + } + catch (Throwable err) { + //err.printStackTrace(); //This will clear the error stack + } + + // Verify we have the correct number of messages + try { + num_msg_default = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default, + num_msg_default == 3); + + //Remove one message from the current stack + try { + H5.H5Epop(HDF5Constants.H5E_DEFAULT, 1); + num_msg_default = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertTrue("H5.H5Eget_current_stack: pop #:" + num_msg_default, + num_msg_default == 2); + + //Verify the copy still has the correct number of messages + try { + num_msg = H5.H5Eget_num(stack_id); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg, + num_msg == 3); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Eclose_stack_invalid_stackid() throws Throwable { + H5.H5Eclose_stack(-1); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Eget_class_name_invalid_classid() throws Throwable { + H5.H5Eget_class_name(-1); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Eget_class_name_invalid_classname() throws Throwable { + H5.H5Eget_class_name(HDF5Constants.H5E_DEFAULT); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Eclose_msg_invalid_errid() throws Throwable { + H5.H5Eclose_msg(-1); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Ecreate_msg_invalid_errid() throws Throwable { + H5.H5Ecreate_msg(-1, HDF5Constants.H5E_MAJOR, "null"); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Eget_msg_invalid_msgid() throws Throwable { + H5.H5Eget_msg(-1, null); + } + + @Test + public void testH5Ecreate_stack() { + try { + long stack_id = H5.H5Ecreate_stack(); + assertTrue("H5.H5Ecreate_stack", stack_id > 0); + H5.H5Eclose_stack(stack_id); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Ecreate_stack: " + err); + } + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Eset_current_stack_invalid_stkid() throws Throwable { + H5.H5Eset_current_stack(-1); + } + + @Test + public void testH5Eset_current_stack() { + long num_msg = -1; + long stack_id = -1; + try { + H5.H5Fopen("test", 0, 1); + } + catch (Throwable err) { + //err.printStackTrace(); //This will clear the error stack + } + + // Verify we have the correct number of messages + try { + num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eset_current_stack: " + err); + } + assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg, + num_msg == 3); + + //Save a copy of the current stack + try { + stack_id = H5.H5Eget_current_stack(); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eset_current_stack: " + err); + } + assertFalse("H5.H5Eset_current_stack: get_current_stack - " + + stack_id, stack_id < 0); + assertFalse("H5.H5Eset_current_stack: get_current_stack - " + + stack_id, stack_id == HDF5Constants.H5E_DEFAULT); + + //Verify the copy has the correct number of messages + try { + num_msg = H5.H5Eget_num(stack_id); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eset_current_stack: " + err); + } + assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg, + num_msg == 3); + + //Generate errors on default stack + try { + H5.H5Fopen("test", 0, 1); + } + catch (Throwable err) { + //err.printStackTrace(); //This will clear the error stack + } + + // Verify we have the correct number of messages + try { + num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_current_stack: " + err); + } + assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg, + num_msg == 3); + + //Remove one message from the current stack + try { + H5.H5Epop(HDF5Constants.H5E_DEFAULT, 1); + num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eset_current_stack: " + err); + } + assertTrue("H5.H5Eset_current_stack: pop #:" + num_msg, + num_msg == 2); + + //Verify the copy still has the correct number of messages + try { + num_msg = H5.H5Eget_num(stack_id); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eset_current_stack: " + err); + } + assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg, + num_msg == 3); + + try { + H5.H5Eset_current_stack(stack_id); + num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eset_current_stack: " + err); + } + assertTrue("H5.H5Eset_current_stack: get_num - " + num_msg, + num_msg == 3); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Epop_invalid_stkid() throws Throwable { + H5.H5Epop(-1, 0); + } + + @Test + public void testH5Epop() throws Throwable { + long num_msg = -1; + try { + H5.H5Fopen("test", 0, 1); + } + catch (Throwable err) { + } + try { + num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Epop: " + err); + } + assertTrue("H5.H5Epop before #:" + num_msg, num_msg == 3); + try { + H5.H5Epop(HDF5Constants.H5E_DEFAULT, 1); + num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Epop: " + err); + } + assertTrue("H5.H5Epop after #:" + num_msg, num_msg == 2); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Epush_invalid_stkid() throws Throwable { + H5.H5Epush(-1, "Invalid", "Invalid", 0, -1, -1, -1, "Invalid message"); + } + + @Test(expected = NullPointerException.class) + public void testH5Epush_null_name() throws Throwable { + H5.H5Epush(HDF5Constants.H5E_DEFAULT, null, "Invalid", 0, HDF5Constants.H5E_DEFAULT, HDF5Constants.H5E_DEFAULT, HDF5Constants.H5E_DEFAULT, "Invalid message"); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5EprintInt_invalid_classid() throws Throwable { + H5.H5Eprint2(-1, null); + } + + @Test + public void testH5EprintInt() { + try { + H5.H5Fopen("test", 0, 1); + } + catch (Throwable err) { + } + try { + H5.H5Eprint2(HDF5Constants.H5E_DEFAULT, null); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5EprintInt: " + err); + } + } + + @Test + public void testH5EclearInt() { + try { + H5.H5Eclear(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5EclearInt: " + err); + } + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Eclear2_invalid_stkid() throws Throwable { + H5.H5Eclear2(-1); + } + + @Test + public void testH5Eclear() { + try { + H5.H5Eclear2(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eclear2: " + err); + } + } + + @Test + public void testH5Eclear2_with_msg() { + long num_msg = -1; + try { + H5.H5Fopen("test", 0, 1); + } + catch (Throwable err) { + } + try { + num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eclear2_with_msg: " + err); + } + assertTrue("H5.H5Eclear2_with_msg before #:" + num_msg, + num_msg == 3); + try { + H5.H5Eclear2(HDF5Constants.H5E_DEFAULT); + num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eclear2_with_msg: " + err); + } + assertTrue("H5.H5Eclear2_with_msg after #:" + num_msg, num_msg == 0); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Eauto_is_v2_invalid_stkid() throws Throwable { + H5.H5Eauto_is_v2(-1); + } + + @Test + public void testH5Eauto_is_v2() { + boolean is_v2 = false; + try { + is_v2 = H5.H5Eauto_is_v2(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eauto_is_v2: " + err); + } + assertTrue("H5.H5Eauto_is_v2: ", is_v2); + } + + @Test(expected = IllegalArgumentException.class) + public void testH5Eget_num_invalid_stkid() throws Throwable { + H5.H5Eget_num(-1); + } + + @Test + public void testH5Eget_num() { + long num_msg = -1; + try { + num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_num: " + err); + } + assertTrue("H5.H5Eget_num #:" + num_msg, num_msg == 0); + } + + @Test + public void testH5Eget_num_with_msg() { + long num_msg = -1; + try { + H5.H5Fopen("test", 0, 1); + } + catch (Throwable err) { + } + try { + num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT); + } + catch (Throwable err) { + err.printStackTrace(); + fail("H5.H5Eget_num_with_msg: " + err); + } + assertTrue("H5.H5Eget_num_with_msg #:" + num_msg, num_msg > 0); + } + +} |