Merge branch 'develop' into distributed-grids

# Conflicts:
#	doc/src/Developer_utils.rst
#	doc/src/dump.rst
#	doc/src/fix_ave_chunk.rst
#	src/utils.h
This commit is contained in:
Axel Kohlmeyer
2022-09-12 18:31:29 -04:00
524 changed files with 298740 additions and 6598 deletions

View File

@ -325,10 +325,10 @@ TEST(Platform, path_and_directory)
ASSERT_FALSE(platform::path_is_directory("path_is_directory"));
#if defined(_WIN32)
ASSERT_EQ(platform::mkdir("path_is_directory\\path_is_directory"),0);
ASSERT_EQ(platform::mkdir("path_is_directory\\path_is_directory"), 0);
ASSERT_TRUE(platform::path_is_directory("path_is_directory\\path_is_directory"));
#else
ASSERT_EQ(platform::mkdir("path_is_directory/path_is_directory"),0);
ASSERT_EQ(platform::mkdir("path_is_directory/path_is_directory"), 0);
ASSERT_TRUE(platform::path_is_directory("path_is_directory/path_is_directory"));
#endif
platform::rmdir("path_is_directory");

View File

@ -141,8 +141,8 @@ TEST(Utils, count_words_with_extra_spaces)
TEST(Utils, join_words)
{
std::vector<std::string> words = {"one", "two", "three" };
auto combined = utils::join_words(words, " ");
std::vector<std::string> words = {"one", "two", "three"};
auto combined = utils::join_words(words, " ");
ASSERT_THAT(combined, StrEq("one two three"));
combined = utils::join_words(words, "");
ASSERT_THAT(combined, StrEq("onetwothree"));
@ -152,7 +152,7 @@ TEST(Utils, join_words)
words.resize(1);
combined = utils::join_words(words, "/");
ASSERT_THAT(combined, StrEq("one"));
words.push_back("");
words.emplace_back("");
combined = utils::join_words(words, "1");
ASSERT_THAT(combined, StrEq("one1"));
}
@ -440,6 +440,53 @@ TEST(Utils, invalid_id4)
ASSERT_FALSE(utils::is_id("a$12"));
}
TEST(Utils, valid_numeric)
{
ASSERT_EQ(utils::is_type("1"), 0);
ASSERT_EQ(utils::is_type("21"), 0);
ASSERT_EQ(utils::is_type("05"), 0);
ASSERT_EQ(utils::is_type("1*"), 0);
ASSERT_EQ(utils::is_type("*2"), 0);
ASSERT_EQ(utils::is_type("1*4"), 0);
}
TEST(Utils, invalid_numeric)
{
ASSERT_EQ(utils::is_type("1*2*"), -1);
ASSERT_EQ(utils::is_type("**2"), -1);
ASSERT_EQ(utils::is_type("*4*"), -1);
ASSERT_EQ(utils::is_type("30**"), -1);
}
TEST(Utils, valid_label)
{
ASSERT_EQ(utils::is_type("A"), 1);
ASSERT_EQ(utils::is_type("c1"), 1);
ASSERT_EQ(utils::is_type("o1_"), 1);
ASSERT_EQ(utils::is_type("C1'"), 1);
ASSERT_EQ(utils::is_type("N2\"-C1'"), 1);
ASSERT_EQ(utils::is_type("[N2\"][C1']"), 1);
ASSERT_EQ(utils::is_type("@X2=&X1"), 1);
ASSERT_EQ(utils::is_type("|Na|Cl|H2O|"), 1);
ASSERT_EQ(utils::is_type("CA(1)/CB(1)"), 1);
ASSERT_EQ(utils::is_type("A-B"), 1); // ASCII
ASSERT_EQ(utils::is_type("AB"), 1); // UTF-8
}
TEST(Utils, invalid_label)
{
ASSERT_EQ(utils::is_type("1A"), -1);
ASSERT_EQ(utils::is_type("#c"), -1);
ASSERT_EQ(utils::is_type("*B"), -1);
ASSERT_EQ(utils::is_type(" B"), -1);
ASSERT_EQ(utils::is_type("A "), -1);
ASSERT_EQ(utils::is_type("A B"), -1);
ASSERT_EQ(utils::is_type("\tB"), -1);
ASSERT_EQ(utils::is_type("C\n"), -1);
ASSERT_EQ(utils::is_type("d\r"), -1);
ASSERT_EQ(utils::is_type(""), -1);
}
TEST(Utils, strmatch_beg)
{
ASSERT_TRUE(utils::strmatch("rigid/small/omp", "^rigid"));