diff --git a/unittest/formats/test_input_convert.cpp b/unittest/formats/test_input_convert.cpp index b5ec842e2a..ea7712b36c 100644 --- a/unittest/formats/test_input_convert.cpp +++ b/unittest/formats/test_input_convert.cpp @@ -74,29 +74,76 @@ TEST_F(InputConvertTest, logical) TEST_F(InputConvertTest, numeric) { EXPECT_DOUBLE_EQ(utils::numeric(FLERR, "0", false, lmp), 0); + EXPECT_DOUBLE_EQ(utils::numeric(FLERR, "0.1", false, lmp), 0.1); + EXPECT_DOUBLE_EQ(utils::numeric(FLERR, "-.232", false, lmp), -0.232); + EXPECT_DOUBLE_EQ(utils::numeric(FLERR, ".2e5", false, lmp), 20000.0); + EXPECT_DOUBLE_EQ(utils::numeric(FLERR, "2.5e-10", false, lmp), 2.5e-10); + EXPECT_DOUBLE_EQ(utils::numeric(FLERR, "+0.3", false, lmp), 0.3); + EXPECT_DOUBLE_EQ(utils::numeric(FLERR, "10000000000", false, lmp), 1e10); + EXPECT_DOUBLE_EQ(utils::numeric(FLERR, "2.56E+3", false, lmp), 2560); TEST_FAILURE(".*ERROR: Expected floating point.*", utils::numeric(FLERR, "yay", false, lmp);); + TEST_FAILURE(".*ERROR: Expected floating point.*", utils::numeric(FLERR, "", false, lmp);); + TEST_FAILURE(".*ERROR: Expected floating point.*", + utils::numeric(FLERR, nullptr, false, lmp);); + TEST_FAILURE(".*ERROR: Expected floating point.*", + utils::numeric(FLERR, "2.56D+3", false, lmp);); } TEST_F(InputConvertTest, inumeric) { - EXPECT_DOUBLE_EQ(utils::inumeric(FLERR, "0", false, lmp), 0); + EXPECT_EQ(utils::inumeric(FLERR, "0", false, lmp), 0); + EXPECT_EQ(utils::inumeric(FLERR, "-1", false, lmp), -1); + EXPECT_EQ(utils::inumeric(FLERR, "10000", false, lmp), 10000); + EXPECT_EQ(utils::inumeric(FLERR, "-532410", false, lmp), -532410); + EXPECT_EQ(utils::inumeric(FLERR, "-0", false, lmp), 0); + EXPECT_EQ(utils::inumeric(FLERR, "0100", false, lmp), 100); TEST_FAILURE(".*ERROR: Expected integer.*", utils::inumeric(FLERR, "yay", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::inumeric(FLERR, "0.1", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::inumeric(FLERR, "1.1", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::inumeric(FLERR, "1e5", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::inumeric(FLERR, "0x05", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::inumeric(FLERR, "", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::inumeric(FLERR, nullptr, false, lmp);); } TEST_F(InputConvertTest, bnumeric) { - EXPECT_DOUBLE_EQ(utils::bnumeric(FLERR, "0", false, lmp), 0); + EXPECT_EQ(utils::bnumeric(FLERR, "0", false, lmp), 0); + EXPECT_EQ(utils::bnumeric(FLERR, "-1", false, lmp), -1); + EXPECT_EQ(utils::bnumeric(FLERR, "10000", false, lmp), 10000); + EXPECT_EQ(utils::bnumeric(FLERR, "-532410", false, lmp), -532410); + EXPECT_EQ(utils::bnumeric(FLERR, "-0", false, lmp), 0); + EXPECT_EQ(utils::bnumeric(FLERR, "0100", false, lmp), 100); TEST_FAILURE(".*ERROR: Expected integer.*", utils::bnumeric(FLERR, "yay", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::bnumeric(FLERR, "0.1", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::bnumeric(FLERR, "1.1", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::bnumeric(FLERR, "1e5", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::bnumeric(FLERR, "0x05", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::bnumeric(FLERR, "", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::bnumeric(FLERR, nullptr, false, lmp);); } + TEST_F(InputConvertTest, tnumeric) { - EXPECT_DOUBLE_EQ(utils::tnumeric(FLERR, "0", false, lmp), 0); + EXPECT_EQ(utils::tnumeric(FLERR, "0", false, lmp), 0); + EXPECT_EQ(utils::tnumeric(FLERR, "-1", false, lmp), -1); + EXPECT_EQ(utils::tnumeric(FLERR, "10000", false, lmp), 10000); + EXPECT_EQ(utils::tnumeric(FLERR, "-532410", false, lmp), -532410); + EXPECT_EQ(utils::tnumeric(FLERR, "-0", false, lmp), 0); + EXPECT_EQ(utils::tnumeric(FLERR, "0100", false, lmp), 100); TEST_FAILURE(".*ERROR: Expected integer.*", utils::tnumeric(FLERR, "yay", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::tnumeric(FLERR, "0.1", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::tnumeric(FLERR, "1.1", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::tnumeric(FLERR, "1e5", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::tnumeric(FLERR, "0x05", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::tnumeric(FLERR, "", false, lmp);); + TEST_FAILURE(".*ERROR: Expected integer.*", utils::tnumeric(FLERR, nullptr, false, lmp);); } + } // namespace LAMMPS_NS int main(int argc, char **argv)