test a variety of dump output frequency and starting timesteps and run lengths
This commit is contained in:
@ -699,6 +699,66 @@ TEST_F(DumpAtomTest, binary_write_dump)
|
|||||||
delete_file(dump_file);
|
delete_file(dump_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(DumpAtomTest, frequency)
|
||||||
|
{
|
||||||
|
auto dump_file = dump_filename("frequency");
|
||||||
|
BEGIN_HIDE_OUTPUT();
|
||||||
|
command("dump id all atom 5 " + dump_file);
|
||||||
|
command("run 15 post no");
|
||||||
|
command("run 12 post no");
|
||||||
|
END_HIDE_OUTPUT();
|
||||||
|
|
||||||
|
// NOTE: must reset to current timestep (27) to avoid unexpected issues with following
|
||||||
|
TEST_FAILURE(".*ERROR: Cannot reset timestep with active dump - must undump first.*",
|
||||||
|
command("reset_timestep 27"););
|
||||||
|
|
||||||
|
BEGIN_HIDE_OUTPUT();
|
||||||
|
command("run 3 post no");
|
||||||
|
command("undump id");
|
||||||
|
command("reset_timestep 5");
|
||||||
|
command("dump id all atom 10 " + dump_file);
|
||||||
|
command("dump_modify id append yes");
|
||||||
|
command("run 20 post no");
|
||||||
|
command("undump id");
|
||||||
|
END_HIDE_OUTPUT();
|
||||||
|
|
||||||
|
std::vector<std::string> expected, values;
|
||||||
|
values = extract_items(dump_file, "TIMESTEP");
|
||||||
|
expected = {"0", "5", "10", "15", "20", "25", "30", "10", "20"};
|
||||||
|
ASSERT_EQ(values.size(), expected.size());
|
||||||
|
for (int i = 0; i < expected.size(); ++i)
|
||||||
|
ASSERT_THAT(values[i], Eq(expected[i]));
|
||||||
|
|
||||||
|
BEGIN_HIDE_OUTPUT();
|
||||||
|
command("reset_timestep 10");
|
||||||
|
command("dump id all atom 10 " + dump_file);
|
||||||
|
command("run 20 post no");
|
||||||
|
command("undump id");
|
||||||
|
END_HIDE_OUTPUT();
|
||||||
|
|
||||||
|
values = extract_items(dump_file, "TIMESTEP");
|
||||||
|
expected = {"10", "20", "30"};
|
||||||
|
ASSERT_EQ(values.size(), expected.size());
|
||||||
|
for (int i = 0; i < expected.size(); ++i)
|
||||||
|
ASSERT_THAT(values[i], Eq(expected[i]));
|
||||||
|
|
||||||
|
BEGIN_HIDE_OUTPUT();
|
||||||
|
command("reset_timestep 0");
|
||||||
|
command("dump id all atom 10 " + dump_file);
|
||||||
|
command("minimize 0.0 0.0 15 30");
|
||||||
|
command("run 20 post no");
|
||||||
|
command("undump id");
|
||||||
|
END_HIDE_OUTPUT();
|
||||||
|
|
||||||
|
values = extract_items(dump_file, "TIMESTEP");
|
||||||
|
expected = {"0", "10", "15", "20", "30"};
|
||||||
|
ASSERT_EQ(values.size(), expected.size());
|
||||||
|
for (int i = 0; i < expected.size(); ++i)
|
||||||
|
ASSERT_THAT(values[i], Eq(expected[i]));
|
||||||
|
|
||||||
|
delete_file(dump_file);
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------
|
||||||
// dump_modify
|
// dump_modify
|
||||||
//-------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user