// test.cpp // // Small test driver for our class list. #include using namespace std; #include "List.h" using namespace CS142; template void print(const list & ls) { ls.test_print(); // for (const T & e : ls) // cout << e << ' '; // cout << endl; } int main() { cout << "Testing push_back...\n"; list ls; ls.push_back(10); ls.push_back(20); cout << "10 20: "; print(ls); cout << "\nTesting back...\n"; cout << "20: " << ls.back() << endl; ls.back() = 25; cout << "10 25: "; print(ls); cout << "\nTesting constant back...\n"; const list ls2 = ls; cout << "25: " << ls2.back() << endl; // ls2.back() = 99; // should not compile cout << "\nTesting pop_back...\n"; ls.pop_back(); cout << "10: "; print(ls); ls.pop_back(); cout << ": "; print(ls); ls.push_back(37); cout << "37: "; print(ls); cout << "\nTest destructor? (y/n) "; char answer = cin.get(); cin.get(); // '\n' if (answer == 'y') { cout << "\nOpen Task Manager to watch memory usage.\n" << "Press 'Ctrl-C' to terminate the test.\n" << "Press 'Enter' now to begin testing.\n"; cin.get(); cout << "\nTesting...\n"; while (true) list ls; } return 0; }