void VectorTest::testReserve() { static const size_type staticSize = 10; static const size_type maxSize = staticSize * 2; typedef Vector<int, staticSize> Vector_t; Vector_t mutableVector; TS_ASSERT_EQUALS(staticSize, mutableVector.capacity()); mutableVector.reserve(staticSize + 1); TS_ASSERT_EQUALS(staticSize + 1, mutableVector.capacity()); mutableVector.reserve(maxSize); TS_ASSERT_EQUALS(maxSize, mutableVector.capacity()); }
void VectorTest::testAddAndRead() { static const size_type staticSize = 10; static const int maxSize = static_cast<int>(staticSize * 2); typedef Vector<int, staticSize> Vector_t; Vector_t mutableVector; TS_ASSERT(mutableVector.empty()); TS_ASSERT_EQUALS(staticSize, mutableVector.capacity()); for (int i = 0; i < maxSize; ++i) { mutableVector.push_back(i); const Vector_t constVector = mutableVector; TS_ASSERT(! mutableVector.empty()); TS_ASSERT(! constVector.empty()); TS_ASSERT_EQUALS(0, mutableVector.front()); TS_ASSERT_EQUALS(i, mutableVector.back()); TS_ASSERT_EQUALS(0, constVector.front()); TS_ASSERT_EQUALS(i, constVector.back()); for (int j = 0; j <= i; ++j) { TS_ASSERT_EQUALS(j, mutableVector[j]); TS_ASSERT_EQUALS(j, constVector[j]); } int ix = 0; Vector_t::const_iterator ii = constVector.begin(); for (Vector_t::iterator jj = mutableVector.begin(); jj != mutableVector.end(); ++jj, ++ii) { TS_ASSERT_EQUALS(ix, *jj); TS_ASSERT_EQUALS(ix, *ii); ++ix; } } }