From 4e57034053aa0c73313f806c7b544e43c794394d Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Tue, 21 Aug 2007 15:51:52 +0000 Subject: [PATCH] more wxVector tests git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- tests/vectors/vectors.cpp | 80 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 77 insertions(+), 3 deletions(-) diff --git a/tests/vectors/vectors.cpp b/tests/vectors/vectors.cpp index 8d17541c55..ad49527a94 100644 --- a/tests/vectors/vectors.cpp +++ b/tests/vectors/vectors.cpp @@ -34,11 +34,15 @@ public: private: CPPUNIT_TEST_SUITE( VectorsTestCase ); - CPPUNIT_TEST( PushTest ); + CPPUNIT_TEST( PushPopTest ); + CPPUNIT_TEST( Insert ); + CPPUNIT_TEST( Erase ); CPPUNIT_TEST( Iterators ); CPPUNIT_TEST_SUITE_END(); - void PushTest(); + void PushPopTest(); + void Insert(); + void Erase(); void Iterators(); DECLARE_NO_COPY_CLASS(VectorsTestCase) @@ -50,7 +54,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( VectorsTestCase ); // also include in it's own registry so that these tests can be run alone CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( VectorsTestCase, "VectorsTestCase" ); -void VectorsTestCase::PushTest() +void VectorsTestCase::PushPopTest() { wxVector v; @@ -65,6 +69,76 @@ void VectorsTestCase::PushTest() CPPUNIT_ASSERT( v[0] == 1 ); CPPUNIT_ASSERT( v[1] == 2 ); CPPUNIT_ASSERT( v[2] == 42 ); + + v.pop_back(); + CPPUNIT_ASSERT( v.size() == 2 ); + CPPUNIT_ASSERT( v[0] == 1 ); + CPPUNIT_ASSERT( v[1] == 2 ); + + v.pop_back(); + CPPUNIT_ASSERT( v.size() == 1 ); + CPPUNIT_ASSERT( v[0] == 1 ); + + v.pop_back(); + CPPUNIT_ASSERT( v.size() == 0 ); + CPPUNIT_ASSERT( v.empty() ); + + wxVector vEmpty; +} + +void VectorsTestCase::Insert() +{ + wxVector v; + + v.insert(v.end(), 'a'); + CPPUNIT_ASSERT( v.size() == 1 ); + CPPUNIT_ASSERT( v[0] == 'a' ); + + v.insert(v.end(), 'b'); + CPPUNIT_ASSERT( v.size() == 2 ); + CPPUNIT_ASSERT( v[0] == 'a' ); + CPPUNIT_ASSERT( v[1] == 'b' ); + + v.insert(v.begin(), '0'); + CPPUNIT_ASSERT( v.size() == 3 ); + CPPUNIT_ASSERT( v[0] == '0' ); + CPPUNIT_ASSERT( v[1] == 'a' ); + CPPUNIT_ASSERT( v[2] == 'b' ); + + v.insert(v.begin() + 2, 'X'); + CPPUNIT_ASSERT( v.size() == 4 ); + CPPUNIT_ASSERT( v[0] == '0' ); + CPPUNIT_ASSERT( v[1] == 'a' ); + CPPUNIT_ASSERT( v[2] == 'X' ); + CPPUNIT_ASSERT( v[3] == 'b' ); +} + +void VectorsTestCase::Erase() +{ + wxVector v; + + v.push_back(1); + v.push_back(2); + v.push_back(3); + v.push_back(4); + CPPUNIT_ASSERT( v.size() == 4 ); + + v.erase(v.begin(), v.end()-1); + CPPUNIT_ASSERT( v.size() == 1 ); + CPPUNIT_ASSERT( v[0] == 4 ); + + v.clear(); + v.push_back(1); + v.push_back(2); + v.push_back(3); + v.push_back(4); + CPPUNIT_ASSERT( v.size() == 4 ); + + v.erase(v.begin()); + CPPUNIT_ASSERT( v.size() == 3 ); + CPPUNIT_ASSERT( v[0] == 2 ); + CPPUNIT_ASSERT( v[1] == 3 ); + CPPUNIT_ASSERT( v[2] == 4 ); } void VectorsTestCase::Iterators() -- 2.45.2