Renaming map member function insert_key() to insert_with()
[libcds.git] / tests / test-hdr / tree / hdr_ellenbintree_map.h
index c122746dcaf50e7077155577c98233e58d13ea9c..d2c9051948bce05abb7e85528eaa0ae323d8d5a3 100644 (file)
@@ -5,7 +5,7 @@
 
 #include "cppunit/cppunit_proxy.h"
 #include "size_check.h"
-#include <cds/ref.h>
+#include <functional>   // ref
 #include <algorithm>
 
 namespace tree {
@@ -50,11 +50,9 @@ namespace tree {
                 : nVal( v.nVal )
             {}
 
-#ifdef CDS_MOVE_SEMANTICS_SUPPORT
             value_type( value_type&& v )
                 : nVal( v.nVal )
             {}
-#endif
 
             value_type& operator=( int n )
             {
@@ -247,14 +245,14 @@ namespace tree {
             CPPUNIT_ASSERT( check_size( m, 2 ));
 
             CPPUNIT_ASSERT( !m.find(30) );
-            CPPUNIT_ASSERT( m.insert_key( 30, insert_functor<Map>() ) )    ; // value = 90
+            CPPUNIT_ASSERT( m.insert_with( 30, insert_functor<Map>() ) )    ; // value = 90
             CPPUNIT_ASSERT( !m.empty() );
             CPPUNIT_ASSERT( check_size( m, 3 ));
             CPPUNIT_ASSERT( m.find(30) );
 
-            CPPUNIT_ASSERT( !m.insert_key( 10, insert_functor<Map>() ) );
-            CPPUNIT_ASSERT( !m.insert_key( 25, insert_functor<Map>() ) );
-            CPPUNIT_ASSERT( !m.insert_key( 30, insert_functor<Map>() ) );
+            CPPUNIT_ASSERT( !m.insert_with( 10, insert_functor<Map>() ) );
+            CPPUNIT_ASSERT( !m.insert_with( 25, insert_functor<Map>() ) );
+            CPPUNIT_ASSERT( !m.insert_with( 30, insert_functor<Map>() ) );
 
             // ensure (new key)
             CPPUNIT_ASSERT( !m.find(27) );
@@ -265,19 +263,19 @@ namespace tree {
 
             // find test
             check_value chk(10);
-            CPPUNIT_ASSERT( m.find( 10, cds::ref(chk) ));
+            CPPUNIT_ASSERT( m.find( 10, std::ref(chk) ));
             chk.m_nExpected = 0;
-            CPPUNIT_ASSERT( m.find_with( 25, less(), boost::ref(chk) ));
+            CPPUNIT_ASSERT( m.find_with( 25, less(), std::ref( chk ) ) );
             chk.m_nExpected = 90;
-            CPPUNIT_ASSERT( m.find( 30, boost::ref(chk) ));
+            CPPUNIT_ASSERT( m.find( 30, std::ref( chk ) ) );
             chk.m_nExpected = 54;
-            CPPUNIT_ASSERT( m.find( 27, boost::ref(chk) ));
+            CPPUNIT_ASSERT( m.find( 27, std::ref( chk ) ) );
 
             ensureResult = m.ensure( 10, insert_functor<Map>() ) ;   // value = 50
             CPPUNIT_ASSERT( ensureResult.first );
             CPPUNIT_ASSERT( !ensureResult.second );
             chk.m_nExpected = 50;
-            CPPUNIT_ASSERT( m.find( 10, boost::ref(chk) ));
+            CPPUNIT_ASSERT( m.find( 10, std::ref( chk ) ) );
 
             // erase test
             CPPUNIT_ASSERT( !m.find(100) );
@@ -308,27 +306,26 @@ namespace tree {
             CPPUNIT_ASSERT( !m.find(29) );
             CPPUNIT_ASSERT( m.insert(29, 290));
             CPPUNIT_ASSERT( check_size( m, 4 ));
-            CPPUNIT_ASSERT( m.erase_with( 29, less(), boost::ref(ext)));
+            CPPUNIT_ASSERT( m.erase_with( 29, less(), std::ref( ext ) ) );
             CPPUNIT_ASSERT( !m.empty() );
             CPPUNIT_ASSERT( check_size( m, 3 ));
             CPPUNIT_ASSERT( nVal == 290 );
             nVal = -1;
-            CPPUNIT_ASSERT( !m.erase_with( 29, less(), boost::ref(ext)));
+            CPPUNIT_ASSERT( !m.erase_with( 29, less(), std::ref( ext ) ) );
             CPPUNIT_ASSERT( nVal == -1 );
 
-            CPPUNIT_ASSERT( m.erase( 30, boost::ref(ext)));
+            CPPUNIT_ASSERT( m.erase( 30, std::ref( ext ) ) );
             CPPUNIT_ASSERT( !m.empty() );
             CPPUNIT_ASSERT( check_size( m, 2 ));
             CPPUNIT_ASSERT( nVal == 90 );
             nVal = -1;
-            CPPUNIT_ASSERT( !m.erase( 30, boost::ref(ext)));
+            CPPUNIT_ASSERT( !m.erase( 30, std::ref( ext ) ) );
             CPPUNIT_ASSERT( nVal == -1 );
 
             m.clear();
             CPPUNIT_ASSERT( m.empty() );
             CPPUNIT_ASSERT( check_size( m, 0 ));
 
-#       ifdef CDS_EMPLACE_SUPPORT
             // emplace test
             CPPUNIT_ASSERT( m.emplace(126) ) ; // key = 126, val = 0
             CPPUNIT_ASSERT( m.emplace(137, 731))    ;   // key = 137, val = 731
@@ -338,22 +335,21 @@ namespace tree {
             CPPUNIT_ASSERT( check_size( m, 3 ));
 
             chk.m_nExpected = 0;
-            CPPUNIT_ASSERT( m.find( 126, cds::ref(chk) ));
+            CPPUNIT_ASSERT( m.find( 126, std::ref(chk) ));
             chk.m_nExpected = 731;
-            CPPUNIT_ASSERT( m.find_with( 137, less(), cds::ref(chk) ));
+            CPPUNIT_ASSERT( m.find_with( 137, less(), std::ref(chk) ));
             chk.m_nExpected = 941;
-            CPPUNIT_ASSERT( m.find( 149, cds::ref(chk) ));
+            CPPUNIT_ASSERT( m.find( 149, std::ref(chk) ));
 
             CPPUNIT_ASSERT( !m.emplace(126, 621)) ; // already in map
             chk.m_nExpected = 0;
-            CPPUNIT_ASSERT( m.find( 126, cds::ref(chk) ));
+            CPPUNIT_ASSERT( m.find( 126, std::ref(chk) ));
             CPPUNIT_ASSERT( !m.empty() );
             CPPUNIT_ASSERT( check_size( m, 3 ));
 
             m.clear();
             CPPUNIT_ASSERT( m.empty() );
             CPPUNIT_ASSERT( check_size( m, 0 ));
-#       endif
         }
 
         template <typename Map>
@@ -390,11 +386,11 @@ namespace tree {
                 int i = 0;
                 std::pair<key_type, value_type> v;
                 while ( !m.empty() ) {
-                    CPPUNIT_ASSERT( m.extract_min( gp ) );
+                    gp = m.extract_min();
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_ASSERT( gp->first == i );
                     ++i;
-                    gp.release();
                 }
                 CPPUNIT_ASSERT( m.empty() );
                 CPPUNIT_ASSERT( check_size( m, 0 ));
@@ -403,11 +399,11 @@ namespace tree {
                 fill_map( m, arr );
                 i = (int) c_nItemCount - 1;
                 while ( !m.empty() ) {
-                    CPPUNIT_ASSERT( m.extract_max( gp ) );
+                    gp = m.extract_max();
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_ASSERT( gp->first == i );
                     --i;
-                    gp.release();
                 }
                 CPPUNIT_ASSERT( m.empty() );
                 CPPUNIT_ASSERT( check_size( m, 0 ));
@@ -415,19 +411,20 @@ namespace tree {
                 fill_map( m, arr );
                 for ( int i = 0; i < static_cast<int>( c_nItemCount ); ++i ) {
                     int nKey = arr[i];
-                    CPPUNIT_ASSERT( m.get( gp, nKey ));
+                    gp = m.get( nKey );
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_CHECK( gp->first == nKey );
 
-                    gp.release();
-                    CPPUNIT_ASSERT( m.extract( gp, nKey ));
+                    gp = m.extract( nKey );
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_CHECK( gp->first == nKey );
 
-                    gp.release();
-                    CPPUNIT_CHECK( !m.get( gp, nKey ));
+                    gp = m.get( nKey );
+                    CPPUNIT_CHECK( !gp );
                     CPPUNIT_CHECK( gp.empty());
-                    CPPUNIT_CHECK( !m.extract( gp, nKey ));
+                    CPPUNIT_CHECK( !m.extract( nKey ));
                     CPPUNIT_CHECK( gp.empty());
                 }
                 CPPUNIT_ASSERT( m.empty() );
@@ -436,19 +433,20 @@ namespace tree {
                 fill_map( m, arr );
                 for ( int i = 0; i < static_cast<int>( c_nItemCount ); ++i ) {
                     int nKey = arr[i];
-                    CPPUNIT_ASSERT( m.get_with( gp, wrapped_int(nKey), wrapped_less() ));
+                    gp = m.get_with( wrapped_int( nKey ), wrapped_less() );
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_CHECK( gp->first == nKey );
 
-                    gp.release();
-                    CPPUNIT_ASSERT( m.extract_with( gp, wrapped_int(nKey), wrapped_less() ));
+                    gp = m.extract_with( wrapped_int( nKey ), wrapped_less() );
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_CHECK( gp->first == nKey );
 
-                    gp.release();
-                    CPPUNIT_CHECK( !m.get_with( gp, wrapped_int(nKey), wrapped_less() ));
+                    gp = m.get_with( wrapped_int( nKey ), wrapped_less() );
+                    CPPUNIT_CHECK( !gp );
                     CPPUNIT_CHECK( gp.empty());
-                    CPPUNIT_CHECK( !m.extract_with( gp, wrapped_int(nKey), wrapped_less() ));
+                    CPPUNIT_CHECK( !m.extract_with( wrapped_int(nKey), wrapped_less() ));
                     CPPUNIT_CHECK( gp.empty());
                 }
 
@@ -480,29 +478,33 @@ namespace tree {
 
                 int i = 0;
                 while ( !m.empty() ) {
-                    CPPUNIT_ASSERT( m.extract_min( ep ) );
+                    ep = m.extract_min();
+                    CPPUNIT_ASSERT( ep );
                     CPPUNIT_ASSERT( !ep.empty());
                     CPPUNIT_ASSERT(ep->first == i );
                     ++i;
-                    ep.release();
+                    //ep.release();
                 }
                 CPPUNIT_ASSERT( m.empty() );
                 CPPUNIT_ASSERT( check_size( m, 0 ));
-                CPPUNIT_ASSERT( !m.extract_min( ep ) );
+                ep = m.extract_min();
+                CPPUNIT_ASSERT( !ep );
                 CPPUNIT_ASSERT( ep.empty());
 
                 fill_map( m, arr );
                 i = (int) c_nItemCount - 1;
                 while ( !m.empty() ) {
-                    CPPUNIT_ASSERT( m.extract_max( ep ) );
+                    ep = m.extract_max();
+                    CPPUNIT_ASSERT( ep );
                     CPPUNIT_ASSERT( !ep.empty());
                     CPPUNIT_ASSERT( ep->first == i );
                     --i;
-                    ep.release();
+                    //ep.release();
                 }
                 CPPUNIT_ASSERT( m.empty() );
                 CPPUNIT_ASSERT( check_size( m, 0 ));
-                CPPUNIT_ASSERT( !m.extract_max( ep ) );
+                ep = m.extract_max();
+                CPPUNIT_ASSERT( !ep );
                 CPPUNIT_ASSERT( ep.empty());
 
                 fill_map( m, arr );
@@ -511,15 +513,17 @@ namespace tree {
                     {
                         typename map_type::rcu_lock l;
                         typename map_type::value_type * pVal = m.get(nKey);
-                        CPPUNIT_ASSERT( pVal != NULL );
+                        CPPUNIT_ASSERT( pVal != nullptr );
                         CPPUNIT_CHECK( pVal->first == nKey);
                     }
-                    CPPUNIT_ASSERT( m.extract( ep, nKey ));
+                    ep = m.extract( nKey );
+                    CPPUNIT_ASSERT( ep );
                     CPPUNIT_ASSERT( !ep.empty());
                     CPPUNIT_CHECK( ep->first == nKey);
-                    ep.release();
+                    //ep.release();
 
-                    CPPUNIT_ASSERT( !m.extract( ep, nKey ));
+                    ep = m.extract( nKey );
+                    CPPUNIT_ASSERT( !ep );
                     CPPUNIT_ASSERT( ep.empty());
                     {
                         typename map_type::rcu_lock l;
@@ -535,15 +539,17 @@ namespace tree {
                     {
                         typename map_type::rcu_lock l;
                         typename map_type::value_type * pVal = m.get_with(wrapped_int(nKey), wrapped_less());
-                        CPPUNIT_ASSERT( pVal != NULL );
+                        CPPUNIT_ASSERT( pVal != nullptr );
                         CPPUNIT_CHECK( pVal->first == nKey);
                     }
-                    CPPUNIT_ASSERT( m.extract_with( ep, wrapped_int(nKey), wrapped_less() ));
+                    ep = m.extract_with( wrapped_int( nKey ), wrapped_less() );
+                    CPPUNIT_ASSERT( ep );
                     CPPUNIT_ASSERT( !ep.empty());
                     CPPUNIT_CHECK( ep->first == nKey);
-                    ep.release();
+                    //ep.release();
 
-                    CPPUNIT_ASSERT( !m.extract_with( ep, wrapped_int(nKey), wrapped_less() ));
+                    ep = m.extract_with( wrapped_int( nKey ), wrapped_less() );
+                    CPPUNIT_ASSERT( !ep );
                     CPPUNIT_ASSERT( ep.empty());
                     {
                         typename map_type::rcu_lock l;
@@ -557,16 +563,6 @@ namespace tree {
             PrintStat()( m );
         }
 
-        void EllenBinTree_rcu_gpi_less();
-        void EllenBinTree_rcu_gpi_cmp();
-        void EllenBinTree_rcu_gpi_cmpless();
-        void EllenBinTree_rcu_gpi_less_ic();
-        void EllenBinTree_rcu_gpi_cmp_ic();
-        void EllenBinTree_rcu_gpi_less_stat();
-        void EllenBinTree_rcu_gpi_cmp_ic_stat();
-        void EllenBinTree_rcu_gpi_less_pool();
-        void EllenBinTree_rcu_gpi_less_pool_ic_stat();
-
         void EllenBinTree_hp_less();
         void EllenBinTree_hp_cmp();
         void EllenBinTree_hp_cmpless();
@@ -574,18 +570,31 @@ namespace tree {
         void EllenBinTree_hp_cmp_ic();
         void EllenBinTree_hp_less_stat();
         void EllenBinTree_hp_cmp_ic_stat();
+        void EllenBinTree_hp_cmp_ic_stat_yield();
         void EllenBinTree_hp_less_pool();
         void EllenBinTree_hp_less_pool_ic_stat();
 
-        void EllenBinTree_ptb_less();
-        void EllenBinTree_ptb_cmp();
-        void EllenBinTree_ptb_cmpless();
-        void EllenBinTree_ptb_less_ic();
-        void EllenBinTree_ptb_cmp_ic();
-        void EllenBinTree_ptb_less_stat();
-        void EllenBinTree_ptb_cmp_ic_stat();
-        void EllenBinTree_ptb_less_pool();
-        void EllenBinTree_ptb_less_pool_ic_stat();
+        void EllenBinTree_dhp_less();
+        void EllenBinTree_dhp_cmp();
+        void EllenBinTree_dhp_cmpless();
+        void EllenBinTree_dhp_less_ic();
+        void EllenBinTree_dhp_cmp_ic();
+        void EllenBinTree_dhp_less_stat();
+        void EllenBinTree_dhp_cmp_ic_stat();
+        void EllenBinTree_dhp_cmp_ic_stat_yield();
+        void EllenBinTree_dhp_less_pool();
+        void EllenBinTree_dhp_less_pool_ic_stat();
+
+        void EllenBinTree_rcu_gpi_less();
+        void EllenBinTree_rcu_gpi_cmp();
+        void EllenBinTree_rcu_gpi_cmpless();
+        void EllenBinTree_rcu_gpi_less_ic();
+        void EllenBinTree_rcu_gpi_cmp_ic();
+        void EllenBinTree_rcu_gpi_less_stat();
+        void EllenBinTree_rcu_gpi_cmp_ic_stat();
+        void EllenBinTree_rcu_gpi_cmp_ic_stat_yield();
+        void EllenBinTree_rcu_gpi_less_pool();
+        void EllenBinTree_rcu_gpi_less_pool_ic_stat();
 
         void EllenBinTree_rcu_gpb_less();
         void EllenBinTree_rcu_gpb_cmp();
@@ -594,6 +603,7 @@ namespace tree {
         void EllenBinTree_rcu_gpb_cmp_ic();
         void EllenBinTree_rcu_gpb_less_stat();
         void EllenBinTree_rcu_gpb_cmp_ic_stat();
+        void EllenBinTree_rcu_gpb_cmp_ic_stat_yield();
         void EllenBinTree_rcu_gpb_less_pool();
         void EllenBinTree_rcu_gpb_less_pool_ic_stat();
 
@@ -604,6 +614,7 @@ namespace tree {
         void EllenBinTree_rcu_gpt_cmp_ic();
         void EllenBinTree_rcu_gpt_less_stat();
         void EllenBinTree_rcu_gpt_cmp_ic_stat();
+        void EllenBinTree_rcu_gpt_cmp_ic_stat_yield();
         void EllenBinTree_rcu_gpt_less_pool();
         void EllenBinTree_rcu_gpt_less_pool_ic_stat();
 
@@ -614,6 +625,7 @@ namespace tree {
         void EllenBinTree_rcu_shb_cmp_ic();
         void EllenBinTree_rcu_shb_less_stat();
         void EllenBinTree_rcu_shb_cmp_ic_stat();
+        void EllenBinTree_rcu_shb_cmp_ic_stat_yield();
         void EllenBinTree_rcu_shb_less_pool();
         void EllenBinTree_rcu_shb_less_pool_ic_stat();
 
@@ -624,6 +636,7 @@ namespace tree {
         void EllenBinTree_rcu_sht_cmp_ic();
         void EllenBinTree_rcu_sht_less_stat();
         void EllenBinTree_rcu_sht_cmp_ic_stat();
+        void EllenBinTree_rcu_sht_cmp_ic_stat_yield();
         void EllenBinTree_rcu_sht_less_pool();
         void EllenBinTree_rcu_sht_less_pool_ic_stat();
 
@@ -635,18 +648,20 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_hp_less_ic)
             CPPUNIT_TEST(EllenBinTree_hp_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_hp_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_hp_less_pool)
+            CPPUNIT_TEST( EllenBinTree_hp_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_hp_less_pool )
             CPPUNIT_TEST(EllenBinTree_hp_less_pool_ic_stat)
 
-            CPPUNIT_TEST(EllenBinTree_ptb_less)
-            CPPUNIT_TEST(EllenBinTree_ptb_cmp)
-            CPPUNIT_TEST(EllenBinTree_ptb_less_stat)
-            CPPUNIT_TEST(EllenBinTree_ptb_cmpless)
-            CPPUNIT_TEST(EllenBinTree_ptb_less_ic)
-            CPPUNIT_TEST(EllenBinTree_ptb_cmp_ic)
-            CPPUNIT_TEST(EllenBinTree_ptb_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_ptb_less_pool)
-            CPPUNIT_TEST(EllenBinTree_ptb_less_pool_ic_stat)
+            CPPUNIT_TEST(EllenBinTree_dhp_less)
+            CPPUNIT_TEST(EllenBinTree_dhp_cmp)
+            CPPUNIT_TEST(EllenBinTree_dhp_less_stat)
+            CPPUNIT_TEST(EllenBinTree_dhp_cmpless)
+            CPPUNIT_TEST(EllenBinTree_dhp_less_ic)
+            CPPUNIT_TEST(EllenBinTree_dhp_cmp_ic)
+            CPPUNIT_TEST(EllenBinTree_dhp_cmp_ic_stat)
+            CPPUNIT_TEST( EllenBinTree_dhp_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_dhp_less_pool )
+            CPPUNIT_TEST(EllenBinTree_dhp_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_less)
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_cmp)
@@ -655,7 +670,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_gpi_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_gpi_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_gpi_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_less)
@@ -665,7 +681,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_gpb_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_gpb_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_gpb_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_less)
@@ -675,7 +692,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_gpt_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_gpt_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_gpt_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_shb_less)
@@ -685,7 +703,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_shb_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_shb_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_shb_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_shb_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_shb_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_shb_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_shb_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_sht_less)
@@ -695,7 +714,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_sht_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_sht_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_sht_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_sht_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_sht_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_sht_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_sht_less_pool_ic_stat)
 
             CPPUNIT_TEST_SUITE_END()