Index: /trunk/psLib/test/fits/tst_psFits.c
===================================================================
--- /trunk/psLib/test/fits/tst_psFits.c	(revision 5145)
+++ /trunk/psLib/test/fits/tst_psFits.c	(revision 5146)
@@ -6,6 +6,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-09-27 02:27:32 $
+*  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-09-27 19:20:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -888,4 +888,5 @@
         psF64 dblItem = psMetadataLookupF64(NULL, rowData, "MYDBL");
         psBool boolItem = psMetadataLookupBool(NULL, rowData, "MYBOOL");
+        psString strItem = psMetadataLookupStr(NULL, rowData, "MYSTR");
 
         if (intItem != row) {
@@ -915,4 +916,13 @@
                     row, boolItem, ((row&0x01) == 0));
             return 23;
+        }
+
+        char strValue[16];
+        snprintf(strValue,16,"row=%d",row+1);
+        if ( strncmp(strItem,strValue,strlen(strValue)) != 0) {
+            psError(PS_ERR_UNKNOWN, true,
+                    "Failed to retrieve psString metadata item from file (row=%d). Got '%s' vs '%s'",
+                    row, strItem, strValue);
+            return 24;
         }
     }
@@ -1053,10 +1063,11 @@
     psArray* colData;
     char* colname[4] = {"MYINT","MYFLT","MYDBL","MYBOOL"};
-    psF64 expectedValues[4][10] = {
+    psF64 expectedValues[3][10] = {
                                       {0,1,2,3,4,5,6,7,8,9},
                                       {1.0,1.0/2.0,1.0/3.0,1.0/4.0,1.0/5.0,1.0/6.0,1.0/7.0,1.0/8.0,1.0/9.0},
-                                      {1.0,1.0/2.0,1.0/3.0,1.0/4.0,1.0/5.0,1.0/6.0,1.0/7.0,1.0/8.0,1.0/9.0},
-                                      {1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0}
+                                      {1.0,1.0/2.0,1.0/3.0,1.0/4.0,1.0/5.0,1.0/6.0,1.0/7.0,1.0/8.0,1.0/9.0}
                                   };
+    char* expectedBoolValues[10] = {"T","F","T","F","T","F","T","F","T","F"};
+    char* expectedStrValues[10] = {"row=1","row=2","row=3","row=4","row=5","row=6","row=7","row=8","row=9","row=10"};
 
     for (int col = 0; col < 4; col++) {
@@ -1083,5 +1094,26 @@
                 }
             }
-        }
+        } else if (col == 3) {
+            for (int row = 0; row < tableNumRows; row++) {
+                if (strncmp(colData->data[row],expectedBoolValues[row],
+                            strlen(expectedBoolValues[row])) != 0) {
+                    psError(PS_ERR_UNKNOWN, false,
+                            "psFitsReadTableColumn returned unexpected values ('%s' vs '%s') for col=%d",
+                            (char*)colData->data[row], expectedBoolValues[row], col);
+                    return 5;
+                }
+            }
+        } else if (col == 4) {
+            for (int row = 0; row < tableNumRows; row++) {
+                if (strncmp(colData->data[row],expectedStrValues[row],
+                            strlen(expectedStrValues[row])) != 0) {
+                    psError(PS_ERR_UNKNOWN, false,
+                            "psFitsReadTableColumn returned unexpected values ('%s' vs '%s') for col=%d",
+                            (char*)colData->data[row], expectedStrValues[row], col);
+                    return 5;
+                }
+            }
+        }
+
         psFree(colData);
     }
