summaryrefslogtreecommitdiffstats
path: root/test/tgenprop.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/tgenprop.c')
-rw-r--r--test/tgenprop.c68
1 files changed, 67 insertions, 1 deletions
diff --git a/test/tgenprop.c b/test/tgenprop.c
index e5e6663..c89cf91 100644
--- a/test/tgenprop.c
+++ b/test/tgenprop.c
@@ -74,7 +74,7 @@ test_genprop_basic_class(void)
herr_t ret; /* Generic return value */
/* Output message about test being performed */
- MESSAGE(5, ("Testing Basic Generic Property List Creation Functionality\n"));
+ MESSAGE(5, ("Testing Basic Generic Property List Class Creation Functionality\n"));
/* Create a new generic class, derived from the root of the class hierarchy */
cid1 = H5Pcreate_class(H5P_NO_CLASS_NEW,CLASS1_NAME,CLASS1_HASHSIZE,NULL,NULL,NULL,NULL);
@@ -368,6 +368,71 @@ test_genprop_class_iter(void)
/****************************************************************
**
+** test_genprop_basic_list(): Test basic generic property list code.
+** Tests creating new generic property lists.
+**
+****************************************************************/
+static void
+test_genprop_basic_list(void)
+{
+ hid_t cid1; /* Generic Property class ID */
+ hid_t cid2; /* Generic Property class ID */
+ hid_t lid1; /* Generic Property list ID */
+ herr_t ret; /* Generic return value */
+
+ /* Output message about test being performed */
+ MESSAGE(5, ("Testing Basic Generic Property List Creation Functionality\n"));
+
+ /* Create a new generic class, derived from the root of the class hierarchy */
+ cid1 = H5Pcreate_class(H5P_NO_CLASS_NEW,CLASS1_NAME,CLASS1_HASHSIZE,NULL,NULL,NULL,NULL);
+ CHECK_I(cid1, "H5Pcreate_class");
+
+ /* Add several properties (several w/default values) */
+
+ /* Insert first property into class (with no callbacks) */
+ ret = H5Pregister(cid1,PROP1_NAME,PROP1_SIZE,PROP1_DEF_VALUE,NULL,NULL,NULL,NULL);
+ CHECK_I(ret, "H5Pregister");
+
+ /* Insert second property into class (with no callbacks) */
+ ret = H5Pregister(cid1,PROP2_NAME,PROP2_SIZE,PROP2_DEF_VALUE,NULL,NULL,NULL,NULL);
+ CHECK_I(ret, "H5Pregister");
+
+ /* Create a property list from the class */
+ lid1 = H5Pcreate_list(cid1);
+ CHECK_I(lid1, "H5Pcreate_list");
+
+ /* Get the list's class */
+ cid2 = H5Pget_class_new(lid1);
+ CHECK_I(cid2, "H5Pget_class_new");
+
+ /* Check that the list's class is correct */
+ ret = H5Pequal(cid1,cid2);
+ VERIFY(ret, 1, "H5Pequal");
+
+ /* Check "is a" class/list relationship */
+
+ /* Close class */
+ ret = H5Pclose_class(cid2);
+ CHECK_I(ret, "H5Pclose_class");
+
+ /* Check number of properties */
+ /* Check existence of properties */
+ /* Add temporary properties */
+ /* Check number of properties */
+ /* Check existence of new properties */
+
+ /* Close list */
+ ret = H5Pclose_list(lid1);
+ CHECK_I(ret, "H5Pclose_list");
+
+ /* Close class */
+ ret = H5Pclose_class(cid1);
+ CHECK_I(ret, "H5Pclose_class");
+
+} /* end test_genprop_basic_list() */
+
+/****************************************************************
+**
** test_genprop(): Main generic property testing routine.
**
****************************************************************/
@@ -381,6 +446,7 @@ test_genprop(void)
test_genprop_basic_class(); /* Test basic code for creating a generic class */
test_genprop_basic_class_prop(); /* Test basic code for adding properties to a generic class */
test_genprop_class_iter(); /* Test basic code for iterating over properties in a generic class */
+ test_genprop_basic_list(); /* Test basic code for creating a generic property list */
} /* test_genprop() */