Index: trunk/psLib/test/types/tst_psMetadata_01.c
===================================================================
--- trunk/psLib/test/types/tst_psMetadata_01.c	(revision 7918)
+++ trunk/psLib/test/types/tst_psMetadata_01.c	(revision 7933)
@@ -5,6 +5,6 @@
 *  @author  dRob, MHPCC
 *
-*  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2006-06-10 02:28:17 $
+*  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2006-07-18 21:53:25 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -17,8 +17,10 @@
 
 static psS32 testMetadataItemCopy(void);
+static psS32 testMetadataItemTransfer(void);
 static psS32 testMetadataPrint(void);
 
 testDescription tests[] = {
                               {testMetadataItemCopy, 666, "psMetadataItemCopy()", 0, false},
+                              {testMetadataItemTransfer, 1, "psMetadataItemTransfer()", 0, false},
                               {testMetadataPrint,667,"psMetadataPrint",0,false},
                               {NULL}
@@ -93,4 +95,56 @@
     psFree(metadata);
     psFree(item);
+    return 0;
+}
+
+psS32 testMetadataItemTransfer(void)
+{
+    //    psMetadataItem *item = psMetadataItemAlloc("metaITEM", PS_DATA_S32, "no Comment");
+    //    item->data.S32 = 666;
+    //    psMetadataItem *item2 = NULL;
+    psMetadata *md = psMetadataAlloc();
+    //    psMetadata *md2 = psMetadataAlloc();
+    psMetadata *out = NULL;
+    //    out = psMetadataAlloc();
+    //  psMetadataAddItem(md, item, PS_LIST_HEAD, PS_META_DEFAULT);
+    psMetadataAddS32(md, PS_LIST_HEAD, "metaITEM", 0, "no Comment", 666);
+
+    //attempt transfer to NULL metadata.
+    out = psMetadataItemTransfer(out, md, "metaITEM");
+    if ( out == NULL) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                "psMetadataItemTransfer failed to correctly allocate metadata and transfer item.\n");
+        return 1;
+    }
+    psFree(out);
+    /*    //attempt to transfer using a NULL key.
+        psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message");
+        if (psMetadataItemTransfer(mdNULL, md, NULL)) {
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    "psMetadataItemTransfer failed to return false for NULL key input.\n");
+            return 2;
+        }
+        if (mdNULL != NULL) printf("\nERROR HERE\n");
+        //attempt to transfer using an allocated metadata and valid key
+        if (!psMetadataItemTransfer(md2, md, "metaITEM") ){
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    "psMetadataItemTransfer failed to correctly transfer item.\n");
+            return 3;
+        }
+    */
+    //    item2 = psMetadataGet(md2, PS_LIST_HEAD);
+    /*    item2 = psMetadataLookup(md2, "metaITEM");
+        if (item2->data.S32 != 666 || strncmp(item2->comment, "no Comment", 20)) {
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    "psMetadataItemTransfer failed to correctly transfer item data.\n");
+            return 4;
+        }
+      */
+    psFree(md);
+    //    psFree(md2);
+    //    psFree(item);
+    //    psFree(item2);
+    //    psFree(mdNULL);
+
     return 0;
 }
