aboutsummaryrefslogtreecommitdiff
path: root/test/common/list.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/common/list.h')
-rw-r--r--test/common/list.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/test/common/list.h b/test/common/list.h
index b52a9c0f21..f5a02af159 100644
--- a/test/common/list.h
+++ b/test/common/list.h
@@ -16,4 +16,76 @@ class ListTestSuite : public CxxTest::TestSuite
list.clear();
TS_ASSERT( list.isEmpty() );
}
+
+ void test_iterator( void )
+ {
+ Common::List<int> list;
+ Common::List<int>::iterator iter;
+
+ // Fill the list with some random data
+ list.push_back(17);
+ list.push_back(33);
+ list.push_back(-11);
+
+ // Iterate over the list and verify that we encounter the elements in
+ // the order we expect them to be.
+
+ iter = list.begin();
+
+ TS_ASSERT( *iter == 17 );
+ ++iter;
+ TS_ASSERT( iter != list.end() );
+
+ TS_ASSERT( *iter == 33 );
+ ++iter;
+ TS_ASSERT( iter != list.end() );
+
+ // Also test the postinc
+ TS_ASSERT( *iter == -11 );
+ iter++;
+ TS_ASSERT( iter == list.end() );
+ }
+
+
+ void test_insert( void )
+ {
+ Common::List<int> list;
+ Common::List<int>::iterator iter;
+
+ // Fill the list with some random data
+ list.push_back(17);
+ list.push_back(33);
+ list.push_back(-11);
+
+ // Iterate to after the second element
+ iter = list.begin();
+ ++iter;
+ ++iter;
+
+ // Now insert some values here
+ list.insert(iter, 42);
+ list.insert(iter, 43);
+
+ iter = list.begin();
+
+ TS_ASSERT( *iter == 17 );
+ ++iter;
+ TS_ASSERT( iter != list.end() );
+
+ TS_ASSERT( *iter == 33 );
+ ++iter;
+ TS_ASSERT( iter != list.end() );
+
+ TS_ASSERT( *iter == 42 );
+ ++iter;
+ TS_ASSERT( iter != list.end() );
+
+ TS_ASSERT( *iter == 43 );
+ ++iter;
+ TS_ASSERT( iter != list.end() );
+
+ TS_ASSERT( *iter == -11 );
+ ++iter;
+ TS_ASSERT( iter == list.end() );
+ }
};