Changeset 3474
- Timestamp:
- Mar 22, 2005, 9:29:48 AM (21 years ago)
- Location:
- trunk/psLib/test
- Files:
-
- 2 edited
-
dataIO/tst_psFits.c (modified) (6 diffs)
-
fileUtils/tst_psFits.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/dataIO/tst_psFits.c
r3341 r3474 6 6 * @author Robert DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1.2 0$ $Name: not supported by cvs2svn $9 * @date $Date: 2005-0 2-28 23:34:10$8 * @version $Revision: 1.21 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2005-03-22 19:29:48 $ 10 10 * 11 11 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 47 47 static psS32 tst_psFitsReadHeaderSet( void ); 48 48 static psS32 tst_psFitsReadTable( void ); 49 static psS32 tst_psFitsReadTableColumnNum(void); 49 50 50 51 testDescription tests[] = { … … 58 59 {tst_psFitsReadHeaderSet,805, "psFitsReadHeaderSet", 0, false}, 59 60 {tst_psFitsReadTable,809, "psFitsReadTable", 0, false}, 61 {tst_psFitsReadTableColumnNum,836, "psFitsReadTableColumnNum", 0, false}, 62 {tst_psFitsReadTableColumn,837, "psFitsReadTableColumn", 0, false}, 60 63 {testImageRead,567, "psFitsReadImage", 0, false}, 61 64 {testImageWrite,569, "psFitsWriteImage", 0, false}, … … 163 166 psMetadataAdd(header,PS_LIST_TAIL, "MYINT", 164 167 PS_META_S32, 165 "psS32 Item", (psS32)row); 168 "psS32 Item", 169 (psS32)row); 166 170 167 171 psMetadataAdd(header,PS_LIST_TAIL, "MYFLT", 168 172 PS_META_F32, 169 "psF32 Item", (float)(1.0f/(float)(1+row))); 173 "psF32 Item", 174 (float)(1.0f/(float)(1+row))); 170 175 171 176 psMetadataAdd(header,PS_LIST_TAIL, "MYDBL", 172 177 PS_META_F64, 173 "psF64 Item", (double)(1.0/(double)(1+row))); 178 "psF64 Item", 179 (double)(1.0/(double)(1+row))); 174 180 175 181 psMetadataAdd(header,PS_LIST_TAIL, "MYBOOL", … … 883 889 return 30; 884 890 } 891 892 return 0; 893 } 894 895 static psS32 tst_psFitsReadTableColumnNum( void ) 896 { 897 if (! makeTable()) { 898 return 1; 899 } 900 901 psFits* fits = psFitsAlloc(tableFilename); 902 903 if (fits == NULL) { 904 psError(PS_ERR_UNKNOWN, false, 905 "psFitsAlloc returned NULL on existing file."); 906 return 1; 907 } 908 909 psFitsMoveExtNum(fits,1,false); 910 911 // read the column data via number 912 psVector* colData; 913 psElemType type[4] = {PS_TYPE_S32, PS_TYPE_F32, PS_TYPE_F32, PS_TYPE_BOOL}; 914 psElemType altType[4] = {PS_TYPE_S64, PS_TYPE_F64, PS_TYPE_F64, PS_TYPE_BOOL}; 915 psF64 expectedValues[4][10] = { 916 {0,1,2,3,4,5,6,7,8,9}, 917 {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}, 918 {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}, 919 {1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0} 920 }; 921 922 for (int col = 0; col < 4; col++) { 923 colData = psFitsReadTableColumnNum(fits,col); 924 if (colData == NULL) { 925 psError(PS_ERR_UNKNOWN, false, 926 "psFitsReadTableColumnNum returned NULL for col=%d", 927 col); 928 return 2; 929 } 930 if (colData->type.type != type[col] && 931 colData->type.type != altType[col]) { 932 char* typeRead; 933 char* typeExpected; 934 PS_TYPE_NAME(typeRead, colData->type.type); 935 PS_TYPE_NAME(typeExpected, type[col]); 936 937 psError(PS_ERR_UNKNOWN, false, 938 "psFitsReadTableColumnNum returned different type, %s vs %s, for col=%d", 939 typeRead, typeExpected, col); 940 return 3; 941 } 942 if (colData->n != tableNumRows) { 943 psError(PS_ERR_UNKNOWN, false, 944 "psFitsReadTableColumnNum returned different number of rows, %d vs %d, for col=%d", 945 colData->n, tableNumRows, col); 946 return 4; 947 } 948 for (int row = 0; row < tableNumRows; row++) { 949 if (abs(p_psVectorGetElementF64(colData,row) - expectedValues[col][row]) > FLT_EPSILON) { 950 psError(PS_ERR_UNKNOWN, false, 951 "psFitsReadTableColumnNum returned unexpected values (%g vs %g) for col=%d", 952 p_psVectorGetElementF64(colData,row), expectedValues[col][row], col); 953 return 5; 954 } 955 } 956 psFree(colData); 957 } 958 959 psWarning(__func__,"Following should be an error."); 960 psErrorClear(); 961 psVector* data = psFitsReadTableColumnNum(NULL,0); 962 psErr* err = psErrorLast(); 963 if (data != NULL) { 964 psError(PS_ERR_UNKNOWN, false, 965 "psFitsReadTableColumnNum did not return NULL with NULL psFits"); 966 return 6; 967 } 968 if (err->code != PS_ERR_BAD_PARAMETER_NULL) { 969 psError(PS_ERR_UNKNOWN, false, 970 "psFitsReadTableColumnNum did not error with NULL psFits"); 971 return 7; 972 } 973 psFree(err); 974 975 psWarning(__func__,"Following should be an error."); 976 psErrorClear(); 977 data = psFitsReadTableColumnNum(fits,-1); 978 err = psErrorLast(); 979 if (data != NULL) { 980 psError(PS_ERR_UNKNOWN, false, 981 "psFitsReadTableColumnNum did not return NULL with col=-1"); 982 return 8; 983 } 984 if (err->code != PS_ERR_IO) { 985 psError(PS_ERR_UNKNOWN, false, 986 "psFitsReadTableColumnNum did not error with col=-1"); 987 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; 1004 } 1005 psFree(err); 1006 1007 psFree(fits); 1008 1009 return 0; 1010 } 1011 1012 static psS32 tst_psFitsReadTableColumn( void ) 1013 { 1014 if (! makeTable()) { 1015 return 1; 1016 } 1017 1018 psFits* fits = psFitsAlloc(tableFilename); 1019 1020 if (fits == NULL) { 1021 psError(PS_ERR_UNKNOWN, false, 1022 "psFitsAlloc returned NULL on existing file."); 1023 return 1; 1024 } 1025 1026 psFitsMoveExtNum(fits,1,false); 1027 1028 // 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}; 1032 psF64 expectedValues[4][10] = { 1033 {0,1,2,3,4,5,6,7,8,9}, 1034 {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}, 1035 {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}, 1036 {1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0} 1037 }; 1038 1039 for (int col = 0; col < 4; col++) { 1040 colData = psFitsReadTableColumnNum(fits,col); 1041 if (colData == NULL) { 1042 psError(PS_ERR_UNKNOWN, false, 1043 "psFitsReadTableColumnNum returned NULL for col=%d", 1044 col); 1045 return 2; 1046 } 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 } 1059 if (colData->n != tableNumRows) { 1060 psError(PS_ERR_UNKNOWN, false, 1061 "psFitsReadTableColumnNum returned different number of rows, %d vs %d, for col=%d", 1062 colData->n, tableNumRows, col); 1063 return 4; 1064 } 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; 1071 } 1072 } 1073 psFree(colData); 1074 } 1075 1076 psWarning(__func__,"Following should be an error."); 1077 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); 1095 err = psErrorLast(); 1096 if (data != NULL) { 1097 psError(PS_ERR_UNKNOWN, false, 1098 "psFitsReadTableColumnNum did not return NULL with col=-1"); 1099 return 8; 1100 } 1101 if (err->code != PS_ERR_IO) { 1102 psError(PS_ERR_UNKNOWN, false, 1103 "psFitsReadTableColumnNum did not error with col=-1"); 1104 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; 1121 } 1122 psFree(err); 1123 1124 psFree(fits); 885 1125 886 1126 return 0; … … 1129 1369 return 0; 1130 1370 } 1371 -
trunk/psLib/test/fileUtils/tst_psFits.c
r3341 r3474 6 6 * @author Robert DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1.2 0$ $Name: not supported by cvs2svn $9 * @date $Date: 2005-0 2-28 23:34:10$8 * @version $Revision: 1.21 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2005-03-22 19:29:48 $ 10 10 * 11 11 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 47 47 static psS32 tst_psFitsReadHeaderSet( void ); 48 48 static psS32 tst_psFitsReadTable( void ); 49 static psS32 tst_psFitsReadTableColumnNum(void); 49 50 50 51 testDescription tests[] = { … … 58 59 {tst_psFitsReadHeaderSet,805, "psFitsReadHeaderSet", 0, false}, 59 60 {tst_psFitsReadTable,809, "psFitsReadTable", 0, false}, 61 {tst_psFitsReadTableColumnNum,836, "psFitsReadTableColumnNum", 0, false}, 62 {tst_psFitsReadTableColumn,837, "psFitsReadTableColumn", 0, false}, 60 63 {testImageRead,567, "psFitsReadImage", 0, false}, 61 64 {testImageWrite,569, "psFitsWriteImage", 0, false}, … … 163 166 psMetadataAdd(header,PS_LIST_TAIL, "MYINT", 164 167 PS_META_S32, 165 "psS32 Item", (psS32)row); 168 "psS32 Item", 169 (psS32)row); 166 170 167 171 psMetadataAdd(header,PS_LIST_TAIL, "MYFLT", 168 172 PS_META_F32, 169 "psF32 Item", (float)(1.0f/(float)(1+row))); 173 "psF32 Item", 174 (float)(1.0f/(float)(1+row))); 170 175 171 176 psMetadataAdd(header,PS_LIST_TAIL, "MYDBL", 172 177 PS_META_F64, 173 "psF64 Item", (double)(1.0/(double)(1+row))); 178 "psF64 Item", 179 (double)(1.0/(double)(1+row))); 174 180 175 181 psMetadataAdd(header,PS_LIST_TAIL, "MYBOOL", … … 883 889 return 30; 884 890 } 891 892 return 0; 893 } 894 895 static psS32 tst_psFitsReadTableColumnNum( void ) 896 { 897 if (! makeTable()) { 898 return 1; 899 } 900 901 psFits* fits = psFitsAlloc(tableFilename); 902 903 if (fits == NULL) { 904 psError(PS_ERR_UNKNOWN, false, 905 "psFitsAlloc returned NULL on existing file."); 906 return 1; 907 } 908 909 psFitsMoveExtNum(fits,1,false); 910 911 // read the column data via number 912 psVector* colData; 913 psElemType type[4] = {PS_TYPE_S32, PS_TYPE_F32, PS_TYPE_F32, PS_TYPE_BOOL}; 914 psElemType altType[4] = {PS_TYPE_S64, PS_TYPE_F64, PS_TYPE_F64, PS_TYPE_BOOL}; 915 psF64 expectedValues[4][10] = { 916 {0,1,2,3,4,5,6,7,8,9}, 917 {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}, 918 {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}, 919 {1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0} 920 }; 921 922 for (int col = 0; col < 4; col++) { 923 colData = psFitsReadTableColumnNum(fits,col); 924 if (colData == NULL) { 925 psError(PS_ERR_UNKNOWN, false, 926 "psFitsReadTableColumnNum returned NULL for col=%d", 927 col); 928 return 2; 929 } 930 if (colData->type.type != type[col] && 931 colData->type.type != altType[col]) { 932 char* typeRead; 933 char* typeExpected; 934 PS_TYPE_NAME(typeRead, colData->type.type); 935 PS_TYPE_NAME(typeExpected, type[col]); 936 937 psError(PS_ERR_UNKNOWN, false, 938 "psFitsReadTableColumnNum returned different type, %s vs %s, for col=%d", 939 typeRead, typeExpected, col); 940 return 3; 941 } 942 if (colData->n != tableNumRows) { 943 psError(PS_ERR_UNKNOWN, false, 944 "psFitsReadTableColumnNum returned different number of rows, %d vs %d, for col=%d", 945 colData->n, tableNumRows, col); 946 return 4; 947 } 948 for (int row = 0; row < tableNumRows; row++) { 949 if (abs(p_psVectorGetElementF64(colData,row) - expectedValues[col][row]) > FLT_EPSILON) { 950 psError(PS_ERR_UNKNOWN, false, 951 "psFitsReadTableColumnNum returned unexpected values (%g vs %g) for col=%d", 952 p_psVectorGetElementF64(colData,row), expectedValues[col][row], col); 953 return 5; 954 } 955 } 956 psFree(colData); 957 } 958 959 psWarning(__func__,"Following should be an error."); 960 psErrorClear(); 961 psVector* data = psFitsReadTableColumnNum(NULL,0); 962 psErr* err = psErrorLast(); 963 if (data != NULL) { 964 psError(PS_ERR_UNKNOWN, false, 965 "psFitsReadTableColumnNum did not return NULL with NULL psFits"); 966 return 6; 967 } 968 if (err->code != PS_ERR_BAD_PARAMETER_NULL) { 969 psError(PS_ERR_UNKNOWN, false, 970 "psFitsReadTableColumnNum did not error with NULL psFits"); 971 return 7; 972 } 973 psFree(err); 974 975 psWarning(__func__,"Following should be an error."); 976 psErrorClear(); 977 data = psFitsReadTableColumnNum(fits,-1); 978 err = psErrorLast(); 979 if (data != NULL) { 980 psError(PS_ERR_UNKNOWN, false, 981 "psFitsReadTableColumnNum did not return NULL with col=-1"); 982 return 8; 983 } 984 if (err->code != PS_ERR_IO) { 985 psError(PS_ERR_UNKNOWN, false, 986 "psFitsReadTableColumnNum did not error with col=-1"); 987 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; 1004 } 1005 psFree(err); 1006 1007 psFree(fits); 1008 1009 return 0; 1010 } 1011 1012 static psS32 tst_psFitsReadTableColumn( void ) 1013 { 1014 if (! makeTable()) { 1015 return 1; 1016 } 1017 1018 psFits* fits = psFitsAlloc(tableFilename); 1019 1020 if (fits == NULL) { 1021 psError(PS_ERR_UNKNOWN, false, 1022 "psFitsAlloc returned NULL on existing file."); 1023 return 1; 1024 } 1025 1026 psFitsMoveExtNum(fits,1,false); 1027 1028 // 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}; 1032 psF64 expectedValues[4][10] = { 1033 {0,1,2,3,4,5,6,7,8,9}, 1034 {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}, 1035 {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}, 1036 {1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0} 1037 }; 1038 1039 for (int col = 0; col < 4; col++) { 1040 colData = psFitsReadTableColumnNum(fits,col); 1041 if (colData == NULL) { 1042 psError(PS_ERR_UNKNOWN, false, 1043 "psFitsReadTableColumnNum returned NULL for col=%d", 1044 col); 1045 return 2; 1046 } 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 } 1059 if (colData->n != tableNumRows) { 1060 psError(PS_ERR_UNKNOWN, false, 1061 "psFitsReadTableColumnNum returned different number of rows, %d vs %d, for col=%d", 1062 colData->n, tableNumRows, col); 1063 return 4; 1064 } 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; 1071 } 1072 } 1073 psFree(colData); 1074 } 1075 1076 psWarning(__func__,"Following should be an error."); 1077 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); 1095 err = psErrorLast(); 1096 if (data != NULL) { 1097 psError(PS_ERR_UNKNOWN, false, 1098 "psFitsReadTableColumnNum did not return NULL with col=-1"); 1099 return 8; 1100 } 1101 if (err->code != PS_ERR_IO) { 1102 psError(PS_ERR_UNKNOWN, false, 1103 "psFitsReadTableColumnNum did not error with col=-1"); 1104 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; 1121 } 1122 psFree(err); 1123 1124 psFree(fits); 885 1125 886 1126 return 0; … … 1129 1369 return 0; 1130 1370 } 1371
Note:
See TracChangeset
for help on using the changeset viewer.
