Changeset 2607 for trunk/psLib/test/astronomy/tst_psMetadata_05.c
- Timestamp:
- Dec 3, 2004, 1:19:07 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/test/astronomy/tst_psMetadata_05.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/astronomy/tst_psMetadata_05.c
r2527 r2607 22 22 * @author Ross Harman, MHPCC 23 23 * 24 * @version $Revision: 1.1 2$ $Name: not supported by cvs2svn $25 * @date $Date: 2004-1 1-30 01:16:43$24 * @version $Revision: 1.13 $ $Name: not supported by cvs2svn $ 25 * @date $Date: 2004-12-03 23:19:07 $ 26 26 * 27 27 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 33 33 #include <string.h> 34 34 35 static void printMetadataItem(psMetadataItem * item)35 static void printMetadataItem(psMetadataItem *metadataItem) 36 36 { 37 printf("Key Name: %8s ", item->name); 38 printf("Key Type: %2d ", item->type); 39 40 switch (item->type ) { 41 case PS_META_BOOL: 42 printf("Key Value: %15d ", item->data.B); 37 printf("Key Name: %8s ", metadataItem->name); 38 printf("Key pType: %2d ", metadataItem->pType); 39 printf("Key mdType: %2d ", metadataItem->type); 40 41 switch (metadataItem->type) { 42 case PS_META_LIST: 43 printf("Key Value: %17c", ' '); 43 44 break; 44 case PS_META_S32: 45 printf("Key Value: %15d ", item->data.S32); 46 break; 47 case PS_META_F32: 48 printf("Key Value: %15.3f ", item->data.F32); 49 break; 50 case PS_META_F64: 51 printf("Key Value: %15.3f ", item->data.F64); 45 case PS_META_PRIMITIVE: 46 switch(metadataItem->pType) { 47 case PS_TYPE_BOOL: 48 printf("Key Value: %15d ", metadataItem->data.B); 49 break; 50 case PS_TYPE_S32: 51 printf("Key Value: %15d ", metadataItem->data.S32); 52 break; 53 case PS_TYPE_F32: 54 printf("Key Value: %15.3f ", metadataItem->data.F32); 55 break; 56 case PS_TYPE_F64: 57 printf("Key Value: %15.3f ", metadataItem->data.F64); 58 break; 59 default: 60 printf("Bad type: %d ", metadataItem->pType); 61 } 52 62 break; 53 63 case PS_META_STR: 54 printf("Key Value: %15s ", (char*)item->data.V); 55 break; 56 case PS_META_IMG: 57 case PS_META_JPEG: 58 case PS_META_PNG: 59 case PS_META_ASTROM: 60 case PS_META_UNKNOWN: 61 printf("Value: unknown "); 64 printf("Key Value: %15s ", (char*)metadataItem->data.V); 62 65 break; 63 66 default: 64 printf("Bad type: %d ", item->type);65 } 66 printf("Key Comment: %s\n", item->comment);67 printf("Bad type: %d ", metadataItem->type); 68 } 69 printf("Key Comment: %s\n", metadataItem->comment); 67 70 } 68 71 … … 70 73 psS32 main( psS32 argc, char* argv[] ) 71 74 { 72 psS64 data;73 psF32 fpdata;74 75 psMetadataItem *item1 = NULL; 75 76 psMetadataItem *item2 = NULL; … … 80 81 psMetadataItem *item7 = NULL; 81 82 psMetadataItem *item8 = NULL; 82 psMetadataItem *item = NULL;83 83 psMetadata *metadata = NULL; 84 84 FILE *fd = NULL; 85 char str[7];86 psList* tmpList = NULL;87 85 88 86 // Test A - Allocate metadata and items 89 87 printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items"); 90 88 metadata = psMetadataAlloc(); 91 item1 = psMetadataItemAlloc("myItem1", PS_ META_BOOL, "I am a boolean", true);92 item2 = psMetadataItemAlloc("myItem2", PS_ META_S32, "I am a integer", 55);93 item3 = psMetadataItemAlloc("myItem3", PS_ META_BOOL, "I am a boolean", false);94 item4 = psMetadataItemAlloc("myItem4", PS_ META_S32, "I am a integer", 66);95 item5 = psMetadataItemAlloc("myItem5", PS_ META_F32, "I am a float", 3.14);96 item6 = psMetadataItemAlloc("myItem6", PS_ META_F64,"I am a double", 6.28);97 item7 = psMetadataItemAlloc("myItem7", PS_ META_STR, "I am a string", "GNIRTS");98 item8 = psMetadataItemAlloc("myItem8", PS_ META_UNKNOWN, "I am unknown");89 item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true); 90 item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 55); 91 item3 = psMetadataItemAlloc("myItem3", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", false); 92 item4 = psMetadataItemAlloc("myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 66); 93 item5 = psMetadataItemAlloc("myItem5", PS_TYPE_F32, PS_META_PRIMITIVE, "I am a float", 3.14); 94 item6 = psMetadataItemAlloc("myItem6", PS_TYPE_F64, PS_META_PRIMITIVE,"I am a double", 6.28); 95 item7 = psMetadataItemAlloc("myItem7", PS_TYPE_PTR, PS_META_STR, "I am a string", "GNIRTS"); 96 item8 = psMetadataItemAlloc("myItem8", PS_TYPE_PTR, PS_META_UNKNOWN, "I am unknown"); 99 97 printMetadataItem(item1); 100 98 printMetadataItem(item2); … … 107 105 printFooter(stdout, "psMetadata", "Test A - Allocate metadata items", true); 108 106 109 110 // Test B - Set iterator at second index111 printPositiveTestHeader(stdout, "psMetadata", "Test B - Set iterator at second index");112 if (!psMetadataSetIterator(metadata, 2)) {113 psError(PS_ERR_UNKNOWN,true,"Failed to set iterator");114 return 100;115 }116 printFooter(stdout, "psMetadata", "Test B - Set iterator at second index", true);117 118 119 // Test C - Get next item at index120 printPositiveTestHeader(stdout, "psMetadata", "Test C - Get next item at index");121 item = psMetadataGetNext(metadata, NULL, 2);122 if(item == NULL) {123 printf("ERROR: Item should not be null\n");124 } else {125 printf("Found item named %s\n", item->name);126 }127 printFooter(stdout, "psMetadata", "Test C - Get next item at index", true);128 129 130 // Test D - Get next item at index and string131 printPositiveTestHeader(stdout, "psMetadata", "Test D - Get next item at index and string");132 item = psMetadataGetNext(metadata, "myItem1", 1);133 if(item == NULL) {134 printf("ERROR: Item should not be null\n");135 } else {136 printf("Found item named %s\n", item->name);137 }138 printFooter(stdout, "psMetadata", "Test D - Get next item at index and string", true);139 140 141 // Test E - Get previous item at index142 printPositiveTestHeader(stdout, "psMetadata", "Test E - Get previous item at index");143 item = psMetadataGetPrevious(metadata, NULL, 1);144 if(item == NULL) {145 printf("ERROR: Item should not be null\n");146 } else {147 printf("Found item named %s\n", item->name);148 }149 if( psMetadataGetPrevious(metadata,"myItem3",1) == NULL) {150 psError(PS_ERR_UNKNOWN, true,"psMetadataGetPrevious did not return an item from metadata.");151 return 45;152 }153 tmpList = metadata->list;154 metadata->list = NULL;155 if ( psMetadataGetPrevious(metadata,NULL,1) != NULL) {156 psError(PS_ERR_UNKNOWN, true,"psMetadataGetPrevious did not return null for invalid metadata.");157 return 50;158 }159 metadata->list = tmpList;160 printFooter(stdout, "psMetadata", "Test E - Get previous item at index", true);161 162 107 /* 108 // Test B - Set iterator at second index 109 printPositiveTestHeader(stdout, "psMetadata", "Test B - Set iterator at second index"); 110 if (!psMetadataSetIterator(metadata, 2)) { 111 psError(PS_ERR_UNKNOWN,true,"Failed to set iterator"); 112 return 100; 113 } 114 printFooter(stdout, "psMetadata", "Test B - Set iterator at second index", true); 115 116 117 // Test C - Get next item at index 118 printPositiveTestHeader(stdout, "psMetadata", "Test C - Get next item at index"); 119 item = psMetadataGetNext(metadata, NULL, 2); 120 if(item == NULL) { 121 printf("ERROR: Item should not be null\n"); 122 } else { 123 printf("Found item named %s\n", item->name); 124 } 125 printFooter(stdout, "psMetadata", "Test C - Get next item at index", true); 126 127 128 // Test D - Get next item at index and string 129 printPositiveTestHeader(stdout, "psMetadata", "Test D - Get next item at index and string"); 130 item = psMetadataGetNext(metadata, "myItem1", 1); 131 if(item == NULL) { 132 printf("ERROR: Item should not be null\n"); 133 } else { 134 printf("Found item named %s\n", item->name); 135 } 136 printFooter(stdout, "psMetadata", "Test D - Get next item at index and string", true); 137 138 139 // Test E - Get previous item at index 140 printPositiveTestHeader(stdout, "psMetadata", "Test E - Get previous item at index"); 141 item = psMetadataGetPrevious(metadata, NULL, 1); 142 if(item == NULL) { 143 printf("ERROR: Item should not be null\n"); 144 } else { 145 printf("Found item named %s\n", item->name); 146 } 147 if( psMetadataGetPrevious(metadata,"myItem3",1) == NULL) { 148 psError(PS_ERR_UNKNOWN, true,"psMetadataGetPrevious did not return an item from metadata."); 149 return 45; 150 } 151 tmpList = metadata->list; 152 metadata->list = NULL; 153 if ( psMetadataGetPrevious(metadata,NULL,1) != NULL) { 154 psError(PS_ERR_UNKNOWN, true,"psMetadataGetPrevious did not return null for invalid metadata."); 155 return 50; 156 } 157 metadata->list = tmpList; 158 printFooter(stdout, "psMetadata", "Test E - Get previous item at index", true); 159 160 */ 163 161 // Test F - Write metadata item to file 164 162 printPositiveTestHeader(stdout, "psMetadata", "Test F - Write metadata item to file"); … … 167 165 printf("ERROR: Couldn't open file for writing\n"); 168 166 } 169 psMetadataItemPrint(fd, "S32 = %ld\n", item2); 170 psMetadataItemPrint(fd, "BOL = %ld\n", item3); 171 psMetadataItemPrint(fd, "F32 = %g\n", item5); 172 psMetadataItemPrint(fd, "F64 = %g\n", item6); 173 psMetadataItemPrint(fd, "STR = %s\n", item7); 174 psMetadataItemPrint(fd, "UNK = \n", item8); 175 printFooter(stdout, "psMetadata", "Test F - Write metadata item to file", true); 167 psMetadataItemPrint(fd, "S32 = %ld\n", item2); 168 psMetadataItemPrint(fd, "BOL = %ld\n", item3); 169 psMetadataItemPrint(fd, "F32 = %g\n", item5); 170 psMetadataItemPrint(fd, "F64 = %g\n", item6); 171 psMetadataItemPrint(fd, "STR = %s\n", item7); 172 psMetadataItemPrint(fd, "UNK = \n", item8); 176 173 fclose(fd); 177 174 fd = fopen("./tst_psMetadata05_OUT", "r"); … … 179 176 printf("ERROR: Couldn't open file for reading\n"); 180 177 } 181 fscanf(fd, "S64 = %lld\n", &data); 182 if(data != 55) { 183 printf("ERROR: Data in file is not as expected. Value: %lld. Should be: 55.\n", data); 184 } 185 fscanf(fd, "BOL = %lld\n", &data); 186 if(data != 0) { 187 printf("ERROR: Data in file is not as expected. Value: %lld. Should be: 0.\n", data); 188 } 189 fscanf(fd, "F32 = %g\n", &fpdata); 190 if ( (fpdata <= 3.1) || (fpdata >= 3.2) ) { 191 printf("ERROR: Data in file is not as expected. Value: %g. Should be: 3.14.\n", fpdata); 192 } 193 fscanf(fd, "F64 = %g\n", &fpdata); 194 if ( (fpdata <= 6.2) || ( fpdata >= 6.3) ) { 195 printf("ERROR: Data in file is not as expected. Value: %g. Should be: 6.28.\n", fpdata); 196 } 197 fscanf(fd, "STR = %s\n", str); 198 if ( strcmp(str,"GNIRTS") != 0 ) { 199 printf("ERROR: Data is file is not as expected. Value: %s. Should be: GNIRTS.\n", str); 200 } 178 179 char line[256]; 180 char truth1[] = "S32 = 55"; 181 fgets(line, 256, fd); 182 if(strncmp(line, truth1, 8)) { 183 printf("ERROR: Data in file is not as expected. Value: %s. Should be: %s\n", line, truth1); 184 } 185 186 char truth2[] = "BOL = 0"; 187 fgets(line, 256, fd); 188 if(strncmp(line, truth2, 7)) { 189 printf("ERROR: Data in file is not as expected. Value: %s. Should be: %s\n", line, truth2); 190 } 191 192 char truth3[] = "F32 = 3.14"; 193 fgets(line, 256, fd); 194 if(strncmp(line, truth3, 10)) { 195 printf("ERROR: Data in file is not as expected. Value: %s. Should be: %s\n", line, truth3); 196 } 197 198 char truth4[] = "F64 = 6.28"; 199 fgets(line, 256, fd); 200 if(strncmp(line, truth4, 10)) { 201 printf("ERROR: Data in file is not as expected. Value: %s. Should be: %s\n", line, truth4); 202 } 203 204 char truth5[] = "STR = GNIRTS"; 205 fgets(line, 256, fd); 206 if(strncmp(line, truth5, 12)) { 207 printf("ERROR: Data in file is not as expected. Value: %s. Should be: %s\n", line, truth5); 208 } 209 201 210 fclose(fd); 202 203 // Test G - Attempt to use null metadata with setIterator 204 printNegativeTestHeader(stdout,"psMetadata", "Test G - Attempt to use null metadata with setIterator", 205 "Null metadata collection not allowed", 0); 206 if( psMetadataSetIterator(NULL, 0)) { 207 psError(PS_ERR_UNKNOWN,true,"Set iterator did not detect invalid parameter."); 208 return 101; 209 } 210 tmpList = metadata->list; 211 metadata->list = NULL; 212 if( psMetadataSetIterator(metadata,0)) { 213 psError(PS_ERR_UNKNOWN,true,"Set iterator did not detect null list."); 214 return 102; 215 } 216 metadata->list = tmpList; 217 printFooter(stdout, "psMetadata", "Test G - Attempt to use null metadata with setIterator", true); 218 219 220 // Test H - Attempt to use null metadata with getNext 221 printNegativeTestHeader(stdout,"psMetadata", "Test H - Attempt to use null metadata with getNext", 222 "Null metadata collection not allowed", 0); 223 if( psMetadataGetNext(NULL, "myItem2", 0) != NULL ) { 224 psError(PS_ERR_UNKNOWN, true,"psMetadataGetNext did not return null for null metadata."); 225 return 40; 226 } 227 tmpList = metadata->list; 228 metadata->list = NULL; 229 if ( psMetadataGetNext(metadata, "myItem2", 0) != NULL ) { 230 psError(PS_ERR_UNKNOWN, true,"psMetadataGetNext did not return null for invalid metadata."); 231 return 41; 232 } 233 metadata->list = tmpList; 234 235 printFooter(stdout, "psMetadata", "Test H - Attempt to use null metadata with getNext", true); 236 237 238 // Test I - Attempt to use null metadata with getPrevious 239 printNegativeTestHeader(stdout,"psMetadata", "Test I - Attempt to use null metadata with getPrevious", 240 "Null metadata collection not allowed", 0); 241 psMetadataGetPrevious(NULL, "myItem2", 0); 242 printFooter(stdout, "psMetadata", "Test I - Attempt to use null metadata with getPrevious", true); 243 244 211 printFooter(stdout, "psMetadata", "Test F - Write metadata item to file", true); 212 /* 213 // Test G - Attempt to use null metadata with setIterator 214 printNegativeTestHeader(stdout,"psMetadata", "Test G - Attempt to use null metadata with setIterator", 215 "Null metadata collection not allowed", 0); 216 if( psMetadataSetIterator(NULL, 0)) { 217 psError(PS_ERR_UNKNOWN,true,"Set iterator did not detect invalid parameter."); 218 return 101; 219 } 220 tmpList = metadata->list; 221 metadata->list = NULL; 222 if( psMetadataSetIterator(metadata,0)) { 223 psError(PS_ERR_UNKNOWN,true,"Set iterator did not detect null list."); 224 return 102; 225 } 226 metadata->list = tmpList; 227 printFooter(stdout, "psMetadata", "Test G - Attempt to use null metadata with setIterator", true); 228 229 230 // Test H - Attempt to use null metadata with getNext 231 printNegativeTestHeader(stdout,"psMetadata", "Test H - Attempt to use null metadata with getNext", 232 "Null metadata collection not allowed", 0); 233 if( psMetadataGetNext(NULL, "myItem2", 0) != NULL ) { 234 psError(PS_ERR_UNKNOWN, true,"psMetadataGetNext did not return null for null metadata."); 235 return 40; 236 } 237 tmpList = metadata->list; 238 metadata->list = NULL; 239 if ( psMetadataGetNext(metadata, "myItem2", 0) != NULL ) { 240 psError(PS_ERR_UNKNOWN, true,"psMetadataGetNext did not return null for invalid metadata."); 241 return 41; 242 } 243 metadata->list = tmpList; 244 245 printFooter(stdout, "psMetadata", "Test H - Attempt to use null metadata with getNext", true); 246 247 248 // Test I - Attempt to use null metadata with getPrevious 249 printNegativeTestHeader(stdout,"psMetadata", "Test I - Attempt to use null metadata with getPrevious", 250 "Null metadata collection not allowed", 0); 251 psMetadataGetPrevious(NULL, "myItem2", 0); 252 printFooter(stdout, "psMetadata", "Test I - Attempt to use null metadata with getPrevious", true); 253 254 */ 245 255 // Test J - Attempt to use null file with itemPrint 246 256 printNegativeTestHeader(stdout,"psMetadata", "Test J - Attempt to use null file with itemPrint",
Note:
See TracChangeset
for help on using the changeset viewer.
