#include #include "oi/ContainerInfo.h" TEST(ContainerInfoTest, matcher) { ContainerInfo info{"std::vector", SEQ_TYPE, "vector"}; EXPECT_TRUE(std::regex_search("std::vector", info.matcher)); EXPECT_TRUE(std::regex_search("std::vector>", info.matcher)); EXPECT_TRUE(std::regex_search("std::vector", info.matcher)); EXPECT_FALSE(std::regex_search("vector", info.matcher)); EXPECT_FALSE(std::regex_search("non_std::vector", info.matcher)); EXPECT_FALSE(std::regex_search("std::vector_other", info.matcher)); EXPECT_FALSE(std::regex_search("std::list>", info.matcher)); EXPECT_FALSE(std::regex_search("std::vector::value_type", info.matcher)); EXPECT_FALSE(std::regex_search("std::vector::value_type", info.matcher)); EXPECT_FALSE(std::regex_search("std::vector>::value_type", info.matcher)); // Uh-oh, here's a case that I don't think regexes are powerful enough to // match: EXPECT_FALSE(std::regex_search("std::vector::subtype", // info.matcher)); }