IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 3475


Ignore:
Timestamp:
Mar 22, 2005, 11:52:40 AM (21 years ago)
Author:
desonia
Message:

added tests for psFitsReadTableColumn.

Location:
trunk/psLib/test
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/test/dataIO/tst_psFits.c

    r3474 r3475  
    66*  @author Robert DeSonia, MHPCC
    77*
    8 *  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
    9 *  @date $Date: 2005-03-22 19:29:48 $
     8*  @version $Revision: 1.22 $ $Name: not supported by cvs2svn $
     9*  @date $Date: 2005-03-22 21:52:40 $
    1010*
    1111*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    4848static psS32 tst_psFitsReadTable( void );
    4949static psS32 tst_psFitsReadTableColumnNum(void);
     50static psS32 tst_psFitsReadTableColumn(void);
    5051
    5152testDescription tests[] = {
     
    6061                              {tst_psFitsReadTable,809, "psFitsReadTable", 0, false},
    6162                              {tst_psFitsReadTableColumnNum,836, "psFitsReadTableColumnNum", 0, false},
    62                               {tst_psFitsReadTableColumn,837, "psFitsReadTableColumn", 0, false},
     63                              {tst_psFitsReadTableColumn,839, "psFitsReadTableColumn", 0, false},
    6364                              {testImageRead,567, "psFitsReadImage", 0, false},
    6465                              {testImageWrite,569, "psFitsWriteImage", 0, false},
     
    913914    psElemType type[4] = {PS_TYPE_S32, PS_TYPE_F32, PS_TYPE_F32, PS_TYPE_BOOL};
    914915    psElemType altType[4] = {PS_TYPE_S64, PS_TYPE_F64, PS_TYPE_F64, PS_TYPE_BOOL};
     916    char* colname[4] = {"MYINT","MYFLT","MYDBL","MYBOOL"};
    915917    psF64 expectedValues[4][10] = {
    916918                                      {0,1,2,3,4,5,6,7,8,9},
     
    921923
    922924    for (int col = 0; col < 4; col++) {
    923         colData = psFitsReadTableColumnNum(fits,col);
     925        colData = psFitsReadTableColumnNum(fits,colname[col]);
    924926        if (colData == NULL) {
    925927            psError(PS_ERR_UNKNOWN, false,
     
    957959    }
    958960
    959     psWarning(__func__,"Following should be an error.");
     961    psWarning("Following should be an error.");
    960962    psErrorClear();
    961     psVector* data = psFitsReadTableColumnNum(NULL,0);
     963    psVector* data = psFitsReadTableColumnNum(NULL,colname[0]);
    962964    psErr* err = psErrorLast();
    963965    if (data != NULL) {
     
    973975    psFree(err);
    974976
    975     psWarning(__func__,"Following should be an error.");
     977    psWarning("Following should be an error.");
    976978    psErrorClear();
    977     data = psFitsReadTableColumnNum(fits,-1);
     979    data = psFitsReadTableColumnNum(fits,"BOGUS");
    978980    err = psErrorLast();
    979981    if (data != NULL) {
    980982        psError(PS_ERR_UNKNOWN, false,
    981                 "psFitsReadTableColumnNum did not return NULL with col=-1");
     983                "psFitsReadTableColumnNum did not return NULL with bogus column name.");
    982984        return 8;
    983985    }
    984986    if (err->code != PS_ERR_IO) {
    985987        psError(PS_ERR_UNKNOWN, false,
    986                 "psFitsReadTableColumnNum did not error with col=-1");
     988                "psFitsReadTableColumnNum did not error with bogus column name.");
    987989        return 9;
    988     }
    989     psFree(err);
    990 
    991     psWarning(__func__,"Following should be an error.");
    992     psErrorClear();
    993     data = psFitsReadTableColumnNum(fits,10);
    994     err = psErrorLast();
    995     if (data != NULL) {
    996         psError(PS_ERR_UNKNOWN, false,
    997                 "psFitsReadTableColumnNum did not return NULL with col=10");
    998         return 10;
    999     }
    1000     if (err->code != PS_ERR_IO) {
    1001         psError(PS_ERR_UNKNOWN, false,
    1002                 "psFitsReadTableColumnNum did not error with col=10");
    1003         return 11;
    1004990    }
    1005991    psFree(err);
     
    10271013
    10281014    // read the column data via number
    1029     psVector* colData;
    1030     psElemType type[4] = {PS_TYPE_S32, PS_TYPE_F32, PS_TYPE_F32, PS_TYPE_BOOL};
    1031     psElemType altType[4] = {PS_TYPE_S64, PS_TYPE_F64, PS_TYPE_F64, PS_TYPE_BOOL};
     1015    psArray* colData;
     1016    char* colname[4] = {"MYINT","MYFLT","MYDBL","MYBOOL"};
    10321017    psF64 expectedValues[4][10] = {
    10331018                                      {0,1,2,3,4,5,6,7,8,9},
     
    10381023
    10391024    for (int col = 0; col < 4; col++) {
    1040         colData = psFitsReadTableColumnNum(fits,col);
     1025        colData = psFitsReadTableColumn(fits,colname[col]);
    10411026        if (colData == NULL) {
    10421027            psError(PS_ERR_UNKNOWN, false,
    1043                     "psFitsReadTableColumnNum returned NULL for col=%d",
     1028                    "psFitsReadTableColumn returned NULL for col=%d",
    10441029                    col);
    10451030            return 2;
    10461031        }
    1047         if (colData->type.type != type[col] &&
    1048                 colData->type.type != altType[col]) {
    1049             char* typeRead;
    1050             char* typeExpected;
    1051             PS_TYPE_NAME(typeRead, colData->type.type);
    1052             PS_TYPE_NAME(typeExpected, type[col]);
    1053 
    1054             psError(PS_ERR_UNKNOWN, false,
    1055                     "psFitsReadTableColumnNum returned different type, %s vs %s, for col=%d",
    1056                     typeRead, typeExpected, col);
    1057             return 3;
    1058         }
    10591032        if (colData->n != tableNumRows) {
    10601033            psError(PS_ERR_UNKNOWN, false,
    1061                     "psFitsReadTableColumnNum returned different number of rows, %d vs %d, for col=%d",
     1034                    "psFitsReadTableColumn returned different number of rows, %d vs %d, for col=%d",
    10621035                    colData->n, tableNumRows, col);
    10631036            return 4;
    10641037        }
    1065         for (int row = 0; row < tableNumRows; row++) {
    1066             if (abs(p_psVectorGetElementF64(colData,row) - expectedValues[col][row]) > FLT_EPSILON) {
    1067                 psError(PS_ERR_UNKNOWN, false,
    1068                         "psFitsReadTableColumnNum returned unexpected values (%g vs %g) for col=%d",
    1069                         p_psVectorGetElementF64(colData,row), expectedValues[col][row], col);
    1070                 return 5;
     1038        if (col < 3) {
     1039            for (int row = 0; row < tableNumRows; row++) {
     1040                if (abs(atof((char*)colData->data[row]) - expectedValues[col][row]) > 0.0001) {
     1041                    psError(PS_ERR_UNKNOWN, false,
     1042                            "psFitsReadTableColumn returned unexpected values (%g vs %g) for col=%d",
     1043                            atof((char*)colData->data[row]), expectedValues[col][row], col);
     1044                    return 5;
     1045                }
    10711046            }
    10721047        }
    10731048        psFree(colData);
    10741049    }
     1050
     1051    psWarning("Following should be an error.");
     1052    psErrorClear();
     1053    psArray* data = psFitsReadTableColumn(NULL,"MYINT");
     1054    psErr* err = psErrorLast();
     1055    if (data != NULL) {
     1056        psError(PS_ERR_UNKNOWN, false,
     1057                "psFitsReadTableColumn did not return NULL with NULL psFits");
     1058        return 6;
     1059    }
     1060    if (err->code != PS_ERR_BAD_PARAMETER_NULL) {
     1061        psError(PS_ERR_UNKNOWN, false,
     1062                "psFitsReadTableColumn did not error with NULL psFits");
     1063        return 7;
     1064    }
     1065    psFree(err);
    10751066
    10761067    psWarning(__func__,"Following should be an error.");
    10771068    psErrorClear();
    1078     psVector* data = psFitsReadTableColumnNum(NULL,0);
    1079     psErr* err = psErrorLast();
    1080     if (data != NULL) {
    1081         psError(PS_ERR_UNKNOWN, false,
    1082                 "psFitsReadTableColumnNum did not return NULL with NULL psFits");
    1083         return 6;
    1084     }
    1085     if (err->code != PS_ERR_BAD_PARAMETER_NULL) {
    1086         psError(PS_ERR_UNKNOWN, false,
    1087                 "psFitsReadTableColumnNum did not error with NULL psFits");
    1088         return 7;
    1089     }
    1090     psFree(err);
    1091 
    1092     psWarning(__func__,"Following should be an error.");
    1093     psErrorClear();
    1094     data = psFitsReadTableColumnNum(fits,-1);
     1069    data = psFitsReadTableColumn(fits,"BOGUS");
    10951070    err = psErrorLast();
    10961071    if (data != NULL) {
    10971072        psError(PS_ERR_UNKNOWN, false,
    1098                 "psFitsReadTableColumnNum did not return NULL with col=-1");
     1073                "psFitsReadTableColumn did not return NULL with col=\"BOGUS\"");
    10991074        return 8;
    11001075    }
    11011076    if (err->code != PS_ERR_IO) {
    11021077        psError(PS_ERR_UNKNOWN, false,
    1103                 "psFitsReadTableColumnNum did not error with col=-1");
     1078                "psFitsReadTableColumn did not error with col=\"BOGUS\"");
    11041079        return 9;
    1105     }
    1106     psFree(err);
    1107 
    1108     psWarning(__func__,"Following should be an error.");
    1109     psErrorClear();
    1110     data = psFitsReadTableColumnNum(fits,10);
    1111     err = psErrorLast();
    1112     if (data != NULL) {
    1113         psError(PS_ERR_UNKNOWN, false,
    1114                 "psFitsReadTableColumnNum did not return NULL with col=10");
    1115         return 10;
    1116     }
    1117     if (err->code != PS_ERR_IO) {
    1118         psError(PS_ERR_UNKNOWN, false,
    1119                 "psFitsReadTableColumnNum did not error with col=10");
    1120         return 11;
    11211080    }
    11221081    psFree(err);
  • trunk/psLib/test/fileUtils/tst_psFits.c

    r3474 r3475  
    66*  @author Robert DeSonia, MHPCC
    77*
    8 *  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
    9 *  @date $Date: 2005-03-22 19:29:48 $
     8*  @version $Revision: 1.22 $ $Name: not supported by cvs2svn $
     9*  @date $Date: 2005-03-22 21:52:40 $
    1010*
    1111*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    4848static psS32 tst_psFitsReadTable( void );
    4949static psS32 tst_psFitsReadTableColumnNum(void);
     50static psS32 tst_psFitsReadTableColumn(void);
    5051
    5152testDescription tests[] = {
     
    6061                              {tst_psFitsReadTable,809, "psFitsReadTable", 0, false},
    6162                              {tst_psFitsReadTableColumnNum,836, "psFitsReadTableColumnNum", 0, false},
    62                               {tst_psFitsReadTableColumn,837, "psFitsReadTableColumn", 0, false},
     63                              {tst_psFitsReadTableColumn,839, "psFitsReadTableColumn", 0, false},
    6364                              {testImageRead,567, "psFitsReadImage", 0, false},
    6465                              {testImageWrite,569, "psFitsWriteImage", 0, false},
     
    913914    psElemType type[4] = {PS_TYPE_S32, PS_TYPE_F32, PS_TYPE_F32, PS_TYPE_BOOL};
    914915    psElemType altType[4] = {PS_TYPE_S64, PS_TYPE_F64, PS_TYPE_F64, PS_TYPE_BOOL};
     916    char* colname[4] = {"MYINT","MYFLT","MYDBL","MYBOOL"};
    915917    psF64 expectedValues[4][10] = {
    916918                                      {0,1,2,3,4,5,6,7,8,9},
     
    921923
    922924    for (int col = 0; col < 4; col++) {
    923         colData = psFitsReadTableColumnNum(fits,col);
     925        colData = psFitsReadTableColumnNum(fits,colname[col]);
    924926        if (colData == NULL) {
    925927            psError(PS_ERR_UNKNOWN, false,
     
    957959    }
    958960
    959     psWarning(__func__,"Following should be an error.");
     961    psWarning("Following should be an error.");
    960962    psErrorClear();
    961     psVector* data = psFitsReadTableColumnNum(NULL,0);
     963    psVector* data = psFitsReadTableColumnNum(NULL,colname[0]);
    962964    psErr* err = psErrorLast();
    963965    if (data != NULL) {
     
    973975    psFree(err);
    974976
    975     psWarning(__func__,"Following should be an error.");
     977    psWarning("Following should be an error.");
    976978    psErrorClear();
    977     data = psFitsReadTableColumnNum(fits,-1);
     979    data = psFitsReadTableColumnNum(fits,"BOGUS");
    978980    err = psErrorLast();
    979981    if (data != NULL) {
    980982        psError(PS_ERR_UNKNOWN, false,
    981                 "psFitsReadTableColumnNum did not return NULL with col=-1");
     983                "psFitsReadTableColumnNum did not return NULL with bogus column name.");
    982984        return 8;
    983985    }
    984986    if (err->code != PS_ERR_IO) {
    985987        psError(PS_ERR_UNKNOWN, false,
    986                 "psFitsReadTableColumnNum did not error with col=-1");
     988                "psFitsReadTableColumnNum did not error with bogus column name.");
    987989        return 9;
    988     }
    989     psFree(err);
    990 
    991     psWarning(__func__,"Following should be an error.");
    992     psErrorClear();
    993     data = psFitsReadTableColumnNum(fits,10);
    994     err = psErrorLast();
    995     if (data != NULL) {
    996         psError(PS_ERR_UNKNOWN, false,
    997                 "psFitsReadTableColumnNum did not return NULL with col=10");
    998         return 10;
    999     }
    1000     if (err->code != PS_ERR_IO) {
    1001         psError(PS_ERR_UNKNOWN, false,
    1002                 "psFitsReadTableColumnNum did not error with col=10");
    1003         return 11;
    1004990    }
    1005991    psFree(err);
     
    10271013
    10281014    // read the column data via number
    1029     psVector* colData;
    1030     psElemType type[4] = {PS_TYPE_S32, PS_TYPE_F32, PS_TYPE_F32, PS_TYPE_BOOL};
    1031     psElemType altType[4] = {PS_TYPE_S64, PS_TYPE_F64, PS_TYPE_F64, PS_TYPE_BOOL};
     1015    psArray* colData;
     1016    char* colname[4] = {"MYINT","MYFLT","MYDBL","MYBOOL"};
    10321017    psF64 expectedValues[4][10] = {
    10331018                                      {0,1,2,3,4,5,6,7,8,9},
     
    10381023
    10391024    for (int col = 0; col < 4; col++) {
    1040         colData = psFitsReadTableColumnNum(fits,col);
     1025        colData = psFitsReadTableColumn(fits,colname[col]);
    10411026        if (colData == NULL) {
    10421027            psError(PS_ERR_UNKNOWN, false,
    1043                     "psFitsReadTableColumnNum returned NULL for col=%d",
     1028                    "psFitsReadTableColumn returned NULL for col=%d",
    10441029                    col);
    10451030            return 2;
    10461031        }
    1047         if (colData->type.type != type[col] &&
    1048                 colData->type.type != altType[col]) {
    1049             char* typeRead;
    1050             char* typeExpected;
    1051             PS_TYPE_NAME(typeRead, colData->type.type);
    1052             PS_TYPE_NAME(typeExpected, type[col]);
    1053 
    1054             psError(PS_ERR_UNKNOWN, false,
    1055                     "psFitsReadTableColumnNum returned different type, %s vs %s, for col=%d",
    1056                     typeRead, typeExpected, col);
    1057             return 3;
    1058         }
    10591032        if (colData->n != tableNumRows) {
    10601033            psError(PS_ERR_UNKNOWN, false,
    1061                     "psFitsReadTableColumnNum returned different number of rows, %d vs %d, for col=%d",
     1034                    "psFitsReadTableColumn returned different number of rows, %d vs %d, for col=%d",
    10621035                    colData->n, tableNumRows, col);
    10631036            return 4;
    10641037        }
    1065         for (int row = 0; row < tableNumRows; row++) {
    1066             if (abs(p_psVectorGetElementF64(colData,row) - expectedValues[col][row]) > FLT_EPSILON) {
    1067                 psError(PS_ERR_UNKNOWN, false,
    1068                         "psFitsReadTableColumnNum returned unexpected values (%g vs %g) for col=%d",
    1069                         p_psVectorGetElementF64(colData,row), expectedValues[col][row], col);
    1070                 return 5;
     1038        if (col < 3) {
     1039            for (int row = 0; row < tableNumRows; row++) {
     1040                if (abs(atof((char*)colData->data[row]) - expectedValues[col][row]) > 0.0001) {
     1041                    psError(PS_ERR_UNKNOWN, false,
     1042                            "psFitsReadTableColumn returned unexpected values (%g vs %g) for col=%d",
     1043                            atof((char*)colData->data[row]), expectedValues[col][row], col);
     1044                    return 5;
     1045                }
    10711046            }
    10721047        }
    10731048        psFree(colData);
    10741049    }
     1050
     1051    psWarning("Following should be an error.");
     1052    psErrorClear();
     1053    psArray* data = psFitsReadTableColumn(NULL,"MYINT");
     1054    psErr* err = psErrorLast();
     1055    if (data != NULL) {
     1056        psError(PS_ERR_UNKNOWN, false,
     1057                "psFitsReadTableColumn did not return NULL with NULL psFits");
     1058        return 6;
     1059    }
     1060    if (err->code != PS_ERR_BAD_PARAMETER_NULL) {
     1061        psError(PS_ERR_UNKNOWN, false,
     1062                "psFitsReadTableColumn did not error with NULL psFits");
     1063        return 7;
     1064    }
     1065    psFree(err);
    10751066
    10761067    psWarning(__func__,"Following should be an error.");
    10771068    psErrorClear();
    1078     psVector* data = psFitsReadTableColumnNum(NULL,0);
    1079     psErr* err = psErrorLast();
    1080     if (data != NULL) {
    1081         psError(PS_ERR_UNKNOWN, false,
    1082                 "psFitsReadTableColumnNum did not return NULL with NULL psFits");
    1083         return 6;
    1084     }
    1085     if (err->code != PS_ERR_BAD_PARAMETER_NULL) {
    1086         psError(PS_ERR_UNKNOWN, false,
    1087                 "psFitsReadTableColumnNum did not error with NULL psFits");
    1088         return 7;
    1089     }
    1090     psFree(err);
    1091 
    1092     psWarning(__func__,"Following should be an error.");
    1093     psErrorClear();
    1094     data = psFitsReadTableColumnNum(fits,-1);
     1069    data = psFitsReadTableColumn(fits,"BOGUS");
    10951070    err = psErrorLast();
    10961071    if (data != NULL) {
    10971072        psError(PS_ERR_UNKNOWN, false,
    1098                 "psFitsReadTableColumnNum did not return NULL with col=-1");
     1073                "psFitsReadTableColumn did not return NULL with col=\"BOGUS\"");
    10991074        return 8;
    11001075    }
    11011076    if (err->code != PS_ERR_IO) {
    11021077        psError(PS_ERR_UNKNOWN, false,
    1103                 "psFitsReadTableColumnNum did not error with col=-1");
     1078                "psFitsReadTableColumn did not error with col=\"BOGUS\"");
    11041079        return 9;
    1105     }
    1106     psFree(err);
    1107 
    1108     psWarning(__func__,"Following should be an error.");
    1109     psErrorClear();
    1110     data = psFitsReadTableColumnNum(fits,10);
    1111     err = psErrorLast();
    1112     if (data != NULL) {
    1113         psError(PS_ERR_UNKNOWN, false,
    1114                 "psFitsReadTableColumnNum did not return NULL with col=10");
    1115         return 10;
    1116     }
    1117     if (err->code != PS_ERR_IO) {
    1118         psError(PS_ERR_UNKNOWN, false,
    1119                 "psFitsReadTableColumnNum did not error with col=10");
    1120         return 11;
    11211080    }
    11221081    psFree(err);
Note: See TracChangeset for help on using the changeset viewer.