From d27d4912af06a9d0106e99edc77910060d09f1da Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 14 Sep 2020 20:53:19 -0400 Subject: [PATCH] test lammps_extract_settings() --- unittest/c-library/CMakeLists.txt | 2 +- .../c-library/test_library_properties.cpp | 58 ++++++++++++++++++- 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/unittest/c-library/CMakeLists.txt b/unittest/c-library/CMakeLists.txt index a2e2bcde64..fe70cb1584 100644 --- a/unittest/c-library/CMakeLists.txt +++ b/unittest/c-library/CMakeLists.txt @@ -12,7 +12,7 @@ target_link_libraries(test_library_properties PRIVATE lammps GTest::GTest GTest: target_compile_definitions(test_library_properties PRIVATE -DTEST_INPUT_FOLDER=${CMAKE_CURRENT_SOURCE_DIR}) add_test(LibraryProperties test_library_properties) -set(TEST_CONFIG_DEFS -DTEST_INPUT_FOLDER=${CMAKE_CURRENT_SOURCE_DIR}) +set(TEST_CONFIG_DEFS "-DTEST_INPUT_FOLDER=${CMAKE_CURRENT_SOURCE_DIR};-DLAMMPS_${LAMMPS_SIZES}") set(PKG_COUNT 0) foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) if(PKG_${PKG}) diff --git a/unittest/c-library/test_library_properties.cpp b/unittest/c-library/test_library_properties.cpp index 1dfbc99f19..3b1393e5c6 100644 --- a/unittest/c-library/test_library_properties.cpp +++ b/unittest/c-library/test_library_properties.cpp @@ -140,8 +140,8 @@ TEST_F(LibraryProperties, box) EXPECT_DOUBLE_EQ(lammps_get_thermo(lmp, "cellgamma"), 88.090847567003621); boxlo[0] = -6.1; - boxhi[1] = 7.3; - xy = 0.1; + boxhi[1] = 7.3; + xy = 0.1; lammps_reset_box(lmp, boxlo, boxhi, xy, yz, xz); lammps_extract_box(lmp, boxlo, boxhi, &xy, &yz, &xz, pflags, &boxflag); EXPECT_DOUBLE_EQ(boxlo[0], -6.1); @@ -160,3 +160,57 @@ TEST_F(LibraryProperties, box) EXPECT_DOUBLE_EQ(lammps_get_thermo(lmp, "vol"), 3390.3580784497199); EXPECT_DOUBLE_EQ(lammps_get_thermo(lmp, "cellgamma"), 89.61785205109274); }; +TEST_F(LibraryProperties, setting) +{ +#if defined(LAMMPS_SMALLSMALL) + EXPECT_EQ(lammps_extract_setting(lmp, "bigint"), 4); +#else + EXPECT_EQ(lammps_extract_setting(lmp, "bigint"), 8); +#endif +#if defined(LAMMPS_BIGBIG) + EXPECT_EQ(lammps_extract_setting(lmp, "tagint"), 8); + EXPECT_EQ(lammps_extract_setting(lmp, "imageint"), 8); +#else + EXPECT_EQ(lammps_extract_setting(lmp, "tagint"), 4); + EXPECT_EQ(lammps_extract_setting(lmp, "imageint"), 4); +#endif + + EXPECT_EQ(lammps_extract_setting(lmp, "box_exist"), 0); + if (!verbose) ::testing::internal::CaptureStdout(); + lammps_command(lmp, "dimension 2"); + if (!verbose) ::testing::internal::GetCapturedStdout(); + EXPECT_EQ(lammps_extract_setting(lmp, "dimension"), 2); + if (!verbose) ::testing::internal::CaptureStdout(); + lammps_command(lmp, "dimension 3"); + if (!verbose) ::testing::internal::GetCapturedStdout(); + EXPECT_EQ(lammps_extract_setting(lmp, "molecule_flag"), 0); + EXPECT_EQ(lammps_extract_setting(lmp, "q_flag"), 0); + EXPECT_EQ(lammps_extract_setting(lmp, "mu_flag"), 0); + EXPECT_EQ(lammps_extract_setting(lmp, "rmass_flag"), 0); + EXPECT_EQ(lammps_extract_setting(lmp, "UNKNOWN"), -1); + + if (lammps_has_style(lmp, "atom", "full")) { + std::string input = INPUT_DIR + PATH_SEP + "in.fourmol"; + if (!verbose) ::testing::internal::CaptureStdout(); + lammps_file(lmp, input.c_str()); + lammps_command(lmp, "run 2 post no"); + if (!verbose) ::testing::internal::GetCapturedStdout(); + EXPECT_EQ(lammps_extract_setting(lmp, "triclinic"), 0); + EXPECT_EQ(lammps_extract_setting(lmp, "box_exist"), 1); + EXPECT_EQ(lammps_extract_setting(lmp, "dimension"), 3); + EXPECT_EQ(lammps_extract_setting(lmp, "nlocal"), 29); + EXPECT_EQ(lammps_extract_setting(lmp, "nghost"), 518); + EXPECT_EQ(lammps_extract_setting(lmp, "nall"), 547); + EXPECT_EQ(lammps_extract_setting(lmp, "nmax"), 16384); + EXPECT_EQ(lammps_extract_setting(lmp, "molecule_flag"), 1); + EXPECT_EQ(lammps_extract_setting(lmp, "q_flag"), 1); + EXPECT_EQ(lammps_extract_setting(lmp, "mu_flag"), 0); + EXPECT_EQ(lammps_extract_setting(lmp, "rmass_flag"), 0); + if (!verbose) ::testing::internal::CaptureStdout(); + lammps_command(lmp, "change_box all triclinic"); + lammps_command(lmp, "fix rmass all property/atom rmass ghost yes"); + if (!verbose) ::testing::internal::GetCapturedStdout(); + EXPECT_EQ(lammps_extract_setting(lmp, "triclinic"), 1); + EXPECT_EQ(lammps_extract_setting(lmp, "rmass_flag"), 1); + } +};