IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 3, 2004, 1:19:07 PM (22 years ago)
Author:
harman
Message:

Updates for version 10 of SDRS

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/test/collections/tst_psMetadata_05.c

    r2527 r2607  
    2222*  @author  Ross Harman, MHPCC
    2323*
    24 *  @version $Revision: 1.12 $  $Name: not supported by cvs2svn $
    25 *  @date  $Date: 2004-11-30 01:16:43 $
     24*  @version $Revision: 1.13 $  $Name: not supported by cvs2svn $
     25*  @date  $Date: 2004-12-03 23:19:07 $
    2626*
    2727*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    3333#include <string.h>
    3434
    35 static void printMetadataItem(psMetadataItem *item)
     35static void printMetadataItem(psMetadataItem *metadataItem)
    3636{
    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", ' ');
    4344        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        }
    5262        break;
    5363    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);
    6265        break;
    6366    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);
    6770}
    6871
     
    7073psS32 main( psS32 argc, char* argv[] )
    7174{
    72     psS64 data;
    73     psF32 fpdata;
    7475    psMetadataItem *item1 = NULL;
    7576    psMetadataItem *item2 = NULL;
     
    8081    psMetadataItem *item7 = NULL;
    8182    psMetadataItem *item8 = NULL;
    82     psMetadataItem *item = NULL;
    8383    psMetadata *metadata = NULL;
    8484    FILE *fd = NULL;
    85     char str[7];
    86     psList* tmpList = NULL;
    8785
    8886    // Test A - Allocate metadata and items
    8987    printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
    9088    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");
    9997    printMetadataItem(item1);
    10098    printMetadataItem(item2);
     
    107105    printFooter(stdout, "psMetadata", "Test A - Allocate metadata items", true);
    108106
    109 
    110     // Test B - Set iterator at second index
    111     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 index
    120     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 string
    131     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 index
    142     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    */
    163161    // Test F - Write metadata item to file
    164162    printPositiveTestHeader(stdout, "psMetadata", "Test F - Write metadata item to file");
     
    167165        printf("ERROR: Couldn't open file for writing\n");
    168166    }
    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);
    176173    fclose(fd);
    177174    fd = fopen("./tst_psMetadata05_OUT", "r");
     
    179176        printf("ERROR: Couldn't open file for reading\n");
    180177    }
    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
    201210    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    */
    245255    // Test J - Attempt to use null file with itemPrint
    246256    printNegativeTestHeader(stdout,"psMetadata", "Test J - Attempt to use null file with itemPrint",
Note: See TracChangeset for help on using the changeset viewer.