add unit tests for citeme class crc32 checks of unique citations
This commit is contained in:
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#include "lammps.h"
|
#include "lammps.h"
|
||||||
|
|
||||||
|
#include "citeme.h"
|
||||||
#include "force.h"
|
#include "force.h"
|
||||||
#include "info.h"
|
#include "info.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
@ -368,6 +369,51 @@ TEST_F(SimpleCommandsTest, Shell)
|
|||||||
ASSERT_THAT(other_var, StrEq("2"));
|
ASSERT_THAT(other_var, StrEq("2"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(SimpleCommandsTest, CiteMe)
|
||||||
|
{
|
||||||
|
ASSERT_EQ(lmp->citeme, nullptr);
|
||||||
|
|
||||||
|
lmp->citeme = new LAMMPS_NS::CiteMe(lmp, CiteMe::TERSE, CiteMe::TERSE, nullptr);
|
||||||
|
|
||||||
|
::testing::internal::CaptureStdout();
|
||||||
|
lmp->citeme->add("test citation one:\n 1\n");
|
||||||
|
lmp->citeme->add("test citation two:\n 2\n");
|
||||||
|
lmp->citeme->add("test citation one:\n 1\n");
|
||||||
|
lmp->citeme->flush();
|
||||||
|
std::string text = ::testing::internal::GetCapturedStdout();
|
||||||
|
if (verbose) std::cout << text;
|
||||||
|
|
||||||
|
// find the two unique citations, but not the third
|
||||||
|
ASSERT_THAT(text, MatchesRegex(".*one.*two.*"));
|
||||||
|
ASSERT_THAT(text, Not(MatchesRegex(".*one.*two.*one.*")));
|
||||||
|
|
||||||
|
::testing::internal::CaptureStdout();
|
||||||
|
lmp->citeme->add("test citation one:\n 0\n");
|
||||||
|
lmp->citeme->add("test citation two:\n 2\n");
|
||||||
|
lmp->citeme->add("test citation three:\n 3\n");
|
||||||
|
lmp->citeme->flush();
|
||||||
|
|
||||||
|
text = ::testing::internal::GetCapturedStdout();
|
||||||
|
if (verbose) std::cout << text;
|
||||||
|
|
||||||
|
// find the forth (only differs in long citation) and sixth added citation
|
||||||
|
ASSERT_THAT(text, MatchesRegex(".*one.*three.*"));
|
||||||
|
ASSERT_THAT(text, Not(MatchesRegex(".*two.*")));
|
||||||
|
|
||||||
|
::testing::internal::CaptureStdout();
|
||||||
|
lmp->citeme->add("test citation one:\n 1\n");
|
||||||
|
lmp->citeme->add("test citation two:\n 2\n");
|
||||||
|
lmp->citeme->add("test citation one:\n 0\n");
|
||||||
|
lmp->citeme->add("test citation two:\n 2\n");
|
||||||
|
lmp->citeme->add("test citation three:\n 3\n");
|
||||||
|
lmp->citeme->flush();
|
||||||
|
|
||||||
|
text = ::testing::internal::GetCapturedStdout();
|
||||||
|
if (verbose) std::cout << text;
|
||||||
|
|
||||||
|
// no new citation. no CITE-CITE-CITE- lines
|
||||||
|
ASSERT_THAT(text, Not(MatchesRegex(".*CITE-CITE-CITE-CITE.*")));
|
||||||
|
}
|
||||||
} // namespace LAMMPS_NS
|
} // namespace LAMMPS_NS
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
|
|||||||
Reference in New Issue
Block a user