intrusive_list.t.h 546 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <cxxtest/TestSuite.h>
  3. #include "intrusive_list.hpp"
  4. class element_stub {
  5. public:
  6. element_stub()
  7. : node1( this ) {
  8. }
  9. intrusive_node<element_stub> node1;
  10. };
  11. class intrusive_list_TestSuite : public CxxTest::TestSuite {
  12. public:
  13. void test_erases_on_destruction() {
  14. intrusive_list<element_stub> list { &element_stub::node1 };
  15. TS_ASSERT( list.empty() );
  16. {
  17. element_stub stub;
  18. list.push_back( & stub );
  19. TS_ASSERT_EQUALS( list.size(), 1 );
  20. }
  21. TS_ASSERT( list.empty() );
  22. }
  23. };