Change naming convention for C++ interfaces
[alexxy/gromacs.git] / src / gromacs / analysisdata / tests / mock_datamodule.cpp
index a4749df187652dfc2ed0a68244f8a8f5619df032..e1e917e4d6be553b0513258aff0312196f012ec1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2011,2012,2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2011,2012,2013,2014,2015, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -100,9 +100,16 @@ class MockAnalysisDataModule::Impl
          * Callback used to check frame finish against reference data.
          *
          * Called to check parameters and order of calls to frameFinished().
-         * \a frameIndex_ is incremented here.
          */
         void finishReferenceFrame(const AnalysisDataFrameHeader &header);
+        /*! \brief
+         * Callback used to check serial frame finish with reference data.
+         *
+         * Called to check parameters and order of calls to
+         * frameFinishedSerial().
+         * \a frameIndex_ is incremented here.
+         */
+        void finishReferenceFrameSerial(int frameIndex);
 
         /*! \brief
          * Reference data checker to use for checking frames.
@@ -216,11 +223,19 @@ MockAnalysisDataModule::Impl::finishReferenceFrame(
 {
     EXPECT_TRUE(frameChecker_.get() != NULL);
     EXPECT_EQ(frameIndex_, header.index());
-    ++frameIndex_;
     frameChecker_.reset();
 }
 
 
+void
+MockAnalysisDataModule::Impl::finishReferenceFrameSerial(int frameIndex)
+{
+    EXPECT_TRUE(frameChecker_.get() == NULL);
+    EXPECT_EQ(frameIndex_, frameIndex);
+    ++frameIndex_;
+}
+
+
 /********************************************************************
  * MockAnalysisDataModule
  */
@@ -289,7 +304,7 @@ void checkFrame(const AnalysisDataFrameRef       &frame,
  * Functor for checking data frame header against static test input data.
  *
  * This functor is designed to be invoked as a handled for
- * AnalysisDataModuleInterface::frameStarted().
+ * IAnalysisDataModule::frameStarted().
  */
 class StaticDataFrameHeaderChecker
 {
@@ -321,7 +336,7 @@ class StaticDataFrameHeaderChecker
  * Functor for checking data frame points against static test input data.
  *
  * This functor is designed to be invoked as a handled for
- * AnalysisDataModuleInterface::pointsAdded().
+ * IAnalysisDataModule::pointsAdded().
  */
 class StaticDataPointsChecker
 {
@@ -372,7 +387,7 @@ class StaticDataPointsChecker
  * Functor for requesting data storage.
  *
  * This functor is designed to be invoked as a handled for
- * AnalysisDataModuleInterface::dataStarted().
+ * IAnalysisDataModule::dataStarted().
  */
 class DataStorageRequester
 {
@@ -402,7 +417,7 @@ class DataStorageRequester
  * data.
  *
  * This functor is designed to be invoked as a handled for
- * AnalysisDataModuleInterface::pointsAdded().
+ * IAnalysisDataModule::pointsAdded().
  */
 class StaticDataPointsStorageChecker
 {
@@ -526,6 +541,7 @@ MockAnalysisDataModule::setupStaticCheck(const AnalysisDataTestInput &data,
             EXPECT_CALL(*this, parallelDataStarted(source, _))
                 .WillOnce(Return(true));
         ::testing::ExpectationSet framesFinished;
+        ::testing::Expectation    prevFinish;
         for (int row = 0; row < data.frameCount(); ++row)
         {
             ::testing::InSequence frameSequence;
@@ -541,9 +557,20 @@ MockAnalysisDataModule::setupStaticCheck(const AnalysisDataTestInput &data,
                 EXPECT_CALL(*this, pointsAdded(Property(&AnalysisDataPointSetRef::frameIndex, row)))
                     .WillOnce(Invoke(checker));
             }
-            framesFinished +=
-                EXPECT_CALL(*this, frameFinished(Property(&AnalysisDataFrameHeader::index, row)))
-                    .WillOnce(Invoke(StaticDataFrameHeaderChecker(&frame)));
+            EXPECT_CALL(*this, frameFinished(Property(&AnalysisDataFrameHeader::index, row)))
+                .WillOnce(Invoke(StaticDataFrameHeaderChecker(&frame)));
+            ::testing::Expectation finish;
+            if (row > 0)
+            {
+                finish = EXPECT_CALL(*this, frameFinishedSerial(row))
+                        .After(prevFinish);
+            }
+            else
+            {
+                finish = EXPECT_CALL(*this, frameFinishedSerial(row));
+            }
+            framesFinished += finish;
+            prevFinish      = finish;
         }
         EXPECT_CALL(*this, dataFinished())
             .After(framesFinished);
@@ -567,6 +594,7 @@ MockAnalysisDataModule::setupStaticCheck(const AnalysisDataTestInput &data,
             }
             EXPECT_CALL(*this, frameFinished(_))
                 .WillOnce(Invoke(StaticDataFrameHeaderChecker(&frame)));
+            EXPECT_CALL(*this, frameFinishedSerial(row));
         }
         EXPECT_CALL(*this, dataFinished());
     }
@@ -603,6 +631,7 @@ MockAnalysisDataModule::setupStaticColumnCheck(
         }
         EXPECT_CALL(*this, frameFinished(_))
             .WillOnce(Invoke(StaticDataFrameHeaderChecker(&frame)));
+        EXPECT_CALL(*this, frameFinishedSerial(row));
     }
     EXPECT_CALL(*this, dataFinished());
 }
@@ -637,6 +666,7 @@ MockAnalysisDataModule::setupStaticStorageCheck(
         }
         EXPECT_CALL(*this, frameFinished(_))
             .WillOnce(Invoke(StaticDataFrameHeaderChecker(&frame)));
+        EXPECT_CALL(*this, frameFinishedSerial(row));
     }
     EXPECT_CALL(*this, dataFinished());
 }
@@ -671,8 +701,11 @@ MockAnalysisDataModule::setupReferenceCheck(const TestReferenceChecker &checker,
     Expectation frameFinish = EXPECT_CALL(*this, frameFinished(_))
             .After(dataStart)
             .WillRepeatedly(Invoke(impl_.get(), &Impl::finishReferenceFrame));
+    Expectation frameFinishSerial = EXPECT_CALL(*this, frameFinishedSerial(_))
+            .After(dataStart)
+            .WillRepeatedly(Invoke(impl_.get(), &Impl::finishReferenceFrameSerial));
     EXPECT_CALL(*this, dataFinished())
-        .After(frameStart, pointsAdd, frameFinish);
+        .After(frameStart, pointsAdd, frameFinish, frameFinishSerial);
 }
 
 } // namespace test