add tests for potential file reader and untils functions
This commit is contained in:
@ -76,7 +76,7 @@ protected:
|
||||
}
|
||||
};
|
||||
|
||||
TEST_F(PotentialFileReaderTest, Si)
|
||||
TEST_F(PotentialFileReaderTest, Sw)
|
||||
{
|
||||
if (!verbose) ::testing::internal::CaptureStdout();
|
||||
lmp->input->one("units metal");
|
||||
@ -208,6 +208,49 @@ TEST_F(PotentialFileReaderTest, Vashishta)
|
||||
ASSERT_EQ(utils::count_words(line), PairVashishta::NPARAMS_PER_LINE);
|
||||
}
|
||||
|
||||
TEST_F(PotentialFileReaderTest, UnitConvert)
|
||||
{
|
||||
PotentialFileReader *reader;
|
||||
int unit_convert, flag;
|
||||
|
||||
if (!verbose) ::testing::internal::CaptureStdout();
|
||||
lmp->input->one("units metal");
|
||||
reader = new PotentialFileReader(lmp, "Si.sw", "Stillinger-Weber");
|
||||
if (!verbose) ::testing::internal::GetCapturedStdout();
|
||||
|
||||
unit_convert = reader->get_unit_convert();
|
||||
ASSERT_EQ(unit_convert, 0);
|
||||
delete reader;
|
||||
|
||||
if (!verbose) ::testing::internal::CaptureStdout();
|
||||
flag = utils::get_supported_conversions(utils::UNKNOWN);
|
||||
reader = new PotentialFileReader(lmp, "Si.sw", "Stillinger-Weber", flag);
|
||||
if (!verbose) ::testing::internal::GetCapturedStdout();
|
||||
|
||||
unit_convert = reader->get_unit_convert();
|
||||
ASSERT_EQ(unit_convert, 0);
|
||||
delete reader;
|
||||
|
||||
if (!verbose) ::testing::internal::CaptureStdout();
|
||||
flag = utils::get_supported_conversions(utils::ENERGY);
|
||||
reader = new PotentialFileReader(lmp, "Si.sw", "Stillinger-Weber", flag);
|
||||
if (!verbose) ::testing::internal::GetCapturedStdout();
|
||||
|
||||
unit_convert = reader->get_unit_convert();
|
||||
ASSERT_EQ(unit_convert, 0);
|
||||
delete reader;
|
||||
|
||||
if (!verbose) ::testing::internal::CaptureStdout();
|
||||
flag = utils::get_supported_conversions(utils::ENERGY);
|
||||
lmp->input->one("units real");
|
||||
reader = new PotentialFileReader(lmp, "Si.sw", "Stillinger-Weber", flag);
|
||||
if (!verbose) ::testing::internal::GetCapturedStdout();
|
||||
|
||||
unit_convert = reader->get_unit_convert();
|
||||
ASSERT_EQ(unit_convert, utils::METAL2REAL);
|
||||
delete reader;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
MPI_Init(&argc, &argv);
|
||||
|
||||
@ -341,3 +341,25 @@ TEST(Utils, potential_file)
|
||||
remove("ctest1.txt");
|
||||
remove("ctest2.txt");
|
||||
}
|
||||
|
||||
TEST(Utils, unit_conversion)
|
||||
{
|
||||
double factor;
|
||||
int flag;
|
||||
|
||||
flag = utils::get_supported_conversions(utils::UNKNOWN);
|
||||
ASSERT_EQ(flag, utils::NOCONVERT);
|
||||
flag = utils::get_supported_conversions(utils::ENERGY);
|
||||
ASSERT_EQ(flag, utils::METAL2REAL | utils::REAL2METAL);
|
||||
|
||||
factor = utils::get_conversion_factor(utils::UNKNOWN, 1 << 30 - 1);
|
||||
ASSERT_DOUBLE_EQ(factor, 0.0);
|
||||
factor = utils::get_conversion_factor(utils::UNKNOWN, utils::NOCONVERT);
|
||||
ASSERT_DOUBLE_EQ(factor, 0.0);
|
||||
factor = utils::get_conversion_factor(utils::ENERGY, utils::NOCONVERT);
|
||||
ASSERT_DOUBLE_EQ(factor, 1.0);
|
||||
factor = utils::get_conversion_factor(utils::ENERGY, utils::METAL2REAL);
|
||||
ASSERT_DOUBLE_EQ(factor, 23.060549);
|
||||
factor = utils::get_conversion_factor(utils::ENERGY, utils::REAL2METAL);
|
||||
ASSERT_DOUBLE_EQ(factor, 1.0 / 23.060549);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user