IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 1494


Ignore:
Timestamp:
Aug 11, 2004, 3:08:39 PM (22 years ago)
Author:
harman
Message:

Modified deleteItem function to delete multiple items of same name

Location:
trunk/psLib/test
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/test/astronomy/tst_psMetadata_01.c

    r1460 r1494  
    77*     Test B - Read 2nd hdr from complex FITS file
    88*     Test C - Read named hdr from complex FITS file
    9 *     Test D - Attempt to use null file descriptor
    10 *     Test E - Attempt to use two null inputs
    11 *     Test F - Attempt to use bad extNum/
    12 *     Test G - Attempt to use bad extNameTest
    13 *     Test H - Free psMetadataData
     9*     Test D - Remove items with same name from all metadata
     10*     Test E- Attempt to use null file descriptor
     11*     Test F - Attempt to use two null inputs
     12*     Test G - Attempt to use bad extNum/
     13*     Test H - Attempt to use bad extNameTest
     14*     Test I - Free psMetadataData
    1415*
    1516*  @author  Ross Harman, MHPCC
    1617*
    17 *  @version $Revision: 1.6 $  $Name: not supported by cvs2svn $
    18 *  @date  $Date: 2004-08-10 23:47:28 $
     18*  @version $Revision: 1.7 $  $Name: not supported by cvs2svn $
     19*  @date  $Date: 2004-08-12 01:08:39 $
    1920*
    2021*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2627#include <string.h>
    2728
     29static void printMetadataItem(psMetadataItem *metadataItem, char *spaces);
     30
     31static void printMetadataItemList(psList *metadataItemList)
     32{
     33    psMetadataItem *entryChild = NULL;
     34
     35    psListSetIterator(metadataItemList, PS_LIST_HEAD);
     36    entryChild = psListGetCurrent(metadataItemList);
     37    while (entryChild != NULL) {
     38        printMetadataItem(entryChild, "    ");
     39        entryChild = psListGetNext(metadataItemList);
     40    }
     41}
     42
     43static void printMetadataList(psList *metadataItemList)
     44{
     45    psMetadataItem *entryChild = NULL;
     46
     47    psListSetIterator(metadataItemList, PS_LIST_HEAD);
     48    entryChild = psListGetCurrent(metadataItemList);
     49    while (entryChild != NULL) {
     50        printMetadataItem(entryChild, " ");
     51        entryChild = psListGetNext(metadataItemList);
     52    }
     53}
     54static void printMetadataItem(psMetadataItem *metadataItem, char *spaces)
     55{
     56    printf("%sKey Name: %8s  ", spaces, metadataItem->name);
     57    printf("Key Type: %2d  ", metadataItem->type);
     58
     59    switch (metadataItem->type ) {
     60    case PS_META_ITEM_SET:
     61        printf("Key Value: %17c", ' ');
     62        break;
     63    case PS_META_BOOL:
     64        printf("Key Value: %15d  ", metadataItem->data.B);
     65        break;
     66    case PS_META_S32:
     67        printf("Key Value: %15d  ", metadataItem->data.S32);
     68        break;
     69    case PS_META_F32:
     70        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     71        break;
     72    case PS_META_F64:
     73        printf("Key Value: %15.3f  ", metadataItem->data.F64);
     74        break;
     75    case PS_META_STR:
     76        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
     77        break;
     78    case PS_META_IMG:
     79    case PS_META_JPEG:
     80    case PS_META_PNG:
     81    case PS_META_ASTROM:
     82    case PS_META_UNKNOWN:
     83        printf("Value: unknown ");
     84        break;
     85    default:
     86        printf("Bad type: %d ", metadataItem->type);
     87    }
     88    printf("Key Comment: %s\n", metadataItem->comment);
     89
     90    if(metadataItem->items->size) {
     91        printMetadataItemList(metadataItem->items);
     92    }
     93}
     94
     95static void printMetadataTable(psHash *mdTable)
     96{
     97    int i;
     98    psHashBucket* ptr = NULL;
     99    for(i=0; i<mdTable->nbucket; i++) {
     100        ptr = mdTable->buckets[i];
     101        while (ptr != NULL) {
     102            printMetadataItem(ptr->data, " ");
     103            ptr = ptr->next;
     104        }
     105    }
     106}
     107
    28108static void printMetadata(psMetadata *metadata)
    29109{
    30     psList *mdList = NULL;
    31     psHash *mdTable = NULL;
    32     psMetadataItem *entryChild = NULL;
    33 
    34     mdList = metadata->list;
    35     mdTable = metadata->table;
    36     if(mdList==NULL || mdTable==NULL) {
    37         printf("ERROR: Null collection metadata found\n");
    38     }
    39 
    40     psListSetIterator( mdList, PS_LIST_HEAD );
    41     entryChild = psListGetCurrent( mdList );
    42     while ( entryChild != NULL ) {
    43         printf("Key Name: %8s  ", entryChild->name);
    44         printf("Key Type: %2d  ", entryChild->type);
    45 
    46         switch (entryChild->type ) {
    47         case PS_META_BOOL:
    48             printf("Key Value: %15d  ", entryChild->data.B);
    49             break;
    50         case PS_META_S32:
    51             printf("Key Value: %15d  ", entryChild->data.S32);
    52             break;
    53         case PS_META_F32:
    54             printf("Key Value: %15.3f  ", entryChild->data.F32);
    55             break;
    56         case PS_META_F64:
    57             printf("Key Value: %15.3f  ", entryChild->data.F64);
    58             break;
    59         case PS_META_STR:
    60             printf("Key Value: %15s  ", (char*)entryChild->data.V);
    61             break;
    62         case PS_META_IMG:
    63         case PS_META_JPEG:
    64         case PS_META_PNG:
    65         case PS_META_ASTROM:
    66         case PS_META_UNKNOWN:
    67             printf("Value: unknown ");
    68             break;
    69         default:
    70             printf("Bad type: %d ", entryChild->type);
    71         }
    72         printf("Key Comment: %s\n", entryChild->comment);
    73 
    74         entryChild = psListGetNext( mdList);
    75     }
    76 }
    77 
    78 
    79 int main( int argc, char* argv[] )
     110    printf("Contents of metadata list:\n");
     111    printMetadataList(metadata->list);
     112    printf("\nContents of metadata table:\n");
     113    printMetadataTable(metadata->table);
     114}
     115
     116
     117int main(int argc, char* argv[])
    80118{
    81119    int status = 0;
     
    169207
    170208
    171     // Test D - Attempt to use null file descriptor
    172     printNegativeTestHeader(stdout,"psMetadata", "Test D - Attempt to use null file descriptor",
     209    // Test D - Remove items with same name from all metadata
     210    printPositiveTestHeader(stdout, "psMetadata", "Test D - Remove items with same name from all metadata");
     211    printf("Removed HISTORY from all metadata from prior test. Resulting metadata:\n\n");
     212    psMetadataRemove(metadata3, 0, "HISTORY");
     213    printMetadata(metadata3);
     214    printFooter(stdout, "psMetadata", "Test D - Remove items with same name from all metadata", true);
     215
     216
     217    // Test E - Attempt to use null file descriptor
     218    printNegativeTestHeader(stdout,"psMetadata", "Test E - Attempt to use null file descriptor",
    173219                            "Null FITS file descriptor not allowed", 0);
    174220    psMetadataFReadHeader(NULL, NULL, 1, NULL);
    175     printFooter(stdout, "psMetadata", "Test D - Attempt to use null file descriptor", true);
    176 
    177 
    178     // Test E - Attempt to use two null inputs
    179     printNegativeTestHeader(stdout,"psMetadata", "Test E - Attempt to use two null inputs",
     221    printFooter(stdout, "psMetadata", "Test E - Attempt to use null file descriptor", true);
     222
     223
     224    // Test F - Attempt to use two null inputs
     225    printNegativeTestHeader(stdout,"psMetadata", "Test F - Attempt to use two null inputs",
    180226                            "Null extName and extNum = 0 not allowed", 0);
    181227    psMetadataFReadHeader(NULL, NULL, 0, fptr);
    182     printFooter(stdout, "psMetadata", "Test E - Attempt to use two null inputs", true);
    183 
    184 
    185     // Test F - Attempt to use bad extNum
    186     printNegativeTestHeader(stdout,"psMetadata", "Test F - Attempt to use bad extNum",
     228    printFooter(stdout, "psMetadata", "Test F - Attempt to use two null inputs", true);
     229
     230
     231    // Test G - Attempt to use bad extNum
     232    printNegativeTestHeader(stdout,"psMetadata", "Test G - Attempt to use bad extNum",
    187233                            "FITS error while locating header 22: tried to move past end of file", 0);
    188234    psMetadataFReadHeader(metadata1, NULL, 22, fptr);
    189     printFooter(stdout, "psMetadata", "Test F - Attempt to use bad extNum", true);
    190 
    191 
    192     // Test G - Attempt to use bad extName
    193     printNegativeTestHeader(stdout,"psMetadata", "Test F - Attempt to use bad extName",
     235    printFooter(stdout, "psMetadata", "Test G - Attempt to use bad extNum", true);
     236
     237
     238    // Test H - Attempt to use bad extName
     239    printNegativeTestHeader(stdout,"psMetadata", "Test H - Attempt to use bad extName",
    194240                            "FITS error while locating header AARGH: illegal HDU number", 0);
    195241    psMetadataFReadHeader(metadata1, "AARGH", 0, fptr);
    196     printFooter(stdout, "psMetadata", "Test F - Attempt to use bad extName", true);
    197 
    198 
    199     // Test H - Free psMetadata
    200     printPositiveTestHeader(stdout, "psMetadata", "Test H - Free psMetadata");
     242    printFooter(stdout, "psMetadata", "Test H - Attempt to use bad extName", true);
     243
     244
     245    // Test I- Free psMetadata
     246    printPositiveTestHeader(stdout, "psMetadata", "Test I - Free psMetadata");
    201247    psFree(metadata1);
    202248    psFree(metadata2);
     
    208254        printf("ERROR: Found %d bad memory blocks\n", nBad);
    209255    }
    210     printFooter(stdout, "psMetadata", "Test H - Free psMetadata", true);
     256    printFooter(stdout, "psMetadata", "Test I - Free psMetadata", true);
    211257
    212258    return 0;
  • trunk/psLib/test/collections/tst_psMetadata_01.c

    r1460 r1494  
    77*     Test B - Read 2nd hdr from complex FITS file
    88*     Test C - Read named hdr from complex FITS file
    9 *     Test D - Attempt to use null file descriptor
    10 *     Test E - Attempt to use two null inputs
    11 *     Test F - Attempt to use bad extNum/
    12 *     Test G - Attempt to use bad extNameTest
    13 *     Test H - Free psMetadataData
     9*     Test D - Remove items with same name from all metadata
     10*     Test E- Attempt to use null file descriptor
     11*     Test F - Attempt to use two null inputs
     12*     Test G - Attempt to use bad extNum/
     13*     Test H - Attempt to use bad extNameTest
     14*     Test I - Free psMetadataData
    1415*
    1516*  @author  Ross Harman, MHPCC
    1617*
    17 *  @version $Revision: 1.6 $  $Name: not supported by cvs2svn $
    18 *  @date  $Date: 2004-08-10 23:47:28 $
     18*  @version $Revision: 1.7 $  $Name: not supported by cvs2svn $
     19*  @date  $Date: 2004-08-12 01:08:39 $
    1920*
    2021*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2627#include <string.h>
    2728
     29static void printMetadataItem(psMetadataItem *metadataItem, char *spaces);
     30
     31static void printMetadataItemList(psList *metadataItemList)
     32{
     33    psMetadataItem *entryChild = NULL;
     34
     35    psListSetIterator(metadataItemList, PS_LIST_HEAD);
     36    entryChild = psListGetCurrent(metadataItemList);
     37    while (entryChild != NULL) {
     38        printMetadataItem(entryChild, "    ");
     39        entryChild = psListGetNext(metadataItemList);
     40    }
     41}
     42
     43static void printMetadataList(psList *metadataItemList)
     44{
     45    psMetadataItem *entryChild = NULL;
     46
     47    psListSetIterator(metadataItemList, PS_LIST_HEAD);
     48    entryChild = psListGetCurrent(metadataItemList);
     49    while (entryChild != NULL) {
     50        printMetadataItem(entryChild, " ");
     51        entryChild = psListGetNext(metadataItemList);
     52    }
     53}
     54static void printMetadataItem(psMetadataItem *metadataItem, char *spaces)
     55{
     56    printf("%sKey Name: %8s  ", spaces, metadataItem->name);
     57    printf("Key Type: %2d  ", metadataItem->type);
     58
     59    switch (metadataItem->type ) {
     60    case PS_META_ITEM_SET:
     61        printf("Key Value: %17c", ' ');
     62        break;
     63    case PS_META_BOOL:
     64        printf("Key Value: %15d  ", metadataItem->data.B);
     65        break;
     66    case PS_META_S32:
     67        printf("Key Value: %15d  ", metadataItem->data.S32);
     68        break;
     69    case PS_META_F32:
     70        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     71        break;
     72    case PS_META_F64:
     73        printf("Key Value: %15.3f  ", metadataItem->data.F64);
     74        break;
     75    case PS_META_STR:
     76        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
     77        break;
     78    case PS_META_IMG:
     79    case PS_META_JPEG:
     80    case PS_META_PNG:
     81    case PS_META_ASTROM:
     82    case PS_META_UNKNOWN:
     83        printf("Value: unknown ");
     84        break;
     85    default:
     86        printf("Bad type: %d ", metadataItem->type);
     87    }
     88    printf("Key Comment: %s\n", metadataItem->comment);
     89
     90    if(metadataItem->items->size) {
     91        printMetadataItemList(metadataItem->items);
     92    }
     93}
     94
     95static void printMetadataTable(psHash *mdTable)
     96{
     97    int i;
     98    psHashBucket* ptr = NULL;
     99    for(i=0; i<mdTable->nbucket; i++) {
     100        ptr = mdTable->buckets[i];
     101        while (ptr != NULL) {
     102            printMetadataItem(ptr->data, " ");
     103            ptr = ptr->next;
     104        }
     105    }
     106}
     107
    28108static void printMetadata(psMetadata *metadata)
    29109{
    30     psList *mdList = NULL;
    31     psHash *mdTable = NULL;
    32     psMetadataItem *entryChild = NULL;
    33 
    34     mdList = metadata->list;
    35     mdTable = metadata->table;
    36     if(mdList==NULL || mdTable==NULL) {
    37         printf("ERROR: Null collection metadata found\n");
    38     }
    39 
    40     psListSetIterator( mdList, PS_LIST_HEAD );
    41     entryChild = psListGetCurrent( mdList );
    42     while ( entryChild != NULL ) {
    43         printf("Key Name: %8s  ", entryChild->name);
    44         printf("Key Type: %2d  ", entryChild->type);
    45 
    46         switch (entryChild->type ) {
    47         case PS_META_BOOL:
    48             printf("Key Value: %15d  ", entryChild->data.B);
    49             break;
    50         case PS_META_S32:
    51             printf("Key Value: %15d  ", entryChild->data.S32);
    52             break;
    53         case PS_META_F32:
    54             printf("Key Value: %15.3f  ", entryChild->data.F32);
    55             break;
    56         case PS_META_F64:
    57             printf("Key Value: %15.3f  ", entryChild->data.F64);
    58             break;
    59         case PS_META_STR:
    60             printf("Key Value: %15s  ", (char*)entryChild->data.V);
    61             break;
    62         case PS_META_IMG:
    63         case PS_META_JPEG:
    64         case PS_META_PNG:
    65         case PS_META_ASTROM:
    66         case PS_META_UNKNOWN:
    67             printf("Value: unknown ");
    68             break;
    69         default:
    70             printf("Bad type: %d ", entryChild->type);
    71         }
    72         printf("Key Comment: %s\n", entryChild->comment);
    73 
    74         entryChild = psListGetNext( mdList);
    75     }
    76 }
    77 
    78 
    79 int main( int argc, char* argv[] )
     110    printf("Contents of metadata list:\n");
     111    printMetadataList(metadata->list);
     112    printf("\nContents of metadata table:\n");
     113    printMetadataTable(metadata->table);
     114}
     115
     116
     117int main(int argc, char* argv[])
    80118{
    81119    int status = 0;
     
    169207
    170208
    171     // Test D - Attempt to use null file descriptor
    172     printNegativeTestHeader(stdout,"psMetadata", "Test D - Attempt to use null file descriptor",
     209    // Test D - Remove items with same name from all metadata
     210    printPositiveTestHeader(stdout, "psMetadata", "Test D - Remove items with same name from all metadata");
     211    printf("Removed HISTORY from all metadata from prior test. Resulting metadata:\n\n");
     212    psMetadataRemove(metadata3, 0, "HISTORY");
     213    printMetadata(metadata3);
     214    printFooter(stdout, "psMetadata", "Test D - Remove items with same name from all metadata", true);
     215
     216
     217    // Test E - Attempt to use null file descriptor
     218    printNegativeTestHeader(stdout,"psMetadata", "Test E - Attempt to use null file descriptor",
    173219                            "Null FITS file descriptor not allowed", 0);
    174220    psMetadataFReadHeader(NULL, NULL, 1, NULL);
    175     printFooter(stdout, "psMetadata", "Test D - Attempt to use null file descriptor", true);
    176 
    177 
    178     // Test E - Attempt to use two null inputs
    179     printNegativeTestHeader(stdout,"psMetadata", "Test E - Attempt to use two null inputs",
     221    printFooter(stdout, "psMetadata", "Test E - Attempt to use null file descriptor", true);
     222
     223
     224    // Test F - Attempt to use two null inputs
     225    printNegativeTestHeader(stdout,"psMetadata", "Test F - Attempt to use two null inputs",
    180226                            "Null extName and extNum = 0 not allowed", 0);
    181227    psMetadataFReadHeader(NULL, NULL, 0, fptr);
    182     printFooter(stdout, "psMetadata", "Test E - Attempt to use two null inputs", true);
    183 
    184 
    185     // Test F - Attempt to use bad extNum
    186     printNegativeTestHeader(stdout,"psMetadata", "Test F - Attempt to use bad extNum",
     228    printFooter(stdout, "psMetadata", "Test F - Attempt to use two null inputs", true);
     229
     230
     231    // Test G - Attempt to use bad extNum
     232    printNegativeTestHeader(stdout,"psMetadata", "Test G - Attempt to use bad extNum",
    187233                            "FITS error while locating header 22: tried to move past end of file", 0);
    188234    psMetadataFReadHeader(metadata1, NULL, 22, fptr);
    189     printFooter(stdout, "psMetadata", "Test F - Attempt to use bad extNum", true);
    190 
    191 
    192     // Test G - Attempt to use bad extName
    193     printNegativeTestHeader(stdout,"psMetadata", "Test F - Attempt to use bad extName",
     235    printFooter(stdout, "psMetadata", "Test G - Attempt to use bad extNum", true);
     236
     237
     238    // Test H - Attempt to use bad extName
     239    printNegativeTestHeader(stdout,"psMetadata", "Test H - Attempt to use bad extName",
    194240                            "FITS error while locating header AARGH: illegal HDU number", 0);
    195241    psMetadataFReadHeader(metadata1, "AARGH", 0, fptr);
    196     printFooter(stdout, "psMetadata", "Test F - Attempt to use bad extName", true);
    197 
    198 
    199     // Test H - Free psMetadata
    200     printPositiveTestHeader(stdout, "psMetadata", "Test H - Free psMetadata");
     242    printFooter(stdout, "psMetadata", "Test H - Attempt to use bad extName", true);
     243
     244
     245    // Test I- Free psMetadata
     246    printPositiveTestHeader(stdout, "psMetadata", "Test I - Free psMetadata");
    201247    psFree(metadata1);
    202248    psFree(metadata2);
     
    208254        printf("ERROR: Found %d bad memory blocks\n", nBad);
    209255    }
    210     printFooter(stdout, "psMetadata", "Test H - Free psMetadata", true);
     256    printFooter(stdout, "psMetadata", "Test I - Free psMetadata", true);
    211257
    212258    return 0;
Note: See TracChangeset for help on using the changeset viewer.