/****************************************************
*
* Test program for the propaccumulator.
*
*
*
*
*    WANTED: Content.
*
*
*
* jul 13 2002 created  dan {who else?}
* DEC 14 2003 added search tests dan
*
*****************************************************/

#include <stdio.h>      //printf
#include "propaccumulator.h"


int main (void) { 
   
  CES_FIELD_TAG temp;
  CES_FIELD_TAG * tempr;
   
  printf("\e[0mcreating proplist\n");
  PropAccum PropList;
  
  printf("\e[0msetting owner = 1, index = 2, position = 50, type = 4  ");
  if (PropList.set(1l, 2l, 50, 4) != 0) {
    printf("\e[32m  success.\n");
  } else {
    printf("  \e[31mfailure.\n");
  }
  
  printf("\e[0mgetting values for owner = 1, index = 2 ");
  if (PropList.get(1, 2, &temp) != NULL) {
    printf("\e[32msuccess \n  \e[0mresult: owner = %ld, index = %ld, position = %lld, type = %d \n", 
       temp.getOwner(), temp.getIndex(), temp.getPosition(), temp.getType());
  } else {
    printf("  \e[31munsuccessfull.\n");
  }
  
  printf("\e[0mresetting values: owner = 1, index = 2, position = 20, type = 7  ");
  if (PropList.set(1, 2, 20, 7)) {
    printf("  \e[32msuccess.\n");
  } else {
    printf("  \e[31mfailure.\n");
  }
  
  printf("\e[0mgetting values for owner = 1, index = 2  ");
  if (PropList.get(1, 2, &temp) != NULL) {
    printf("  \e[32msuccess: \n  \e[0m  result: owner = %ld, index = %ld, position = %lld, type = %d \n", 
        temp.getOwner(), temp.getIndex(), temp.getPosition(), temp.getType());
  } else {
    printf("  \e[31munsuccessfull.\n");
  }

  printf ("\e[0mSearch Tests:\n");
  
  printf("\e[0msetting owner = 2, index = 2, position = 50, type = 3  ");
  if (PropList.set(2l, 2l, 50, 3) != 0) {
    printf("  \e[32msuccess.\n");
  } else {
    printf("  \e[31mfailure.\n");
  }
  
  printf("\e[0mSearching for owner 1 index 2  ");
  if ((tempr = PropList.find(1l, 2l )) != NULL) {
    printf("  \e[32msuccess: \n  \e[0m  result: owner = %ld, index = %ld, position = %lld, type = %d \n", 
        tempr->getOwner(), tempr->getIndex(), tempr->getPosition(), tempr->getType());
  } else {
    printf("  \e[31munsuccessfull.\n");
  }

  printf("\e[0mSearching for owner 2 index 2  ");
  if ((tempr = PropList.find(2l, 2l )) != NULL) {
    printf("  \e[32msuccess: \n  \e[0m  result: owner = %ld, index = %ld, position = %lld, type = %d \n", 
        tempr->getOwner(), tempr->getIndex(), tempr->getPosition(), tempr->getType());
  } else {
    printf(" \e[31m unsuccessfull.\n");
  }

  printf("\e[0mSearching for type 7  ");
  if ((tempr = PropList.locate(0l, 0l, 7  )) != NULL) {
    printf("  \e[32msuccess: \n  \e[0m result: owner = %ld, index = %ld, position = %lld, type = %d \n", 
        tempr->getOwner(), tempr->getIndex(), tempr->getPosition(), tempr->getType());
  } else {
    printf("  \e[31munsuccessfull.\n");
  }
  
  printf("\e[0mSearching for type 3  ");
  if ((tempr = PropList.locate(0l, 0l, 3  )) != NULL) {
    printf("  \e[32msuccess:\n  \e[0m   result: owner = %ld, index = %ld, position = %lld, type = %d \n", 
        tempr->getOwner(), tempr->getIndex(), tempr->getPosition(), tempr->getType());
  } else {
    printf("  \e[31munsuccessfull.\n");
  }



  printf("\e[0mdone tests.\n");
  

}




