Fixed internal statistics printing for map/set stress test
[libcds.git] / test / stress / set / set_type_striped.h
index 797a43348ac44f1a8218649932cc192a4e5e83d4..2da0665f18c345be56bac6f2fcb24443449af0d1 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 #ifndef CDSUNIT_SET_TYPE_STRIPED_H
 #define CDSUNIT_SET_TYPE_STRIPED_H
 
-#include "set2/set_type.h"
+#include "set_type.h"
 
 #include <cds/container/striped_set/std_list.h>
 #include <cds/container/striped_set/std_vector.h>
@@ -50,7 +50,7 @@
 #endif
 #include <cds/container/striped_set.h>
 
-namespace set2 {
+namespace set {
 
     struct tag_StripedSet;
 
@@ -89,9 +89,14 @@ namespace set2 {
         public:
             template <class Config>
             StripedHashSet_seq( Config const& cfg )
-                : base_class( cfg.c_nSetSize / cfg.c_nLoadFactor / 16, *(new(&m_placeHolder) resizing_policy_t( cfg.c_nLoadFactor )) )
+                : base_class( cfg.s_nSetSize / cfg.s_nLoadFactor / 16, *(new(&m_placeHolder) resizing_policy_t( cfg.s_nLoadFactor )) )
             {}
 
+            empty_stat statistics() const
+            {
+                return empty_stat();
+            }
+
             /*
             template <typename Q, typename Less>
             bool erase_with( Q const& v, Less pred )
@@ -125,9 +130,14 @@ namespace set2 {
         public:
             template <class Config>
             StripedHashSet_seq_rational( Config const& cfg ) // LoadFactor = 1 / nDenominator
-                : base_class( cfg.c_nSetSize / cfg.c_nLoadFactor / 16, *(new(&m_placeHolder) resizing_policy_t( 1, cfg.c_nLoadFactor )) )
+                : base_class( cfg.s_nSetSize / cfg.s_nLoadFactor / 16, *(new(&m_placeHolder) resizing_policy_t( 1, cfg.s_nLoadFactor )) )
             {}
 
+            empty_stat statistics() const
+            {
+                return empty_stat();
+            }
+
             /*
             template <typename Q, typename Less>
             bool erase_with( Q const& v, Less pred )
@@ -162,16 +172,13 @@ namespace set2 {
         public:
             template <class Config>
             StripedHashSet_ord( Config const& cfg )
-                : base_class( 0, *(new(&m_placeHolder) resizing_policy_t( cfg.c_nMaxLoadFactor * 1024 )) )
+                : base_class( 0, *(new(&m_placeHolder) resizing_policy_t( cfg.s_nMaxLoadFactor * 1024 )) )
             {}
 
-            /*
-            template <typename Q, typename Less>
-            bool erase_with( Q const& v, Less pred )
+            empty_stat statistics() const
             {
-                return base_class::erase( v );
+                return empty_stat();
             }
-            */
 
             // for testing
             static CDS_CONSTEXPR bool const c_bExtractSupported = false;
@@ -198,16 +205,13 @@ namespace set2 {
         public:
             template <class Config>
             StripedHashSet_ord_rational( Config const& cfg ) // LoadFactor = 1 / nDenominator
-                : base_class( 0, *(new(&m_placeHolder) resizing_policy_t( 1024, cfg.c_nLoadFactor )))
+                : base_class( 0, *(new(&m_placeHolder) resizing_policy_t( 1024, cfg.s_nLoadFactor )))
             {}
 
-            /*
-            template <typename Q, typename Less>
-            bool erase_with( Q const& v, Less pred )
+            empty_stat statistics() const
             {
-                return base_class::erase( v );
+                return empty_stat();
             }
-            */
 
             // for testing
             static CDS_CONSTEXPR bool const c_bExtractSupported = false;
@@ -365,9 +369,14 @@ namespace set2 {
         public:
             template <class Config>
             RefinableHashSet_seq( Config const& cfg )
-                : base_class( cfg.c_nSetSize / cfg.c_nLoadFactor / 16, *(new(&m_placeHolder) resizing_policy_t( cfg.c_nLoadFactor )) )
+                : base_class( cfg.s_nSetSize / cfg.s_nLoadFactor / 16, *(new(&m_placeHolder) resizing_policy_t( cfg.s_nLoadFactor )) )
             {}
 
+            empty_stat statistics() const
+            {
+                return empty_stat();
+            }
+
             /*
             template <typename Q, typename Less>
             bool erase_with( Q const& v, Less pred )
@@ -400,16 +409,13 @@ namespace set2 {
         public:
             template <class Config>
             RefinableHashSet_seq_rational( Config const& cfg ) // LoadFactor = 1 / nDenominator
-                : base_class( cfg.c_nSetSize / cfg.c_nLoadFactor / 16, *(new(&m_placeHolder) resizing_policy_t( 1, cfg.c_nLoadFactor )))
+                : base_class( cfg.s_nSetSize / cfg.s_nLoadFactor / 16, *(new(&m_placeHolder) resizing_policy_t( 1, cfg.s_nLoadFactor )))
             {}
 
-            /*
-            template <typename Q, typename Less>
-            bool erase_with( Q const& v, Less pred )
+            empty_stat statistics() const
             {
-                return base_class::erase( v );
+                return empty_stat();
             }
-            */
 
             // for testing
             static CDS_CONSTEXPR bool const c_bExtractSupported = false;
@@ -436,16 +442,13 @@ namespace set2 {
         public:
             template <class Config>
             RefinableHashSet_ord( Config const& cfg )
-                : base_class( 0, *(new(&m_placeHolder) resizing_policy_t( cfg.c_nMaxLoadFactor * 1024 )) )
+                : base_class( 0, *(new(&m_placeHolder) resizing_policy_t( cfg.s_nMaxLoadFactor * 1024 )) )
             {}
 
-            /*
-            template <typename Q, typename Less>
-            bool erase_with( Q const& v, Less pred )
+            empty_stat statistics() const
             {
-                return base_class::erase( v );
+                return empty_stat();
             }
-            */
 
             // for testing
             static CDS_CONSTEXPR bool const c_bExtractSupported = false;
@@ -471,16 +474,13 @@ namespace set2 {
         public:
             template <class Config>
             RefinableHashSet_ord_rational( Config const& cfg ) // LoadFactor = 1 / nDenominator
-                : base_class( 0, *(new(&m_placeHolder) resizing_policy_t( 1024, cfg.c_nLoadFactor )))
+                : base_class( 0, *(new(&m_placeHolder) resizing_policy_t( 1024, cfg.s_nLoadFactor )))
             {}
 
-            /*
-            template <typename Q, typename Less>
-            bool erase_with( Q const& v, Less pred )
+            empty_stat statistics() const
             {
-                return base_class::erase( v );
+                return empty_stat();
             }
-            */
 
             // for testing
             static CDS_CONSTEXPR bool const c_bExtractSupported = false;
@@ -614,6 +614,31 @@ namespace set2 {
         > RefinableSet_rational_boost_unordered_set;
     };
 
-} // namespace set2
+} // namespace set
+
+#define CDSSTRESS_StripedSet_case( fixture, test_case, striped_set_type, key_type, value_type ) \
+    TEST_P( fixture, striped_set_type ) \
+    { \
+        typedef set::set_type< tag_StripedSet, key_type, value_type >::striped_set_type set_type; \
+        test_case<set_type>(); \
+    }
+
+#define CDSSTRESS_StripedSet( fixture, test_case, key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, StripedSet_list,                 key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, StripedSet_rational_list,        key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, StripedSet_vector,               key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, StripedSet_rational_vector,      key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, StripedSet_set,                  key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, StripedSet_rational_set,         key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, StripedSet_hashset,              key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, StripedSet_rational_hashset,     key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, RefinableSet_list,               key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, RefinableSet_rational_list,      key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, RefinableSet_vector,             key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, RefinableSet_rational_vector,    key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, RefinableSet_set,                key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, RefinableSet_rational_set,       key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, RefinableSet_hashset,            key_type, value_type ) \
+    CDSSTRESS_StripedSet_case( fixture, test_case, RefinableSet_rational_hashset,   key_type, value_type )
 
 #endif // #ifndef CDSUNIT_SET_TYPE_STRIPED_H