void testIteration() { IntArray a; assert(a.begin() == a.end()); assert(a.rbegin() == a.rend()); a = IntArray(10000); for (int i = 0; i < 10000; i++) { a[i] = i; } int counter = 0; IntArray::iterator aIter; for (aIter = a.begin(); aIter != a.end(); ++aIter) { assert(*aIter == counter); ++counter; } for (IntArray::reverse_iterator aReverseIter = a.rbegin(); aReverseIter != a.rend(); ++aReverseIter) { --counter; --aIter; assert(*aReverseIter == counter); } assert(aIter == a.begin()); }