|
|
@@ -0,0 +1,30 @@
|
|
|
+
|
|
|
+#pragma once
|
|
|
+
|
|
|
+#include <cxxtest/TestSuite.h>
|
|
|
+
|
|
|
+#include "intrusive_list.hpp"
|
|
|
+
|
|
|
+class element_stub {
|
|
|
+public:
|
|
|
+ element_stub()
|
|
|
+ : node1( this ) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ intrusive_node<element_stub> node1;
|
|
|
+};
|
|
|
+
|
|
|
+class intrusive_list_TestSuite : public CxxTest::TestSuite {
|
|
|
+public:
|
|
|
+ void test_erases_on_destruction() {
|
|
|
+ intrusive_list<element_stub> list { &element_stub::node1 };
|
|
|
+ TS_ASSERT( list.empty() );
|
|
|
+ {
|
|
|
+ element_stub stub;
|
|
|
+ list.push_back( & stub );
|
|
|
+ TS_ASSERT_EQUALS( list.size(), 1 );
|
|
|
+ }
|
|
|
+ TS_ASSERT( list.empty() );
|
|
|
+ }
|
|
|
+};
|