/* Test program for grapper.c */
#include <stdio.h>
#include "grapper.h"
#include "bitmap_24bitRGB.h"


void testBitmap() {
  Bitmap_24bitRGB *bitmap = NULL;
  bitmap = create(640, 480);
  if( bitmap == NULL ) {
    printf("create bitmap failed\n");
    exit(0);
  }
  printf("create bitmap success\n");
  if( !writeToFile(bitmap, "bitmap.bmp") ) {
    printf("write to fail failed\n");
    exit(0);
  }
  printf("overall success\n");
}

void testGrapping() {
  Bitmap_24bitRGB *bitmap = NULL;
  

  printf("Grapper test\n");
 
  printf("grapperInit ... "); fflush(stdout);
  if(grapperInit()) 
    printf("ok!\n");
  else {
    printf("problems!\n");
    exit(0);
  }
  
  printf("grapperCapture ... "); fflush(stdout);
  if(grapperCapture()) 
    printf("ok!\n");
  else {
    printf("problems!\n");
    exit(0);
  }
  

  printf("grapperSync ... "); fflush(stdout);
  if(grapperSync()) 
    printf("ok!\n");
  else {
    printf("problems!\n");
    exit(0);
  }

  printf("create bitmap ... "); fflush(stdout);
  bitmap = create(640, 480);
  if(bitmap != NULL) 
    printf("ok!\n");
  else {
    printf("problems!\n");
    exit(0);
  }

  
  printf("grapperCapture ... "); fflush(stdout);
  if(grapperCapture()) 
    printf("ok!\n");
  else {
    printf("problems!\n");
    exit(0);
  }
  

  printf("grapperSync ... "); fflush(stdout);
  if(grapperSync()) 
    printf("ok!\n");
  else {
    printf("problems!\n");
    exit(0);
  }

  printf("copy grap to bitmap ... "); fflush(stdout);
  if( copyGrapToBitmap(bitmap) ) 
    printf("ok!\n");
  else {
    printf("problems!\n");
    exit(0);
  }


  printf("write bitmap to file ... "); fflush(stdout);
  if( writeToFile(bitmap, "bitmap.bmp") ) 
    printf("ok!\n");
  else {
    printf("problems!\n");
    exit(0);
  }
  
  printf("grapperRelease ... "); fflush(stdout);
  grapperRelease();
  printf("ok!\n");
}

void main() {
  
  //  testBitmap();
  testGrapping();
}
