Beispiel #1
0
bool batch_test(int test)
{
  size_t size = 1402;
  size_t capacity = 45500;
  string * buf = new string[size];
  ifstream in("sorted_short.txt");
  for(size_t i = 0; i != size; ++i) in >> buf[i];
  in.close();

  // array insert
  if(test == 46)
  {
    SortedList * list = new SortedArrayList;
    list->batch(&SortedList::insert, string("random_short.txt"));
    SortedArrayList * p = static_cast<SortedArrayList *>(list);
    for(size_t i = 0; i != size; ++i) if((*p)[i] != buf[i]) return false;
  }
  // array remove
  else if(test == 47)
  {
    SortedList * list = new SortedArrayList;
    list->batch(&SortedList::remove, string("random_short.txt"));
    SortedArrayList * p = static_cast<SortedArrayList *>(list);
    if(p->size_cassej() != 0) return false;
  }
  // linked-list insert
  else if(test == 48)
  {
    SortedList * list = new SortedLinkedList;
    list->batch(&SortedList::insert, string("random_short.txt"));
    SortedLinkedList * p = static_cast<SortedLinkedList *>(list);
    for(size_t i = 0; i != size; ++i) if((*p)[i] != buf[i]) return false;
  }
  // linked-list remove
  else if(test == 49)
  {
    SortedList * list = new SortedLinkedList;
    list->batch(&SortedList::remove, string("random_short.txt"));
    SortedLinkedList * p = static_cast<SortedLinkedList *>(list);
    if(p->size_cassej() != 0) return false;
  }
  else exit(1);
  return true;
}