/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
+ * Copyright (c) 2011,2012,2013,2014, 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.
*
- * G R O M A C S
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
*
- * GROningen MAchine for Chemical Simulations
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2009, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
* To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
- *
- * For more info, check our website at http://www.gromacs.org
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
/*! \internal \file
* \brief
* Most checking is done using gmx::test::AnalysisDataTestFixture and mock
* modules that implement gmx::AnalysisDataModuleInterface.
*
- * \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \author Teemu Murtola <teemu.murtola@gmail.com>
* \ingroup module_analysisdata
*/
+#include "gmxpre.h"
+
+#include "gromacs/analysisdata/analysisdata.h"
+
#include <gmock/gmock.h>
#include <gtest/gtest.h>
-#include "gromacs/analysisdata/analysisdata.h"
#include "gromacs/analysisdata/paralleloptions.h"
#include "gromacs/utility/exceptions.h"
-#include "datatest.h"
-#include "mock_module.h"
+#include "gromacs/analysisdata/tests/datatest.h"
+#include "gromacs/analysisdata/tests/mock_datamodule.h"
+#include "testutils/testasserts.h"
-using gmx::test::MockAnalysisModule;
-using gmx::test::MockAnalysisModulePointer;
+using gmx::test::AnalysisDataTestInput;
+using gmx::test::MockAnalysisDataModule;
+using gmx::test::MockAnalysisDataModulePointer;
namespace
{
/********************************************************************
- * Tests for gmx::AnalysisData.
+ * Tests for gmx::AnalysisData without any actual data.
*/
/*
TEST(AnalysisDataInitializationTest, BasicInitialization)
{
gmx::AnalysisData data;
+ EXPECT_EQ(1, data.dataSetCount());
+ EXPECT_EQ(0, data.columnCount(0));
EXPECT_EQ(0, data.columnCount());
EXPECT_FALSE(data.isMultipoint());
EXPECT_EQ(0, data.frameCount());
- data.setColumnCount(1);
+ data.setColumnCount(0, 1);
+ EXPECT_EQ(1, data.columnCount(0));
EXPECT_EQ(1, data.columnCount());
EXPECT_FALSE(data.isMultipoint());
- data.setColumnCount(3);
+ data.setDataSetCount(2);
+ EXPECT_EQ(2, data.dataSetCount());
+ data.setColumnCount(0, 3);
+ EXPECT_EQ(3, data.columnCount(0));
+ EXPECT_EQ(0, data.columnCount(1));
+ data.setColumnCount(1, 2);
+ EXPECT_EQ(3, data.columnCount(0));
+ EXPECT_EQ(2, data.columnCount(1));
+
+ data.setDataSetCount(1);
+ EXPECT_EQ(1, data.dataSetCount());
data.setMultipoint(true);
EXPECT_EQ(3, data.columnCount());
EXPECT_TRUE(data.isMultipoint());
- data.setColumnCount(1);
+ data.setColumnCount(0, 1);
EXPECT_EQ(1, data.columnCount());
EXPECT_TRUE(data.isMultipoint());
}
TEST(AnalysisDataInitializationTest, ChecksMultiColumnModules)
{
gmx::AnalysisData data;
- data.setColumnCount(2);
+ data.setColumnCount(0, 2);
- MockAnalysisModulePointer mod1(new MockAnalysisModule(0));
- EXPECT_THROW(data.addModule(mod1), gmx::APIError);
+ MockAnalysisDataModulePointer mod1(new MockAnalysisDataModule(0));
+ EXPECT_THROW_GMX(data.addModule(mod1), gmx::APIError);
- MockAnalysisModulePointer mod2(
- new MockAnalysisModule(gmx::AnalysisDataModuleInterface::efAllowMulticolumn));
- EXPECT_NO_THROW(data.addModule(mod2));
+ MockAnalysisDataModulePointer mod2(
+ new MockAnalysisDataModule(gmx::AnalysisDataModuleInterface::efAllowMulticolumn));
+ EXPECT_NO_THROW_GMX(data.addModule(mod2));
}
/*
* Tests that checking for compatibility of modules with multipoint data
* works.
*/
-TEST(AnalysisDataInitializationTest, ChecksMultiPointModules)
+TEST(AnalysisDataInitializationTest, ChecksMultipointModules)
{
gmx::AnalysisData data;
- data.setColumnCount(1);
+ data.setColumnCount(0, 1);
data.setMultipoint(true);
- MockAnalysisModulePointer mod1(new MockAnalysisModule(0));
- EXPECT_THROW(data.addModule(mod1), gmx::APIError);
+ MockAnalysisDataModulePointer mod1(new MockAnalysisDataModule(0));
+ EXPECT_THROW_GMX(data.addModule(mod1), gmx::APIError);
- MockAnalysisModulePointer mod2(
- new MockAnalysisModule(gmx::AnalysisDataModuleInterface::efAllowMultipoint));
- EXPECT_NO_THROW(data.addModule(mod2));
+ MockAnalysisDataModulePointer mod2(
+ new MockAnalysisDataModule(gmx::AnalysisDataModuleInterface::efAllowMultipoint));
+ EXPECT_NO_THROW_GMX(data.addModule(mod2));
}
+#if GTEST_HAS_TYPED_TEST
+
+/********************************************************************
+ * Input data for tests below.
+ */
+
+// Basic input data for gmx::AnalysisData tests.
+class SimpleInputData
+{
+ public:
+ static const AnalysisDataTestInput &get()
+ {
+#ifndef STATIC_ANON_NAMESPACE_BUG
+ static SimpleInputData singleton;
+ return singleton.data_;
+#else
+ static SimpleInputData singleton_analysisdata;
+ return singleton_analysisdata.data_;
+#endif
+ }
+
+ SimpleInputData() : data_(1, false)
+ {
+ data_.setColumnCount(0, 3);
+ data_.addFrameWithValues(1.0, 0.0, 1.0, 2.0);
+ data_.addFrameWithValues(2.0, 1.0, 1.0, 1.0);
+ data_.addFrameWithValues(3.0, 2.0, 0.0, 0.0);
+ }
+
+ private:
+ AnalysisDataTestInput data_;
+};
-typedef gmx::test::AnalysisDataTestFixture AnalysisDataTest;
+// Input data with multiple data sets for gmx::AnalysisData tests.
+class DataSetsInputData
+{
+ public:
+ static const AnalysisDataTestInput &get()
+ {
+#ifndef STATIC_ANON_NAMESPACE_BUG
+ static DataSetsInputData singleton;
+ return singleton.data_;
+#else
+ static DataSetsInputData singleton_analysisdata;
+ return singleton_analysisdata.data_;
+#endif
+ }
+
+ DataSetsInputData() : data_(2, false)
+ {
+ using gmx::test::AnalysisDataTestInputFrame;
+ data_.setColumnCount(0, 3);
+ data_.setColumnCount(1, 2);
+ AnalysisDataTestInputFrame &frame1 = data_.addFrame(1.0);
+ frame1.addPointSetWithValues(0, 0, 0.0, 1.0, 2.0);
+ frame1.addPointSetWithValues(1, 0, 2.1, 1.1);
+ AnalysisDataTestInputFrame &frame2 = data_.addFrame(2.0);
+ frame2.addPointSetWithValues(0, 0, 1.0, 1.0, 1.0);
+ frame2.addPointSetWithValues(1, 0, 0.1, 2.1);
+ AnalysisDataTestInputFrame &frame3 = data_.addFrame(3.0);
+ frame3.addPointSetWithValues(0, 0, 2.0, 0.0, 0.0);
+ frame3.addPointSetWithValues(1, 0, 1.1, 1.1);
+ }
+
+ private:
+ AnalysisDataTestInput data_;
+};
-// Input data for the tests below.
-using gmx::test::END_OF_DATA;
-using gmx::test::END_OF_FRAME;
-using gmx::test::MPSTOP;
-static const real inputdata[] = {
- 1.0, 0.0, 1.0, 2.0, END_OF_FRAME,
- 2.0, 1.0, 1.0, 1.0, END_OF_FRAME,
- 3.0, 2.0, 0.0, 0.0, END_OF_FRAME,
- END_OF_DATA
+// Input data for multipoint gmx::AnalysisData tests.
+class MultipointInputData
+{
+ public:
+ static const AnalysisDataTestInput &get()
+ {
+#ifndef STATIC_ANON_NAMESPACE_BUG
+ static MultipointInputData singleton;
+ return singleton.data_;
+#else
+ static MultipointInputData singleton_analysisdata;
+ return singleton_analysisdata.data_;
+#endif
+ }
+
+ MultipointInputData() : data_(1, true)
+ {
+ using gmx::test::AnalysisDataTestInputFrame;
+ data_.setColumnCount(0, 3);
+ AnalysisDataTestInputFrame &frame1 = data_.addFrame(1.0);
+ frame1.addPointSetWithValues(0, 0, 0.0, 1.0, 2.0);
+ frame1.addPointSetWithValues(0, 0, 1.1, 2.1, 1.1);
+ frame1.addPointSetWithValues(0, 0, 2.2, 1.2, 0.2);
+ AnalysisDataTestInputFrame &frame2 = data_.addFrame(2.0);
+ frame2.addPointSetWithValues(0, 1, 1.0, 1.0);
+ frame2.addPointSetWithValues(0, 0, 2.1, 1.1, 0.1);
+ frame2.addPointSetWithValues(0, 2, 1.2);
+ AnalysisDataTestInputFrame &frame3 = data_.addFrame(3.0);
+ frame3.addPointSetWithValues(0, 0, 2.0, 0.0, 0.0);
+ frame3.addPointSetWithValues(0, 0, 3.1, 2.1);
+ frame3.addPointSetWithValues(0, 1, 2.2, 1.2);
+ }
+
+ private:
+ AnalysisDataTestInput data_;
};
+// Input data with multiple multipoint data sets for gmx::AnalysisData tests.
+class MultipointDataSetsInputData
+{
+ public:
+ static const AnalysisDataTestInput &get()
+ {
+#ifndef STATIC_ANON_NAMESPACE_BUG
+ static MultipointDataSetsInputData singleton;
+ return singleton.data_;
+#else
+ static MultipointDataSetsInputData singleton_analysisdata;
+ return singleton_analysisdata.data_;
+#endif
+ }
+
+ MultipointDataSetsInputData() : data_(2, true)
+ {
+ using gmx::test::AnalysisDataTestInputFrame;
+ data_.setColumnCount(0, 3);
+ data_.setColumnCount(1, 2);
+ AnalysisDataTestInputFrame &frame1 = data_.addFrame(1.0);
+ frame1.addPointSetWithValues(0, 0, 0.0, 1.0, 2.0);
+ frame1.addPointSetWithValues(0, 1, 2.1, 1.1);
+ frame1.addPointSetWithValues(1, 0, 2.01, 1.01);
+ frame1.addPointSetWithValues(1, 1, 0.11);
+ AnalysisDataTestInputFrame &frame2 = data_.addFrame(2.0);
+ frame2.addPointSetWithValues(0, 0, 1.0, 1.0, 1.0);
+ frame2.addPointSetWithValues(0, 0, 0.1, 2.1);
+ frame2.addPointSetWithValues(1, 1, 1.01);
+ AnalysisDataTestInputFrame &frame3 = data_.addFrame(3.0);
+ frame3.addPointSetWithValues(0, 0, 2.0, 0.0, 0.0);
+ frame3.addPointSetWithValues(0, 1, 1.1);
+ }
+
+ private:
+ AnalysisDataTestInput data_;
+};
+
+/********************************************************************
+ * Tests for gmx::AnalysisData that require data.
+ */
+
+using gmx::test::AnalysisDataTestFixture;
+
+class AnalysisDataTest : public AnalysisDataTestFixture
+{
+ public:
+ explicit AnalysisDataTest(const AnalysisDataTestInput &input)
+ : input_(input)
+ {
+ }
+
+ void SetUp()
+ {
+ ASSERT_NO_THROW_GMX(setupDataObject(input_, &data_));
+ }
+
+ void addStaticCheckerModule()
+ {
+ AnalysisDataTestFixture::addStaticCheckerModule(input_, &data_);
+ }
+ void addStaticParallelCheckerModule()
+ {
+ AnalysisDataTestFixture::addStaticParallelCheckerModule(input_, &data_);
+ }
+ void addStaticColumnCheckerModule(int firstColumn, int columnCount)
+ {
+ AnalysisDataTestFixture::addStaticColumnCheckerModule(
+ input_, firstColumn, columnCount, &data_);
+ }
+ void addStaticStorageCheckerModule(int storageCount)
+ {
+ AnalysisDataTestFixture::addStaticStorageCheckerModule(
+ input_, storageCount, &data_);
+ }
+ void presentAllData()
+ {
+ AnalysisDataTestFixture::presentAllData(input_, &data_);
+ }
+
+ const AnalysisDataTestInput &input_;
+ gmx::AnalysisData data_;
+};
+
+template <class InputDataType>
+class AnalysisDataCommonTest : public AnalysisDataTest
+{
+ public:
+ AnalysisDataCommonTest() : AnalysisDataTest(InputDataType::get())
+ {
+ }
+};
+
+//! Test fixture for tests that are only applicable to simple data.
+typedef AnalysisDataCommonTest<SimpleInputData> AnalysisDataSimpleTest;
+//! Test fixture for tests that are only applicable to multipoint data.
+typedef AnalysisDataCommonTest<MultipointInputData> AnalysisDataMultipointTest;
+//! List of input data types for tests applicable to all types of data.
+typedef ::testing::Types<SimpleInputData,
+ DataSetsInputData,
+ MultipointInputData,
+ MultipointDataSetsInputData>
+ AllInputDataTypes;
+TYPED_TEST_CASE(AnalysisDataCommonTest, AllInputDataTypes);
+
/*
* Tests that data is forwarded correctly to modules using two independent
* modules.
*/
-TEST_F(AnalysisDataTest, CallsModuleCorrectly)
+TYPED_TEST(AnalysisDataCommonTest, CallsModuleCorrectly)
{
- gmx::test::AnalysisDataTestInput input(inputdata);
- gmx::AnalysisData data;
- data.setColumnCount(input.columnCount());
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticCheckerModule());
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticCheckerModule());
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::presentAllData());
+}
+
+/*
+ * Tests that data is forwarded correctly to modules when there are only
+ * parallel modules.
+ */
+TYPED_TEST(AnalysisDataCommonTest, CallsParallelModuleCorrectly)
+{
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticParallelCheckerModule());
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticParallelCheckerModule());
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::presentAllData());
+}
- ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
- ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
- ASSERT_NO_THROW(presentAllData(input, &data));
+/*
+ * Tests that data is forwarded correctly to modules when there are both
+ * parallel and serial modules.
+ */
+TYPED_TEST(AnalysisDataCommonTest, CallsMixedModulesCorrectly)
+{
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticCheckerModule());
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticParallelCheckerModule());
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::presentAllData());
}
/*
* addColumnModule().
* Uses two independent modules.
*/
-TEST_F(AnalysisDataTest, CallsColumnModuleCorrectly)
+TYPED_TEST(AnalysisDataCommonTest, CallsColumnModuleCorrectly)
{
- gmx::test::AnalysisDataTestInput input(inputdata);
- gmx::AnalysisData data;
- data.setColumnCount(input.columnCount());
-
- ASSERT_NO_THROW(addStaticColumnCheckerModule(input, 0, 2, &data));
- ASSERT_NO_THROW(addStaticColumnCheckerModule(input, 2, 1, &data));
- ASSERT_NO_THROW(presentAllData(input, &data));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticColumnCheckerModule(0, 2));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticColumnCheckerModule(2, 1));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::presentAllData());
}
/*
* Tests that data is forwarded correctly (in frame order) to modules when the
* data is added through multiple handles in non-increasing order.
*/
-TEST_F(AnalysisDataTest, CallsModuleCorrectlyWithOutOfOrderFrames)
+TYPED_TEST(AnalysisDataCommonTest, CallsModuleCorrectlyWithOutOfOrderFrames)
{
- gmx::test::AnalysisDataTestInput input(inputdata);
- gmx::AnalysisData data;
- data.setColumnCount(input.columnCount());
-
- ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
- ASSERT_NO_THROW(addStaticColumnCheckerModule(input, 1, 2, &data));
- gmx::AnalysisDataHandle handle1;
- gmx::AnalysisDataHandle handle2;
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticCheckerModule());
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticParallelCheckerModule());
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticColumnCheckerModule(1, 2));
+ gmx::AnalysisDataHandle handle1;
+ gmx::AnalysisDataHandle handle2;
gmx::AnalysisDataParallelOptions options(2);
- ASSERT_NO_THROW(handle1 = data.startData(options));
- ASSERT_NO_THROW(handle2 = data.startData(options));
- ASSERT_NO_THROW(presentDataFrame(input, 1, handle1));
- ASSERT_NO_THROW(presentDataFrame(input, 0, handle2));
- ASSERT_NO_THROW(presentDataFrame(input, 2, handle1));
- ASSERT_NO_THROW(handle1.finishData());
- ASSERT_NO_THROW(handle2.finishData());
+ ASSERT_NO_THROW_GMX(handle1 = this->data_.startData(options));
+ ASSERT_NO_THROW_GMX(handle2 = this->data_.startData(options));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::presentDataFrame(this->input_, 1, handle1));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::presentDataFrame(this->input_, 0, handle2));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::presentDataFrame(this->input_, 2, handle1));
+ ASSERT_NO_THROW_GMX(handle1.finishData());
+ ASSERT_NO_THROW_GMX(handle2.finishData());
}
/*
* Tests that data can be accessed correctly from a module that requests
* storage using AbstractAnalysisData::requestStorage() with parameter -1.
*/
-TEST_F(AnalysisDataTest, FullStorageWorks)
+TYPED_TEST(AnalysisDataCommonTest, FullStorageWorks)
{
- gmx::test::AnalysisDataTestInput input(inputdata);
- gmx::AnalysisData data;
- data.setColumnCount(input.columnCount());
-
- ASSERT_NO_THROW(addStaticStorageCheckerModule(input, -1, &data));
- ASSERT_NO_THROW(presentAllData(input, &data));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticStorageCheckerModule(-1));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::presentAllData());
}
/*
* Tests that a data module can be added to an AnalysisData object after data
* has been added if all data is still available in storage.
*/
-TEST_F(AnalysisDataTest, CanAddModuleAfterStoredData)
+TYPED_TEST(AnalysisDataCommonTest, CanAddModuleAfterStoredData)
{
- gmx::test::AnalysisDataTestInput input(inputdata);
- gmx::AnalysisData data;
- data.setColumnCount(input.columnCount());
- ASSERT_TRUE(data.requestStorage(-1));
+ ASSERT_TRUE(this->data_.requestStorage(-1));
- ASSERT_NO_THROW(presentAllData(input, &data));
- ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::presentAllData());
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticCheckerModule());
}
/*
* Tests that data can be accessed correctly from a module that requests
* storage using AbstractAnalysisData::requestStorage() only for one frame.
*/
-TEST_F(AnalysisDataTest, LimitedStorageWorks)
+TYPED_TEST(AnalysisDataCommonTest, LimitedStorageWorks)
{
- gmx::test::AnalysisDataTestInput input(inputdata);
- gmx::AnalysisData data;
- data.setColumnCount(input.columnCount());
-
- ASSERT_NO_THROW(addStaticStorageCheckerModule(input, 1, &data));
- ASSERT_NO_THROW(presentAllData(input, &data));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::addStaticStorageCheckerModule(1));
+ ASSERT_NO_THROW_GMX(AnalysisDataTest::presentAllData());
}
-// Input data for the tests below.
-static const real multipointinputdata[] = {
- 1.0, 0.0, 1.0, 2.0, MPSTOP, 1.1, 2.1, 1.1, MPSTOP, 2.2, 1.2, 0.2, END_OF_FRAME,
- 2.0, 1.0, 1.0, 1.0, MPSTOP, 2.1, 1.1, 0.1, MPSTOP, 1.2, 0.2, 1.2, END_OF_FRAME,
- 3.0, 2.0, 0.0, 0.0, MPSTOP, 3.1, 2.1, 1.1, MPSTOP, 0.2, 2.2, 1.2, END_OF_FRAME,
- END_OF_DATA
-};
+#else
-/*
- * Tests that multipoint data is forwarded correctly to modules using two
- * independent modules.
+/* A dummy test that at least signals that something is missing if one runs the
+ * unit test executable itself.
*/
-TEST_F(AnalysisDataTest, MultipointCallsModuleCorrectly)
+TEST(DISABLED_AnalysisDataCommonTest, GenericTests)
{
- gmx::test::AnalysisDataTestInput input(multipointinputdata);
- gmx::AnalysisData data;
- data.setColumnCount(input.columnCount());
- data.setMultipoint(true);
-
- ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
- ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
- ASSERT_NO_THROW(presentAllData(input, &data));
+ ADD_FAILURE()
+ << "Tests for generic AnalysisData functionality require support for "
+ << "Google Test typed tests, which was not available when the tests "
+ << "were compiled.";
}
-/*
- * Tests that multipoint data is forwarded correctly to modules that are added
- * using addColumnModule().
- * Uses two independent modules.
- */
-TEST_F(AnalysisDataTest, MultipointCallsColumnModuleCorrectly)
-{
- gmx::test::AnalysisDataTestInput input(multipointinputdata);
- gmx::AnalysisData data;
- data.setColumnCount(input.columnCount());
- data.setMultipoint(true);
-
- ASSERT_NO_THROW(addStaticColumnCheckerModule(input, 0, 2, &data));
- ASSERT_NO_THROW(addStaticColumnCheckerModule(input, 2, 1, &data));
- ASSERT_NO_THROW(presentAllData(input, &data));
-}
+#endif
} // namespace