Index: trunk/psLib/test/fileUtils/tst_psFits.c
===================================================================
--- trunk/psLib/test/fileUtils/tst_psFits.c	(revision 3474)
+++ trunk/psLib/test/fileUtils/tst_psFits.c	(revision 3475)
@@ -6,6 +6,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-03-22 19:29:48 $
+*  @version $Revision: 1.22 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-03-22 21:52:40 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -48,4 +48,5 @@
 static psS32 tst_psFitsReadTable( void );
 static psS32 tst_psFitsReadTableColumnNum(void);
+static psS32 tst_psFitsReadTableColumn(void);
 
 testDescription tests[] = {
@@ -60,5 +61,5 @@
                               {tst_psFitsReadTable,809, "psFitsReadTable", 0, false},
                               {tst_psFitsReadTableColumnNum,836, "psFitsReadTableColumnNum", 0, false},
-                              {tst_psFitsReadTableColumn,837, "psFitsReadTableColumn", 0, false},
+                              {tst_psFitsReadTableColumn,839, "psFitsReadTableColumn", 0, false},
                               {testImageRead,567, "psFitsReadImage", 0, false},
                               {testImageWrite,569, "psFitsWriteImage", 0, false},
@@ -913,4 +914,5 @@
     psElemType type[4] = {PS_TYPE_S32, PS_TYPE_F32, PS_TYPE_F32, PS_TYPE_BOOL};
     psElemType altType[4] = {PS_TYPE_S64, PS_TYPE_F64, PS_TYPE_F64, PS_TYPE_BOOL};
+    char* colname[4] = {"MYINT","MYFLT","MYDBL","MYBOOL"};
     psF64 expectedValues[4][10] = {
                                       {0,1,2,3,4,5,6,7,8,9},
@@ -921,5 +923,5 @@
 
     for (int col = 0; col < 4; col++) {
-        colData = psFitsReadTableColumnNum(fits,col);
+        colData = psFitsReadTableColumnNum(fits,colname[col]);
         if (colData == NULL) {
             psError(PS_ERR_UNKNOWN, false,
@@ -957,7 +959,7 @@
     }
 
-    psWarning(__func__,"Following should be an error.");
+    psWarning("Following should be an error.");
     psErrorClear();
-    psVector* data = psFitsReadTableColumnNum(NULL,0);
+    psVector* data = psFitsReadTableColumnNum(NULL,colname[0]);
     psErr* err = psErrorLast();
     if (data != NULL) {
@@ -973,33 +975,17 @@
     psFree(err);
 
-    psWarning(__func__,"Following should be an error.");
+    psWarning("Following should be an error.");
     psErrorClear();
-    data = psFitsReadTableColumnNum(fits,-1);
+    data = psFitsReadTableColumnNum(fits,"BOGUS");
     err = psErrorLast();
     if (data != NULL) {
         psError(PS_ERR_UNKNOWN, false,
-                "psFitsReadTableColumnNum did not return NULL with col=-1");
+                "psFitsReadTableColumnNum did not return NULL with bogus column name.");
         return 8;
     }
     if (err->code != PS_ERR_IO) {
         psError(PS_ERR_UNKNOWN, false,
-                "psFitsReadTableColumnNum did not error with col=-1");
+                "psFitsReadTableColumnNum did not error with bogus column name.");
         return 9;
-    }
-    psFree(err);
-
-    psWarning(__func__,"Following should be an error.");
-    psErrorClear();
-    data = psFitsReadTableColumnNum(fits,10);
-    err = psErrorLast();
-    if (data != NULL) {
-        psError(PS_ERR_UNKNOWN, false,
-                "psFitsReadTableColumnNum did not return NULL with col=10");
-        return 10;
-    }
-    if (err->code != PS_ERR_IO) {
-        psError(PS_ERR_UNKNOWN, false,
-                "psFitsReadTableColumnNum did not error with col=10");
-        return 11;
     }
     psFree(err);
@@ -1027,7 +1013,6 @@
 
     // read the column data via number
-    psVector* colData;
-    psElemType type[4] = {PS_TYPE_S32, PS_TYPE_F32, PS_TYPE_F32, PS_TYPE_BOOL};
-    psElemType altType[4] = {PS_TYPE_S64, PS_TYPE_F64, PS_TYPE_F64, PS_TYPE_BOOL};
+    psArray* colData;
+    char* colname[4] = {"MYINT","MYFLT","MYDBL","MYBOOL"};
     psF64 expectedValues[4][10] = {
                                       {0,1,2,3,4,5,6,7,8,9},
@@ -1038,85 +1023,59 @@
 
     for (int col = 0; col < 4; col++) {
-        colData = psFitsReadTableColumnNum(fits,col);
+        colData = psFitsReadTableColumn(fits,colname[col]);
         if (colData == NULL) {
             psError(PS_ERR_UNKNOWN, false,
-                    "psFitsReadTableColumnNum returned NULL for col=%d",
+                    "psFitsReadTableColumn returned NULL for col=%d",
                     col);
             return 2;
         }
-        if (colData->type.type != type[col] &&
-                colData->type.type != altType[col]) {
-            char* typeRead;
-            char* typeExpected;
-            PS_TYPE_NAME(typeRead, colData->type.type);
-            PS_TYPE_NAME(typeExpected, type[col]);
-
-            psError(PS_ERR_UNKNOWN, false,
-                    "psFitsReadTableColumnNum returned different type, %s vs %s, for col=%d",
-                    typeRead, typeExpected, col);
-            return 3;
-        }
         if (colData->n != tableNumRows) {
             psError(PS_ERR_UNKNOWN, false,
-                    "psFitsReadTableColumnNum returned different number of rows, %d vs %d, for col=%d",
+                    "psFitsReadTableColumn returned different number of rows, %d vs %d, for col=%d",
                     colData->n, tableNumRows, col);
             return 4;
         }
-        for (int row = 0; row < tableNumRows; row++) {
-            if (abs(p_psVectorGetElementF64(colData,row) - expectedValues[col][row]) > FLT_EPSILON) {
-                psError(PS_ERR_UNKNOWN, false,
-                        "psFitsReadTableColumnNum returned unexpected values (%g vs %g) for col=%d",
-                        p_psVectorGetElementF64(colData,row), expectedValues[col][row], col);
-                return 5;
+        if (col < 3) {
+            for (int row = 0; row < tableNumRows; row++) {
+                if (abs(atof((char*)colData->data[row]) - expectedValues[col][row]) > 0.0001) {
+                    psError(PS_ERR_UNKNOWN, false,
+                            "psFitsReadTableColumn returned unexpected values (%g vs %g) for col=%d",
+                            atof((char*)colData->data[row]), expectedValues[col][row], col);
+                    return 5;
+                }
             }
         }
         psFree(colData);
     }
+
+    psWarning("Following should be an error.");
+    psErrorClear();
+    psArray* data = psFitsReadTableColumn(NULL,"MYINT");
+    psErr* err = psErrorLast();
+    if (data != NULL) {
+        psError(PS_ERR_UNKNOWN, false,
+                "psFitsReadTableColumn did not return NULL with NULL psFits");
+        return 6;
+    }
+    if (err->code != PS_ERR_BAD_PARAMETER_NULL) {
+        psError(PS_ERR_UNKNOWN, false,
+                "psFitsReadTableColumn did not error with NULL psFits");
+        return 7;
+    }
+    psFree(err);
 
     psWarning(__func__,"Following should be an error.");
     psErrorClear();
-    psVector* data = psFitsReadTableColumnNum(NULL,0);
-    psErr* err = psErrorLast();
-    if (data != NULL) {
-        psError(PS_ERR_UNKNOWN, false,
-                "psFitsReadTableColumnNum did not return NULL with NULL psFits");
-        return 6;
-    }
-    if (err->code != PS_ERR_BAD_PARAMETER_NULL) {
-        psError(PS_ERR_UNKNOWN, false,
-                "psFitsReadTableColumnNum did not error with NULL psFits");
-        return 7;
-    }
-    psFree(err);
-
-    psWarning(__func__,"Following should be an error.");
-    psErrorClear();
-    data = psFitsReadTableColumnNum(fits,-1);
+    data = psFitsReadTableColumn(fits,"BOGUS");
     err = psErrorLast();
     if (data != NULL) {
         psError(PS_ERR_UNKNOWN, false,
-                "psFitsReadTableColumnNum did not return NULL with col=-1");
+                "psFitsReadTableColumn did not return NULL with col=\"BOGUS\"");
         return 8;
     }
     if (err->code != PS_ERR_IO) {
         psError(PS_ERR_UNKNOWN, false,
-                "psFitsReadTableColumnNum did not error with col=-1");
+                "psFitsReadTableColumn did not error with col=\"BOGUS\"");
         return 9;
-    }
-    psFree(err);
-
-    psWarning(__func__,"Following should be an error.");
-    psErrorClear();
-    data = psFitsReadTableColumnNum(fits,10);
-    err = psErrorLast();
-    if (data != NULL) {
-        psError(PS_ERR_UNKNOWN, false,
-                "psFitsReadTableColumnNum did not return NULL with col=10");
-        return 10;
-    }
-    if (err->code != PS_ERR_IO) {
-        psError(PS_ERR_UNKNOWN, false,
-                "psFitsReadTableColumnNum did not error with col=10");
-        return 11;
     }
     psFree(err);
