*/
class SetAtomsTest : public gmx::test::CommandLineTestBase
{
- public:
- //! Prepare test fixture topology to have atoms available.
- SetAtomsTest()
+public:
+ //! Prepare test fixture topology to have atoms available.
+ SetAtomsTest()
+ {
+ topology_.fillFromInputFile(TestFileManager::getInputFilePath("lysozyme.pdb"));
+ }
+
+ /*! \brief
+ * Get access to the method for changing atom information.
+ *
+ * \param[in] type Type to use for setting up method.
+ * \param[in] haveAtomsAvailable Decide if method shouöd have atoms stored or not.
+ */
+ SetAtoms* setAtoms(ChangeAtomsType type, bool haveAtomsAvailable)
+ {
+ if (!setAtoms_)
{
- topology_.fillFromInputFile(TestFileManager::getInputFilePath("lysozyme.pdb"));
- }
-
- /*! \brief
- * Get access to the method for changing atom information.
- *
- * \param[in] type Type to use for setting up method.
- * \param[in] haveAtomsAvailable Decide if method shouöd have atoms stored or not.
- */
- SetAtoms *setAtoms(ChangeAtomsType type, bool haveAtomsAvailable)
- {
- if (!setAtoms_)
+ if (haveAtomsAvailable)
{
- if (haveAtomsAvailable)
- {
- setAtoms_ = std::make_unique<SetAtoms>(type, topology_.copyAtoms());
- }
- else
- {
- setAtoms_ = std::make_unique<SetAtoms>(type, nullptr);
- }
+ setAtoms_ = std::make_unique<SetAtoms>(type, topology_.copyAtoms());
+ }
+ else
+ {
+ setAtoms_ = std::make_unique<SetAtoms>(type, nullptr);
}
- return setAtoms_.get();
- }
- //! Get access to a t_atoms struct to use in the dummy t_trxframe.
- t_atoms *getAtomsCopy()
- {
- return const_cast<t_atoms *>(topology_.atoms());
}
-
- private:
- //! Object to use for tests
- SetAtomsPointer setAtoms_;
- //! Local topology to get atoms from
- TopologyInformation topology_;
+ return setAtoms_.get();
+ }
+ //! Get access to a t_atoms struct to use in the dummy t_trxframe.
+ t_atoms* getAtomsCopy() { return const_cast<t_atoms*>(topology_.atoms()); }
+
+private:
+ //! Object to use for tests
+ SetAtomsPointer setAtoms_;
+ //! Local topology to get atoms from
+ TopologyInformation topology_;
};
TEST_F(SetAtomsTest, RemovesExistingAtoms)
EXPECT_NE(frame.atoms, nullptr);
- SetAtoms *method = setAtoms(ChangeAtomsType::Never, true);
+ SetAtoms* method = setAtoms(ChangeAtomsType::Never, true);
EXPECT_NO_THROW(method->processFrame(0, &frame));
EXPECT_FALSE(frame.bAtoms);
frame.bAtoms = false;
frame.atoms = nullptr;
- SetAtoms *method = setAtoms(ChangeAtomsType::AlwaysFromStructure, true);
+ SetAtoms* method = setAtoms(ChangeAtomsType::AlwaysFromStructure, true);
EXPECT_NO_THROW(method->processFrame(0, &frame));
EXPECT_TRUE(frame.bAtoms);
frame.bAtoms = false;
frame.atoms = nullptr;
- SetAtoms *method = setAtoms(ChangeAtomsType::Always, false);
+ SetAtoms* method = setAtoms(ChangeAtomsType::Always, false);
EXPECT_THROW(method->processFrame(0, &frame), InconsistentInputError);
}
EXPECT_NE(frame.atoms, nullptr);
- SetAtoms *method = setAtoms(ChangeAtomsType::Always, false);
+ SetAtoms* method = setAtoms(ChangeAtomsType::Always, false);
EXPECT_NO_THROW(method->processFrame(0, &frame));
}
EXPECT_NE(frame.atoms, nullptr);
- SetAtoms *method = setAtoms(ChangeAtomsType::AlwaysFromStructure, false);
+ SetAtoms* method = setAtoms(ChangeAtomsType::AlwaysFromStructure, false);
EXPECT_THROW(method->processFrame(0, &frame), InconsistentInputError);
}