class GetIrTest : public ::testing::Test
{
public:
- GetIrTest() : fileManager_(), data_(), checker_(data_.rootChecker()),
- ir_(), mdModules_(), opts_(),
+ GetIrTest() : fileManager_(), ir_(), mdModules_(), opts_(),
wi_(init_warning(FALSE, 0)), wiGuard_(wi_)
{
get_ir(inputMdpFilename.c_str(), outputMdpFilename.c_str(),
&mdModules_, &ir_, &opts_, WriteMdpHeader::no, wi_);
- bool failure = warning_errors_exist(wi_);
- checker_.checkBoolean(failure, "Error parsing mdp file");
+
+ // Now check
+ bool failure = warning_errors_exist(wi_);
+ TestReferenceData data;
+ TestReferenceChecker checker(data.rootChecker());
+ checker.checkBoolean(failure, "Error parsing mdp file");
warning_reset(wi_);
auto outputMdpContents = TextReader::readFileToString(outputMdpFilename);
- checker_.checkString(outputMdpContents, "OutputMdpFile");
+ checker.checkString(outputMdpContents, "OutputMdpFile");
}
TestFileManager fileManager_;
- TestReferenceData data_;
- TestReferenceChecker checker_;
t_inputrec ir_;
MDModules mdModules_;
t_gromppopts opts_;
runTest(inputMdpFile);
}
+TEST_F(GetIrTest, TerminatesOnDuplicateOldAndNewKeys)
+{
+ const char *inputMdpFile[] = {"verlet-buffer-drift = 1.3", "verlet-buffer-tolerance = 2.7"};
+ EXPECT_DEATH_IF_SUPPORTED(runTest(joinStrings(inputMdpFile, "\n")), "A parameter is present with both");
+}
+
+TEST_F(GetIrTest, ImplicitSolventNoWorks)
+{
+ const char *inputMdpFile = "implicit-solvent = no";
+ runTest(inputMdpFile);
+}
+
+TEST_F(GetIrTest, ImplicitSolventYesWorks)
+{
+ const char *inputMdpFile = "implicit-solvent = yes";
+ EXPECT_DEATH_IF_SUPPORTED(runTest(inputMdpFile), "Invalid enum");
+}
+
} // namespace
} // namespace