]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/lists/lists.cpp
don't use WPARAM in the header (build fix after r59336)
[wxWidgets.git] / tests / lists / lists.cpp
index 85eea4c98f7cb73895c4014b0e3918862019ebc7..907e87c70af0e636eadb1211aab0962c081aae0f 100644 (file)
@@ -84,40 +84,31 @@ void ListsTestCase::wxListTest()
 {
     wxListInt list1;
     int dummy[5];
-    int i;
+    size_t i;
 
-    for ( i = 0; i < 5; ++i )
+    for ( i = 0; i < WXSIZEOF(dummy); ++i )
         list1.Append(dummy + i);
 
-    CPPUNIT_ASSERT( list1.GetCount() == 5 );
-    CPPUNIT_ASSERT( list1.Item(3)->GetData() == dummy + 3 );
+    CPPUNIT_ASSERT_EQUAL( WXSIZEOF(dummy), list1.GetCount() );
+    CPPUNIT_ASSERT_EQUAL( dummy + 3, list1.Item(3)->GetData() );
     CPPUNIT_ASSERT( list1.Find(dummy + 4) );
 
-    wxListInt::compatibility_iterator node = list1.GetFirst();
-    i = 0;
-
-    while (node)
+    wxListInt::compatibility_iterator node;
+    for ( i = 0, node = list1.GetFirst(); node; ++i, node = node->GetNext() )
     {
-        CPPUNIT_ASSERT( node->GetData() == dummy + i );
-        node = node->GetNext();
-        ++i;
+        CPPUNIT_ASSERT_EQUAL( dummy + i, node->GetData() );
     }
 
-    CPPUNIT_ASSERT( size_t(i) == list1.GetCount() );
+    CPPUNIT_ASSERT_EQUAL( i, list1.GetCount() );
 
     list1.Insert(dummy + 0);
     list1.Insert(1, dummy + 1);
     list1.Insert(list1.GetFirst()->GetNext()->GetNext(), dummy + 2);
 
-    node = list1.GetFirst();
-    i = 0;
-
-    while (i < 3)
+    for ( i = 0, node = list1.GetFirst(); i < 3; ++i, node = node->GetNext() )
     {
         int* t = node->GetData();
-        CPPUNIT_ASSERT( t == dummy + i );
-        node = node->GetNext();
-        ++i;
+        CPPUNIT_ASSERT_EQUAL( dummy + i, t );
     }
 }
 
@@ -157,6 +148,30 @@ void ListsTestCase::wxStdListTest()
     {
         CPPUNIT_ASSERT( *it == i + &i );
     }
+
+    list1.clear();
+    CPPUNIT_ASSERT( list1.empty() );
+
+    list1.insert(list1.end(), (int *)1);
+    list1.insert(list1.end(), (int *)2);
+    CPPUNIT_ASSERT_EQUAL( (int *)1, list1.front() );
+    CPPUNIT_ASSERT_EQUAL( (int *)2, list1.back() );
+
+    it = list1.begin();
+    it = list1.erase(++it, list1.end());
+    CPPUNIT_ASSERT_EQUAL( 1, list1.size() );
+    CPPUNIT_ASSERT( it == list1.end() );
+
+    wxListInt list2;
+    list2.push_back((int *)3);
+    list2.push_back((int *)4);
+    list1.insert(list1.begin(), list2.begin(), list2.end());
+    CPPUNIT_ASSERT_EQUAL( 3, list1.size() );
+    CPPUNIT_ASSERT_EQUAL( (int *)3, list1.front() );
+
+    list1.insert(list1.end(), list2.begin(), list2.end());
+    CPPUNIT_ASSERT_EQUAL( 5, list1.size() );
+    CPPUNIT_ASSERT_EQUAL( (int *)4, list1.back() );
 }
 
 void ListsTestCase::wxListCtorTest()