Unverified Commit 005fe9db authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

add initial unit test for {fmt} testing only conversions frequently used by LAMMPS

parent 886a950f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -5,3 +5,7 @@ add_test(Tokenizer test_tokenizer)
add_executable(test_utils test_utils.cpp)
target_link_libraries(test_utils PRIVATE lammps GTest::GMockMain GTest::GMock GTest::GTest)
add_test(Utils test_utils)

add_executable(test_fmtlib test_fmtlib.cpp)
target_link_libraries(test_fmtlib PRIVATE lammps GTest::GMockMain GTest::GMock GTest::GTest)
add_test(FmtLib test_fmtlib)
+40 −0
Original line number Diff line number Diff line
#include "lmptype.h"
#include "gtest/gtest.h"
#include "gmock/gmock.h"
#include "fmt/format.h"
#include <string>

using namespace LAMMPS_NS;
using ::testing::Eq;

// this tests a subset of {fmt} that is most relevant to LAMMPS

TEST(Fmtlib, insert_string) {
    const char word[] = "word";
    auto text = fmt::format("word {}",word);
    ASSERT_THAT(text, Eq("word word"));
}

TEST(Fmtlib, insert_int) {
    const int word = 333;
    auto text = fmt::format("word {}",word);
    ASSERT_THAT(text, Eq("word 333"));
}

TEST(Fmtlib, insert_neg_int) {
    const int word = -333;
    auto text = fmt::format("word {}",word);
    ASSERT_THAT(text, Eq("word -333"));
}

TEST(Fmtlib, insert_double) {
    const double word = 1.5;
    auto text = fmt::format("word {}",word);
    ASSERT_THAT(text, Eq("word 1.5"));
}

TEST(Fmtlib, insert_neg_double) {
    const double word = -1.5;
    auto text = fmt::format("word {}",word);
    ASSERT_THAT(text, Eq("word 1.5"));
}