/**************************************************************** * Engr 4892 Assignment 3 * Test Code * * Daniel Mastropietro 11.06.2001 * * Version 2.0 * *****************************************************************/ #include #include "dlist.h" #include "assign3.h"//your header file should be named assign3.h using namespace std; int main() { int i; char pause; cout <<"Welcome to my test code - Engr 4892\n" <<" Assignment 3\n\n" <<"Test 1: operator[]\n"; //---- List intList1; for (i=1; i < 10 ;i++) { intList1.push_back(i); } cout <<" Testing value of element 0....................." <<(intList1[0] == 1 ? "PASS\n" : "FAIL****\n"); cout <<" Testing value of element in middle............." <<(intList1[4] == 5 ? "PASS\n" : "FAIL****\n"); cout <<" Testing value at end..........................." <<(intList1[8] == 9 ? "PASS\n" : "FAIL****\n"); cout <<" Testing value out of bounds...................."; intList1[10]; cout <<(intList1.getStatus() == 2 ? "PASS\n" : "FAIL****\n"); cout <<"\nPress Enter to Continue"; cin.get(pause); //----* //----* List intList2; int toInsert = 42; cout <<"\nTest 2: insert(const T& x, int i)\n" <<" Empty List - insert at position 1..............." <<(intList2.insert(toInsert, 1) == 2 ? "PASS\n" : "FAIL****\n"); cout <<" > List unchanged................" <<(intList2.empty() ? "PASS\n" : "FAIL****\n"); cout <<" - insert at position 0..............." <<(intList2.insert(toInsert,0) == 0 ? "PASS\n" : "FAIL****\n"); cout <<" > correct value at 0............" <<(intList2[0] == 42 ? "PASS\n" : "FAIL****\n"); cout <<" > correct size.................." <<(intList2.size() == 1 ? "PASS\n" : "FAIL****\n"); intList2.pop_front(); for (i=1; i < 10 ;i++) { intList2.push_back(i); } //---- cout <<" Non-Empty List - insert at position 0..........." <<(intList2.insert(toInsert, 0) == 0 ? "PASS\n" : "FAIL****\n"); cout <<" > correct value at 0........" <<(intList2.front() == 42 ? "PASS\n" : "FAIL****\n"); cout <<" > rest of List intact......."; for (i=1; i < 10 ;i++) { intList2[i] == i ? i = i : i = 21; } cout <<(i == 21 ? "FAIL****\n" : "PASS\n"); cout <<" > correct size.............." <<(intList2.size() == 10 ? "PASS\n" : "FAIL****\n"); //---- intList2.pop_front(); cout <<" - insert at position size()-1...." <<(intList2.insert(toInsert, 8) == 0 ? "PASS\n" : "FAIL****\n"); cout <<" > correct value at size()-1." <<(intList2[8] == 42 ? "PASS\n" : "FAIL****\n"); cout <<" > rest of List intact......."; for (i=1; i < 9 ;i++) { intList2[i-1] == i ? i = i : i = 21; } (intList2[8]==42 && intList2[9]==9) ? i = i : i = 21 ; cout <<(i == 21 ? "FAIL****\n" : "PASS\n"); cout <<" > correct size.............." <<(intList2.size() == 10 ? "PASS\n" : "FAIL****\n"); //---- intList2.pop_back(); intList2.pop_back(); intList2.push_back(9); cout <<" - insert at position size()......" <<(intList2.insert(toInsert, 9) == 0 ? "PASS\n" : "FAIL****\n"); cout <<" > correct value at size()..." <<(intList2[9] == 42 ? "PASS\n" : "FAIL****\n"); cout <<" > rest of List intact......."; for (i=1; i < 10 ;i++) { intList2[i-1] == i ? i = i : i = 21; } intList2[9]==42 ? i = i : i = 21 ; cout <<(i == 21 ? "FAIL****\n" : "PASS\n"); cout <<" > correct size.............." <<(intList2.size() == 10 ? "PASS\n" : "FAIL****\n"); //---- intList2.pop_back(); cout <<" - insert out of bounds..........." <<(intList2.insert(toInsert, 99) == 2 ? "PASS\n" : "FAIL****\n"); cout <<" > rest of List intact......."; for (i=1; i < 10 ;i++) { intList2[i-1] == i ? i = i : i = 21; } cout <<(i == 21 ? "FAIL****\n" : "PASS\n"); cout <<" > correct size.............." <<(intList2.size() == 9 ? "PASS\n" : "FAIL****\n"); cout <<"\nPress Enter to Continue"; cin.get(pause); //----* //----* List intList3; cout <<"Test 3: remove(int i)\n" <<" Empty List - remove element 0............" <<(intList3.remove(0) == 2 ? "PASS\n" : "FAIL****\n"); //---- intList3.push_front(toInsert); cout <<" List of One Element\n" <<" removing element 0..............." <<(intList3.remove(0) == 0 ? "PASS\n" : "FAIL****\n"); cout <<" list empty......................." <<(intList3.empty() ? "PASS\n" : "FAIL****\n"); //---- List intList4; for (i=1; i < 10 ;i++) { intList4.push_back(i); } cout <<" List of Many Elements\n" <<" remove element 0................." <<(intList4.remove(0) == 0 ? "PASS\n" : "FAIL****\n"); cout <<" rest of list intact..........."; for (i=2; i < 10 ;i++) { intList4[i-2] == i ? i = i : i = 21; } cout <<(i == 21 ? "FAIL****\n" : "PASS\n"); intList4.push_front(1); //---- cout <<" remove last element.............." <<(intList4.remove(8) == 0 ? "PASS\n" : "FAIL****\n"); cout <<" rest of list intact..........."; for (i=1; i < 9 ;i++) { intList4[i-1] == i ? i = i : i = 21; } cout <<(i == 21 ? "FAIL****\n" : "PASS\n"); intList4.push_back(9); //---- cout <<" remove element in middle........." <<(intList4.remove(7) == 0 ? "PASS\n" : "FAIL****\n"); cout <<" rest of list intact..........."; for (i=1; i < 7 ;i++) { intList4[i-1] == i ? i = i : i = 21; } (intList4[7] == 9 ? i = i : i = 21 ); cout <<(i == 21 ? "FAIL****\n" : "PASS\n"); intList4.push_back(9); //---- cout <<" remove element out of bounds....." <<(intList4.remove(42) == 2 ? "PASS\n" : "FAIL****\n"); cout <<"\n\n"; return 0; }