libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
intrusive.cpp File Reference
#include "stdafx.h"
#include <boost/test/included/unit_test.hpp>
#include "core/intrusive.hpp"
Include dependency graph for intrusive.cpp:

Go to the source code of this file.

Classes

struct  data< LT >
 

Macros

#define BOOST_TEST_MODULE   libjmmcg_tests
 

Typedefs

typedef boost::mpl::list< sequential_mode, heavyweight_threading > thread_types
 

Functions

 BOOST_AUTO_TEST_CASE_TEMPLATE (default_ctor, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_one_item, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_and_pop_one_item, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_two_items, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_two_items_pop_one1, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_two_items_pop_one2, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_two_items_pop_two, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_three_items_pop_three, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (empty_begin_is_end, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (one_item_begin_is_not_end, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (one_item_begin_is_first, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (one_item_next_is_end, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (erase_item_size_one, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (erase_item_size_two, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_back_one_item, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_back_and_pop_front_one_item, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_back_two_items, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_back_two_items_pop_one1, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_back_two_items_pop_one2, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_back_two_items_pop_two, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_back_three_items_pop_three, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_front_one_item, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_and_pop_front_one_item, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_front_two_items, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_front_and_back_one_item, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_front_two_items_pop_one1, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_front_two_items_pop_one2, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_front_two_items_pop_two, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (push_front_three_items_pop_three, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (mixed_push_pop_three_items1, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (find_item_size_one, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (not_find_wrong_item_size_one, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (not_find_item_popped_size_one, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (not_find_item_popped_size_two, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (find_item_size_two, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (erase_item_size_two1, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (erase_item_size_two2, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (find_erase_middle_three_items, Mdl, thread_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (check_iterator_walks_through_list, Mdl, thread_types)
 

Macro Definition Documentation

◆ BOOST_TEST_MODULE

#define BOOST_TEST_MODULE   libjmmcg_tests

Definition at line 21 of file intrusive.cpp.

Typedef Documentation

◆ thread_types

typedef boost::mpl::list< ppd::heavyweight_threading, ppd::sequential_mode > thread_types

Definition at line 32 of file intrusive.cpp.

Function Documentation

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [1/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( check_iterator_walks_through_list  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [2/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( default_ctor  ,
Mdl  ,
thread_types   
)
Test:
Tests for the thread-as-a-class model.

Definition at line 59 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [3/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( empty_begin_is_end  ,
Mdl  ,
thread_types   
)

Definition at line 258 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [4/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( erase_item_size_one  ,
Mdl  ,
thread_types   
)

Definition at line 301 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [5/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( erase_item_size_two  ,
Mdl  ,
thread_types   
)

Definition at line 313 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [6/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( erase_item_size_two1  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [7/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( erase_item_size_two2  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [8/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( find_erase_middle_three_items  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [9/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( find_item_size_one  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [10/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( find_item_size_two  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [11/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( mixed_push_pop_three_items1  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [12/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( not_find_item_popped_size_one  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [13/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( not_find_item_popped_size_two  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [14/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( not_find_wrong_item_size_one  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [15/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( one_item_begin_is_first  ,
Mdl  ,
thread_types   
)

Definition at line 278 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [16/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( one_item_begin_is_not_end  ,
Mdl  ,
thread_types   
)

Definition at line 267 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [17/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( one_item_next_is_end  ,
Mdl  ,
thread_types   
)

Definition at line 288 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [18/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_and_pop_front_one_item  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [19/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_and_pop_one_item  ,
Mdl  ,
thread_types   
)

Definition at line 81 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [20/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_back_and_pop_front_one_item  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [21/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_back_one_item  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [22/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_back_three_items_pop_three  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [23/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_back_two_items  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [24/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_back_two_items_pop_one1  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [25/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_back_two_items_pop_one2  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [26/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_back_two_items_pop_two  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [27/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_front_and_back_one_item  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [28/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_front_one_item  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [29/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_front_three_items_pop_three  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [30/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_front_two_items  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [31/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_front_two_items_pop_one1  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [32/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_front_two_items_pop_one2  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [33/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_front_two_items_pop_two  ,
Mdl  ,
thread_types   
)

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [34/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_one_item  ,
Mdl  ,
thread_types   
)

Definition at line 68 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [35/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_three_items_pop_three  ,
Mdl  ,
thread_types   
)

Definition at line 209 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [36/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_two_items  ,
Mdl  ,
thread_types   
)

Definition at line 103 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [37/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_two_items_pop_one1  ,
Mdl  ,
thread_types   
)

Definition at line 124 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [38/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_two_items_pop_one2  ,
Mdl  ,
thread_types   
)

Definition at line 152 of file intrusive.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [39/39]

BOOST_AUTO_TEST_CASE_TEMPLATE ( push_two_items_pop_two  ,
Mdl  ,
thread_types   
)

Definition at line 177 of file intrusive.cpp.