void intermediateReqTests(IntVector& intVector) { assert(intVector.empty()); intVector.push_back(5); assert(intVector.count(5) == 1); intVector.insert(5, 0); intVector.insert(5, 2); assert(intVector.count(5) == 3); intVector.remove(0); assert(intVector.count(5) == 2); intVector.remove(1); assert(intVector.count(5) == 1); intVector.remove(0); }
/** * remove() tests */ void testRemove() { IntVector v; v.push(1); v.push(2); v.push(3); v.push(4); v.push(5); // middle int i = v.remove(2); assert(i == 3); assert(v.size() == 4); assert(v[0] == 1); assert(v[1] == 2); assert(v[2] == 4); assert(v[3] == 5); // beginning i = v.remove(0); assert(i == 1); assert(v.size() == 3); assert(v[0] == 2); assert(v[1] == 4); assert(v[2] == 5); // end i = v.remove(2); assert(i == 5); assert(v.size() == 2); assert(v[0] == 2); assert(v[1] == 4); // bad index try { i = v.remove(10); fprintf(stderr, "Allowed removal of non-existent index.\n"); exit(1); } catch (OutOfBoundsException&) { // expected } }
int main() { IntVector vec; while(true) { string cmd; cin >> cmd; if(cmd == "add") { int elem; cin >> elem; vec.push_back(elem); } if(cmd == "remove") { int index; cin >> index; vec.remove(index); }