/****************************************************
*
* Test program for the prop filter.
*
*  implements: 
*       PropFilter ( of course )
*       PropAccumulator  
*       
*   
*
*   
*
*
*
* created Apr 13 2002, dan {who else?}
*
*
*****************************************************/

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


int main (void) { 
   
  CES_FIELD_TAG temp;
  char  LineBuff[30];
  char  PropBuff[30];
 
  printf("creating proplist\n");
  PropAccum  PropList;
  printf("creating propfilter\n");
  
  PropFilter propfil;
  propfil.SetStyle ((int)'^'); // for debugging

  // preload LineBuff
  //memcpy ( "0123456789012345678901234\06789", LineBuff, 28); 
  snprintf( LineBuff, 28, "0123456789012345678901234\06789");
  // preload PropBuff
  //memcpy ( "                         \0    ", PropBuff, 28);
  snprintf( PropBuff, 28, "                         \0    ");

  printf ("origional Linebuff is %s\n", LineBuff );
  printf ("origional Propbuff is %s\n", PropBuff );

  // set filter source

  printf (" setting source data\n");
  propfil.SetSource( &PropList );  
  
  // set cursor position
  printf("setting owner = 1, index = 2, position = 8, type = 4\n");
  if (PropList.set(0l, 0l, 8, 4) != 0) {
    printf("success.\n");
  } else {
    printf("failure.\n");
  }
    
  // colourize  
  printf (" calling colourize\n");
  propfil.Colourize( LineBuff, PropBuff, 28, 0 );

  // print results
  printf ("Linebuff is %s\n", LineBuff);
  printf ("Propbuff is %s\n", PropBuff);

  // reset propbuff 
  // memcpy ( "                         \0    ", PropBuff, 28);
  snprintf(PropBuff, 28, "                         \0    ");

  // reset cursor position
  printf("setting owner = 1, index = 2, position = 3, type = 4\n");
  if (PropList.set(0l, 0l, 3, 4) != 0) {
    printf("success.\n");
  } else {
    printf("failure.\n");
  }
  

  //colourize
  printf (" calling colourize\n");
  propfil.Colourize( LineBuff, PropBuff, 28, 0 );

  // print results
  printf ("Linebuff is %s\n", LineBuff);
  printf ("Propbuff is %s\n", PropBuff);

  
  printf("done tests.\n");
  

}




