X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7ee34f2be1e316d5af67178c13757c073d0fb33f..2e9abe9e35d43eee00d5c2078ac0e35d8afcf0b1:/tests/arrays/arrays.cpp?ds=inline diff --git a/tests/arrays/arrays.cpp b/tests/arrays/arrays.cpp index 8ebc8f964a..5ed8f5eee3 100644 --- a/tests/arrays/arrays.cpp +++ b/tests/arrays/arrays.cpp @@ -170,6 +170,7 @@ private: CPPUNIT_TEST( wxArrayCharTest ); CPPUNIT_TEST( TestSTL ); CPPUNIT_TEST( Alloc ); + CPPUNIT_TEST( Clear ); CPPUNIT_TEST( Swap ); CPPUNIT_TEST_SUITE_END(); @@ -183,6 +184,7 @@ private: void wxArrayCharTest(); void TestSTL(); void Alloc(); + void Clear(); void Swap(); DECLARE_NO_COPY_CLASS(ArraysTestCase) @@ -465,7 +467,7 @@ void ArraysTestCase::wxStringArraySplitJoinTest() CPPUNIT_ASSERT( wxSplit(string, _T(';')).empty() ); - CPPUNIT_ASSERT_EQUAL( (size_t)2, wxSplit(_T(";"), _T(';')).size() ); + CPPUNIT_ASSERT_EQUAL( 2, wxSplit(_T(";"), _T(';')).size() ); } void ArraysTestCase::wxObjArrayTest() @@ -478,7 +480,7 @@ void ArraysTestCase::wxObjArrayTest() CPPUNIT_ASSERT_EQUAL( 1, Bar::GetNumber() ); bars.Add(new Bar(_T("first bar in array"))); - bars.Add(bar,2); + bars.Add(bar, 2); CPPUNIT_ASSERT_EQUAL( 3, bars.GetCount() ); CPPUNIT_ASSERT_EQUAL( 4, Bar::GetNumber() ); @@ -548,15 +550,30 @@ void ArraysTestCase::Alloc() wxArrayInt a; a.Add(17); a.Add(9); - CPPUNIT_ASSERT_EQUAL( size_t(2), a.GetCount() ); + CPPUNIT_ASSERT_EQUAL( 2, a.GetCount() ); a.Alloc(1000); - CPPUNIT_ASSERT_EQUAL( size_t(2), a.GetCount() ); + CPPUNIT_ASSERT_EQUAL( 2, a.GetCount() ); CPPUNIT_ASSERT_EQUAL( 17, a[0] ); CPPUNIT_ASSERT_EQUAL( 9, a[1] ); } +void ArraysTestCase::Clear() +{ + ItemPtrArray items; + + WX_CLEAR_ARRAY(items); + CPPUNIT_ASSERT_EQUAL( 0, items.size() ); + + items.push_back(new Item(17)); + items.push_back(new Item(71)); + CPPUNIT_ASSERT_EQUAL( 2, items.size() ); + + WX_CLEAR_ARRAY(items); + CPPUNIT_ASSERT_EQUAL( 0, items.size() ); +} + namespace { @@ -591,8 +608,13 @@ void DoTestSwap(T v1, T v2, T v3, void ArraysTestCase::Swap() { DoTestSwap("Foo", "Bar", "Baz", (wxArrayString *)NULL); + + // VC6 can't compile this call with mysterious error about in DoTestSwap() +#ifndef __VISUALC6__ DoTestSwap(1, 10, 100, (wxArrayInt *)NULL); - DoTestSwap(6, 28, 496, (wxArrayLong *)NULL); +#endif + + DoTestSwap(6L, 28L, 496L, (wxArrayLong *)NULL); } void ArraysTestCase::TestSTL() @@ -607,7 +629,7 @@ void ArraysTestCase::TestSTL() list1.push_back(i); CPPUNIT_ASSERT( list1.capacity() >= (size_t)COUNT ); - CPPUNIT_ASSERT_EQUAL( (size_t)COUNT, list1.size() ); + CPPUNIT_ASSERT_EQUAL( COUNT, list1.size() ); for ( it = list1.begin(), en = list1.end(), i = 0; it != en; ++it, ++i )