add tests for library interface and python

This commit is contained in:
Axel Kohlmeyer
2024-09-20 03:57:12 -04:00
parent e35a00258e
commit 958f2ae58b
2 changed files with 30 additions and 0 deletions

View File

@ -213,3 +213,23 @@ TEST_F(LibraryObjects, variables)
LAMMPS_NS::platform::unlink("test_variable.file");
}
TEST_F(LibraryObjects, expand)
{
::testing::internal::CaptureStdout();
lammps_command(lmp, "variable one index 1 2 3 4");
lammps_command(lmp, "variable two equal 2");
lammps_command(lmp, "variable three string three");
std::string output = ::testing::internal::GetCapturedStdout();
if (verbose) std::cout << output;
char *ptr = lammps_expand(lmp, "xx_$(4+5)_$(PI) ${one}-${two}-${three}");
EXPECT_NE(ptr, nullptr);
EXPECT_THAT((char *)ptr, StrEq("xx_9_3.141592653589793116 1-2-three"));
lammps_free(ptr);
ptr = lammps_expand(lmp, "'xx_$(4+5)_$(PI) ${one}-${two}-${three}'");
EXPECT_NE(ptr, nullptr);
EXPECT_THAT((char *)ptr, StrEq("'xx_$(4+5)_$(PI) ${one}-${two}-${three}'"));
lammps_free(ptr);
}

View File

@ -528,6 +528,16 @@ create_atoms 1 single &
self.assertEqual(a[0], x[0]*x[0]+x[1]*x[1]+x[2]*x[2])
self.assertEqual(a[1], x[3]*x[3]+x[4]*x[4]+x[5]*x[5])
def test_expand(self):
self.lmp.command("variable one index 1 2 3 4");
self.lmp.command("variable two equal 2");
self.lmp.command("variable three string three");
expanded = self.lmp.expand("xx_$(4+5)_$(PI) ${one}-${two}-${three}")
self.assertEqual(expanded, "xx_9_3.141592653589793116 1-2-three")
expanded = self.lmp.expand("'xx_$(4+5)_$(PI) ${one}-${two}-${three}'")
self.assertEqual(expanded, "'xx_$(4+5)_$(PI) ${one}-${two}-${three}'")
def test_get_thermo(self):
self.lmp.command("units lj")
self.lmp.command("atom_style atomic")