示例#1
0
/**
 * conduct automated self test for this class
 *
 * @param
 * @return
 */
int _TestDeque::Test() {
  /* the old deque should have failed a bunch of these tests */
  int results=0;
  results+=OriginalTest();
  results+=OriginalFlaw();
  results+=AssignFlaw();
  results+=TestRemove();
  results+=TestPushFront();
  results+=TestEmpty();
  return results;
}
示例#2
0
int main()
{
  try {
    TestPushFront();
  }
  catch (...) {
    std::cout << "***TestPushFront revealed something bad in the List class" << std::endl;
  }

  try {
    TestPushBack();
  }
  catch (...) {
    std::cout << "***TestPushBack revealed something bad in the List class" << std::endl;
  }

  try {
    TestPushFrontBack();
  }
  catch (...) {
    std::cout << "***TestPushFrontBack revealed something bad in the List class" << std::endl;
  }

  try {
    TestPopFront();
  }
  catch (...) {
    std::cout << "***TestPopFront revealed something bad in the List class" << std::endl;
  }

  try {
    TestArray1();
  }
  catch (...) {
    std::cout << "***TestArray1 revealed something bad in the List class" << std::endl;
  }

  try {
    TestArray2();
  }
  catch (...) {
    std::cout << "***TestArray2 revealed something bad in the List class" << std::endl;
  }

  try {
    TestCopyConstructor1();
  }
  catch (...) {
    std::cout << "***TestCopyConstructor1 revealed something bad in the List class" << std::endl;
  }

  try {
    TestCopyConstructor2();
  }
  catch (...) {
    std::cout << "***TestCopyConstructor2 revealed something bad in the List class" << std::endl;
  }

  try {
    TestAssignment1();
  }
  catch (...) {
    std::cout << "***TestAssignment1 revealed something bad in the List class" << std::endl;
  }

  try {
    TestAssignment2();
  }
  catch (...) {
    std::cout << "***TestAssignment2 revealed something bad in the List class" << std::endl;
  }

  try {
    TestAddAssign1();
  }
  catch (...) {
    std::cout << "***TestAddAssign1 revealed something bad in the List class" << std::endl;
  }

  try {
    TestAddAssign2();
  }
  catch (...) {
    std::cout << "***TestAddAssign2 revealed something bad in the List class" << std::endl;
  }

  try {
    TestAddAssign3();
  }
  catch (...) {
    std::cout << "***TestAddAssign3 revealed something bad in the List class" << std::endl;
  }

  try {
    TestAddAssign4();
  }
  catch (...) {
    std::cout << "***TestAddAssign4 revealed something bad in the List class" << std::endl;
  }

  try {
    TestSubscript1();
  }
  catch (...) {
    std::cout << "***TestSubscript1 revealed something bad in the List class" << std::endl;
  }

  try {
    TestSubscript2();
  }
  catch (...) {
    std::cout << "***TestSubscript2 revealed something bad in the List class" << std::endl;
  }

  std::cout << "============================================\n";
  std::cout << "Total number of Lists created: ";
  std::cout << CS170::List::list_count();
  std::cout << std::endl;
  std::cout << "============================================\n";
  std::cout << std::endl;

  try {
    TestAddition1();
  }
  catch (...) {
    std::cout << "***TestAddition1 revealed something bad in the List class" << std::endl;
  }

  try {
    TestAddition2();
  }
  catch (...) {
    std::cout << "***TestAddition2 revealed something bad in the List class" << std::endl;
  }

  std::cout << "============================================\n";
  std::cout << "Total number of Lists created: ";
  std::cout << CS170::List::list_count();
  std::cout << std::endl;
  std::cout << "============================================\n";
  std::cout << std::endl;
  
  std::cout << "============================================\n";
  std::cout << "Total number of nodes alive: ";
  std::cout << CS170::List::node_count();
  std::cout << std::endl;
  std::cout << "============================================\n";
  std::cout << std::endl;

  return 0;
}