/** * push() tests */ void testPush() { IntVector v; v.insert(0, 0); v.push(5); assert(v.size() == 2); assert(v[0] == 0); assert(v[1] == 5); }
void testInsert(IntVector& test) { cout << "At pos 2, insert 0" << endl; test.insert(2, 0); testValues(test); cout << "At pos 5, insert 0" << endl; test.insert(5, 0); testValues(test); cout << "At pos 6, insert 0" << endl; test.insert(6, 0); testValues(test); cout << "At pos 0, insert 1" << endl; test.insert(0, 1); testValues(test); }
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); }
/** * insert() tests */ void testInsert() { // insert middle IntVector v; v.push(2); v.push(6); v.insert(1, 4); assert(v.size() == 3); assert(v[0] == 2); assert(v[1] == 4); assert(v[2] == 6); // insert beginning v.insert(0, 0); assert(v.size() == 4); assert(v[0] == 0); assert(v[1] == 2); assert(v[2] == 4); assert(v[3] == 6); // insert end v.insert(4, 8); assert(v.size() == 5); assert(v[0] == 0); assert(v[1] == 2); assert(v[2] == 4); assert(v[3] == 6); assert(v[4] == 8); // invalid index try { v.insert(10, 100); fprintf(stderr, "Allowed insertion at invalid index\n"); exit(1); } catch (OutOfBoundsException&) { // expected } }
int RateMeyerDiscrete::computePatternRates(DoubleVector &pattern_rates, IntVector &pattern_cat) { pattern_rates.insert(pattern_rates.begin(), begin(), end()); pattern_cat.insert(pattern_cat.begin(), ptn_cat, ptn_cat + size()); return ncategory; }