Unverified Commit 22d8d0d0 authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

add tests for potential file reader and untils functions

parent 3bb3037b
Loading
Loading
Loading
Loading
+44 −1
Original line number Diff line number Diff line
@@ -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);
+22 −0
Original line number Diff line number Diff line
@@ -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);
}