summaryrefslogtreecommitdiffstats
path: root/src/usr/testcore/lib/stltest.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/testcore/lib/stltest.H')
-rw-r--r--src/usr/testcore/lib/stltest.H33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/usr/testcore/lib/stltest.H b/src/usr/testcore/lib/stltest.H
index f2bea98c5..ddd2bb46e 100644
--- a/src/usr/testcore/lib/stltest.H
+++ b/src/usr/testcore/lib/stltest.H
@@ -261,5 +261,38 @@ class STLTest : public CxxTest::TestSuite
}
}
+
+ void testVector()
+ {
+ std::vector<int> v;
+ v.reserve(100);
+
+ for(int i = 0; i < 100; ++i)
+ {
+ v.push_back(i);
+ }
+
+ std::vector<int>::iterator itr = v.begin();
+ std::advance(itr, 50);
+ if(*itr != 50)
+ {
+ TS_FAIL("Vector iterator not pointing at the right value. %d",*itr);
+ }
+
+ itr = v.erase(itr);
+ if(v.size() != 99)
+ {
+ TS_FAIL("Vector is not correct size after erase. %d",v.size());
+ }
+ if(*itr != 51)
+ {
+ TS_FAIL("Vector::erase did not erase the correct element. %d",*itr);
+ }
+ itr = v.erase(itr,v.end());
+ if(itr != v.end())
+ {
+ TS_FAIL("Vector erase to end not at end()");
+ }
+ }
};
#endif
OpenPOWER on IntegriCloud