// test.cpp // // Test driver for vector. #include using std::cin; using std::cout; using std::endl; #include "Vector.h" using namespace CS142; template void display( const vector & v ) { cout << "[ "; for (const T & x : v) cout << x << ' '; cout << "]\n"; } int main() { cout << "Testing constructor(int), size, operator[], begin, end...\n"; vector v(5); cout << "[ 0 0 0 0 0 ] = "; display(v); cout << "5 = " << v.size() << endl; for (int i = 0; i < v.size(); ++i) v[i] = 10*i; cout << "[ 0 10 20 30 40 ] = "; display(v); vector v2(0); cout << "[ ] = "; display(v2); // v2 = 5; // display(v2); cout << "\nTesting default constructor...\n"; vector v3; cout << "[ ] = "; display(v3); cout << "\nTesting init list constructor...\n"; vector v5 = {6, 7, 8}; cout << "[ 6 7 8 ] = "; display(v5); cout << "\nTesting insert...\n"; auto itr = v3.insert(v3.end(), 37); cout << "[ 37 ] = "; display(v3); cout << *itr << '\n'; itr = v3.insert(v3.end(), 43); cout << "[ 37 43 ] = "; display(v3); cout << *itr << '\n'; itr = v3.insert(v3.begin(), 20); cout << "[ 20 37 43 ] = "; display(v3); cout << *itr << '\n'; itr = v3.insert(v3.begin() + 1, 25); cout << "[ 20 25 37 43 ] = "; display(v3); cout << *itr << '\n'; itr = v3.insert(v3.begin() + 2, 31); cout << "[ 20 25 31 37 43 ] = "; display(v3); cout << *itr << '\n'; itr = v3.insert(v3.begin() + 1, 23); cout << "[ 20 23 25 31 37 43 ] = "; display(v3); cout << *itr << '\n'; cout << "\nTesting erase...\n"; vector v6 = {6, 7, 8}; cout << "[ 6 7 8 ] = "; display(v6); itr = v6.erase(v6.begin() + 1); cout << "[ 6 8 ] = "; display(v6); cout << *itr << '\n'; itr = v6.erase(v6.begin() + 1); cout << "[ 6 ] = "; display(v6); if (itr != v6.end()) cout << "ERROR!\n"; itr = v6.erase(v6.begin()); cout << "[ ] = "; display(v6); if (itr != v6.end()) cout << "ERROR!\n"; v6.insert(v6.end(), 9); cout << "[ 9 ] = "; display(v6); return 0; }