Browse Source

Adding basic test case for intrusive_list

Samuel Jaffe 9 years ago
parent
commit
40ad12d102
1 changed files with 30 additions and 0 deletions
  1. 30 0
      intrusive_list.t.h

+ 30 - 0
intrusive_list.t.h

@@ -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() );
+  }
+};