Added variadic class template recursive call sequence diagram

This commit is contained in:
Bartek Kryza
2024-02-11 23:52:32 +01:00
parent 7f25fa58f5
commit 3af55f1e78
7 changed files with 178 additions and 4 deletions

View File

@@ -40,6 +40,17 @@ TEST_CASE("t20040", "[test-case][sequence]")
_A("print<int,double,std::string>(int,double,std::string)"),
""));
REQUIRE_THAT(src,
HasCall(_A("print<int,double,std::string>(int,double,std::string)"),
_A("print<double,std::string>(double,std::string)"), ""));
REQUIRE_THAT(src,
HasCall(_A("print<double,std::string>(double,std::string)"),
_A("print<std::string>(std::string)"), ""));
REQUIRE_THAT(src,
HasCall(_A("print<std::string>(std::string)"), _A("print()"), ""));
save_puml(config.output_directory(), diagram->name + ".puml", src);
}
@@ -54,8 +65,24 @@ TEST_CASE("t20040", "[test-case][sequence]")
{
auto src = generate_sequence_mermaid(diagram, *model);
mermaid::AliasMatcher _A(src);
using mermaid::IsClass;
mermaid::SequenceDiagramAliasMatcher _A(src);
using mermaid::HasCall;
REQUIRE_THAT(src,
HasCall(_A("tmain()"),
_A("print<int,double,std::string>(int,double,std::string)"),
""));
REQUIRE_THAT(src,
HasCall(_A("print<int,double,std::string>(int,double,std::string)"),
_A("print<double,std::string>(double,std::string)"), ""));
REQUIRE_THAT(src,
HasCall(_A("print<double,std::string>(double,std::string)"),
_A("print<std::string>(std::string)"), ""));
REQUIRE_THAT(src,
HasCall(_A("print<std::string>(std::string)"), _A("print()"), ""));
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
}