home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / database / db12 / itest.c < prev    next >
Encoding:
C/C++ Source or Header  |  1987-11-15  |  3.8 KB  |  135 lines

  1. /*
  2.  *      itest
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include "db.h"
  7.  
  8. main()
  9. {
  10.         DATA_SET ds;
  11.         char     data[50];
  12.         int      i,j;
  13.  
  14.         memset(data,' ',50);
  15.         printf("itest - Test ISAM file routines\n\n");
  16.         rcreate();
  17.         printf("...test file created...\n\n");
  18.  
  19.         ds = db_open("", "itest.dat");
  20.         if (db_error)
  21.         {       printf("Open Failure - %s\n", db_error_msg(db_error));
  22.                 exit(0);
  23.         }
  24.  
  25.         printf("...adding 100 records in reverse ...\n");
  26.         for (i=100; i>0; i--)
  27.         {       printf("%d\n",i);
  28.                 sprintf(data,"%05d",i);
  29.                 db_add(ds, data);
  30.                 if (db_error)
  31.                 {       printf("Add Failure - %s\n", db_error_msg(db_error));
  32.                         exit(0);
  33.                 }
  34.         }
  35.         printf("...add complete...\n\n");
  36.  
  37.     printf("...read forward...\n\n");
  38.         db_read_first(ds, data);
  39.         while (!db_error)
  40.         {       printf("%5s\n",data);
  41.                 db_read_next(ds, data);
  42.         }
  43.         if (db_error != DB_END_OF_FILE)
  44.         {       printf("Read Sequential - %s\n", db_error_msg(db_error));
  45.                 exit(0);
  46.         }
  47.     printf("...read forward complete...\n\n");
  48.  
  49.     printf("...read reverse...\n\n");
  50.     db_read_last(ds, data);
  51.         while (!db_error)
  52.         {       printf("%5s\n",data);
  53.         db_read_prev(ds, data);
  54.         }
  55.         if (db_error != DB_END_OF_FILE)
  56.         {       printf("Read Sequential - %s\n", db_error_msg(db_error));
  57.                 exit(0);
  58.         }
  59.     printf("...read reverse complete...\n\n");
  60.  
  61.         printf("...find and delete...\n");
  62.         for (i=1; i<101; i++)
  63.         {       printf("%d\n",i);
  64.                 sprintf(data,"%05d",i);
  65.  
  66.                 db_find(ds, data, data, 0);
  67.                 if (db_error)
  68.                 {       printf("Find Failure - %s\n", db_error_msg(db_error));
  69.                         exit(0);
  70.                 }
  71.                 db_delete(ds);
  72.                 if (db_error)
  73.                 {       printf("Delete Failure - %s\n", db_error_msg(db_error));
  74.                         exit(0);
  75.                 }
  76.  
  77. /*              for (j=i+1; j<101; j++)
  78.  *              {       sprintf(data,"%05d",j);
  79.  *                      db_find(ds, data, data, 0);
  80.  *                      printf("%d-%d\n",i,j);
  81.  *
  82.  *                      if (db_error)
  83.  *                      {       printf("Find Failure - %s\n", db_error_msg(db_error));
  84.  *                              exit(0);
  85.  *                      }
  86.  *              }
  87.  */
  88.         }
  89.         printf("...find and delete complete...\n\n");
  90.  
  91.         printf("...adding 100 records (again) ...\n");
  92.         for (i=1; i<100; i++)
  93.         {       printf("%d\n",i);
  94.                 sprintf(data,"%05d",i);
  95.                 db_add(ds, data);
  96.                 if (db_error)
  97.                 {       printf("Add Failure - %s\n", db_error_msg(db_error));
  98.                         exit(0);
  99.                 }
  100.         }
  101.         printf("...add complete...\n\n");
  102.  
  103.         db_close(ds);
  104.         unlink("itest.dat");
  105. }
  106.  
  107. /*
  108.  *      rcreate - create our test random file
  109.  */
  110.  
  111. rcreate()
  112. {
  113.         FILE_HDR fh;
  114.         DATA_SET ds;
  115.         char    *calloc();
  116.  
  117.         fh = (FILE_HDR) calloc(1, sizeof(struct db_file_hdr));
  118.  
  119.         fh->fh_file_type    = DB_INDEX;
  120.         fh->fh_data_size    =  50;
  121.         fh->fh_key_size     =   5;
  122.  
  123.         ds = db_create("", "itest.dat", fh);
  124.         if (db_error)
  125.         {       printf("Create Failure - %s\n", db_error_msg(db_error));
  126.                 exit(0);
  127.         }
  128.  
  129.         db_close(ds);
  130.         if (db_error)
  131.         {       printf("Close Failure - %s\n", db_error_msg(db_error));
  132.                 exit(0);
  133.         }
  134. }
  135.