Refactors sequential misc test cases
[libcds.git] / test / stress / sequential / sequential-misc / rigtorp_mpmc_driver.cpp
index 1038fde8cacaf628d6b1ad173a1ac3e25b5b5c7b..0066f901641e178c53ed95d10c102fbd1358d2a1 100644 (file)
@@ -25,7 +25,8 @@ protected:
   }
 
   void test() {
-    rigtorp::MPMCQueue<size_t> q(s_nRigtorpMPMCQueueCapacity);
+    std::unique_ptr<rigtorp::MPMCQueue<size_t>> q(
+        new rigtorp::MPMCQueue<size_t>(s_nRigtorpMPMCQueueCapacity));
     size_t nNo = 0;
     size_t pop_sum = 0;
 
@@ -33,23 +34,20 @@ protected:
       size_t curr_push_count = std::min(s_nRigtorpMPMCQueuePassCount - nNo,
                                         s_nRigtorpMPMCQueueEnqueueStride);
       for (size_t i = 0; i < curr_push_count; i++) {
-        q.push(nNo);
+        q->push(nNo);
         ++nNo;
       }
 
       for (size_t i = 0; i < curr_push_count; i++) {
         size_t res;
-        q.pop(res);
+        q->pop(res);
         pop_sum += res;
       }
     }
 
     size_t supposed_sum =
         s_nRigtorpMPMCQueuePassCount * (s_nRigtorpMPMCQueuePassCount - 1) / 2;
-    if (pop_sum != supposed_sum) {
-      std::cout << "Sequential rigtorpMPMC queue pop sum: " << pop_sum
-                << " != " << supposed_sum << "\n";
-    }
+    EXPECT_EQ(pop_sum, supposed_sum);
   }
 };