diff --git a/src/sequence_diagram/generators/json/sequence_diagram_generator.cc b/src/sequence_diagram/generators/json/sequence_diagram_generator.cc index 8c17daf9..d126d5a7 100644 --- a/src/sequence_diagram/generators/json/sequence_diagram_generator.cc +++ b/src/sequence_diagram/generators/json/sequence_diagram_generator.cc @@ -40,6 +40,8 @@ void to_json(nlohmann::json &j, const participant &c) j["name"] = dynamic_cast(c).method_name(); } + j["full_name"] = c.full_name(false); + if (c.type_name() == "function" || c.type_name() == "function_template") { const auto &f = dynamic_cast(c); if (f.is_cuda_kernel()) @@ -172,7 +174,7 @@ void generator::generate_call(const message &m, nlohmann::json &parent) const dynamic_cast(m); msg["scope"] = to_string(m.message_scope()); - msg["return_type"] = m.return_type(); + msg["return_type"] = config().simplify_template_type(m.return_type()); parent["messages"].push_back(std::move(msg)); @@ -568,6 +570,12 @@ common::id_t generator::generate_participant( .value() .class_id(); + LOG_DBG("Generating JSON method participant: {}", + model() + .get_participant(participant_id) + .value() + .full_name(false)); + if (!is_participant_generated(class_participant_id)) { const auto &class_participant = model() @@ -580,6 +588,13 @@ common::id_t generator::generate_participant( json_["participants"].push_back(class_participant); json_["participants"].back()["activities"].push_back(participant); + // Perform config dependent postprocessing on generated class + const auto class_participant_full_name = + class_participant.full_name(false); + + json_["participants"].back().at("display_name") = + make_display_name(class_participant_full_name); + return class_participant_id; } @@ -807,7 +822,8 @@ void generator::generate_diagram(nlohmann::json &parent) const if (from.value().type_name() == "method" || config().combine_free_functions_into_file_participants()) { - sequence["return_type"] = from.value().return_type(); + sequence["return_type"] = + make_display_name(from.value().return_type()); } parent["sequences"].push_back(std::move(sequence)); @@ -821,11 +837,21 @@ void generator::generate_diagram(nlohmann::json &parent) const // Perform config dependent postprocessing on generated participants for (auto &p : json_["participants"]) { if (p.contains("display_name")) { - p["display_name"] = - config().simplify_template_type(p["display_name"]); + p["display_name"] = make_display_name(p["display_name"]); } } parent["participants"] = json_["participants"]; } + +std::string generator::make_display_name(const std::string &full_name) const +{ + auto result = config().simplify_template_type(full_name); + result = config().using_namespace().relative(result); + common::ensure_lambda_type_is_relative(config(), result); + result = render_name(result); + + return result; +} + } // namespace clanguml::sequence_diagram::generators::json diff --git a/src/sequence_diagram/generators/json/sequence_diagram_generator.h b/src/sequence_diagram/generators/json/sequence_diagram_generator.h index bbf45078..e519f1bb 100644 --- a/src/sequence_diagram/generators/json/sequence_diagram_generator.h +++ b/src/sequence_diagram/generators/json/sequence_diagram_generator.h @@ -111,6 +111,8 @@ public: */ nlohmann::json ¤t_block_statement() const; + std::string make_display_name(const std::string &full_name) const; + private: /** * @brief Check if specified participant has already been generated. diff --git a/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc b/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc index b46bc00b..11cceb37 100644 --- a/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc +++ b/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc @@ -388,8 +388,11 @@ void generator::generate_participant( print_debug(class_participant, ostr); auto participant_name = - config().using_namespace().relative(config().simplify_template_type( - class_participant.full_name(false))); + config().simplify_template_type( + class_participant.full_name(false)); + participant_name = + config().using_namespace().relative(participant_name); + common::ensure_lambda_type_is_relative(config(), participant_name); ostr << "participant \"" << render_name(participant_name) << "\" as " @@ -531,8 +534,7 @@ void generator::generate_diagram(std::ostream &ostr) const if (from.value().type_name() == "method" || config().combine_free_functions_into_file_participants()) { generate_participant(ostr, from_activity_id); - ostr << "[->" - << " " << generate_alias(from.value()) << " : " + ostr << "[->" << " " << generate_alias(from.value()) << " : " << from.value().message_name( select_method_arguments_render_mode()) << '\n'; @@ -571,8 +573,7 @@ void generator::generate_diagram(std::ostream &ostr) const if (from.value().type_name() == "method" || config().combine_free_functions_into_file_participants()) { generate_participant(ostr, from_activity_id); - ostr << "[->" - << " " << generate_alias(from.value()) << " : " + ostr << "[->" << " " << generate_alias(from.value()) << " : " << from.value().message_name( select_method_arguments_render_mode()) << '\n'; @@ -636,8 +637,7 @@ void generator::generate_diagram(std::ostream &ostr) const // first activity for this 'start_from' condition if (from.value().type_name() == "method" || config().combine_free_functions_into_file_participants()) { - ostr << "[->" - << " " << from_alias << " : " + ostr << "[->" << " " << from_alias << " : " << from.value().message_name(render_mode) << '\n'; } @@ -650,8 +650,7 @@ void generator::generate_diagram(std::ostream &ostr) const config().combine_free_functions_into_file_participants()) { if (!from.value().is_void()) { - ostr << "[<--" - << " " << from_alias; + ostr << "[<--" << " " << from_alias; if (config().generate_return_types()) ostr << " : //" << from.value().return_type() << "//"; diff --git a/tests/t20001/test_case.h b/tests/t20001/test_case.h index ed29917d..c0538f34 100644 --- a/tests/t20001/test_case.h +++ b/tests/t20001/test_case.h @@ -74,97 +74,4 @@ TEST_CASE("t20001") CHECK(tmain.value()["source_location"]["file"] == "t20001.cc"); CHECK(tmain.value()["source_location"]["line"] == 61); }); - - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, HasTitle("Basic sequence diagram example")); - - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "add3(int,int,int)")); - REQUIRE_THAT(src, HasCall(_A("A"), "add(int,int)")); - REQUIRE_THAT(src, !HasCall(_A("A"), _A("detail::C"), "add(int,int)")); - REQUIRE_THAT(src, HasCall(_A("A"), "__log_result(int)__")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "__log_result(int)__")); - - REQUIRE_THAT(src, HasComment("t20001 test diagram of type sequence")); - - REQUIRE_THAT( - src, HasMessageComment(_A("tmain()"), "Just add 2 numbers")); - - REQUIRE_THAT( - src, HasMessageComment(_A("tmain()"), "And now add another 2")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - const auto &A = get_participant(j, "A"); - - CHECK(A.has_value()); - - CHECK(A.value()["type"] == "class"); - CHECK(A.value()["name"] == "A"); - CHECK(A.value()["display_name"] == "A"); - CHECK(A.value()["namespace"] == "clanguml::t20001"); - CHECK(A.value()["source_location"]["file"] == "t20001.cc"); - CHECK(A.value()["source_location"]["line"] == 13); - - const auto &tmain = get_participant(j, "tmain()"); - - CHECK(tmain.has_value()); - - CHECK(tmain.value()["type"] == "function"); - CHECK(tmain.value()["name"] == "tmain"); - CHECK(tmain.value()["display_name"] == "tmain()"); - CHECK(tmain.value()["namespace"] == "clanguml::t20001"); - CHECK(tmain.value()["source_location"]["file"] == "t20001.cc"); - CHECK(tmain.value()["source_location"]["line"] == 61); - - REQUIRE(HasTitle(j, "Basic sequence diagram example")); - - REQUIRE(IsFunctionParticipant(j, "tmain()")); - REQUIRE(IsClassParticipant(j, "A")); - REQUIRE(IsClassParticipant(j, "B")); - - std::vector messages = { - FindMessage(j, "tmain()", "A", "add(int,int)"), - FindMessage(j, "tmain()", "B", "wrap_add3(int,int,int)"), - FindMessage(j, "B", "A", "add3(int,int,int)"), - FindMessage(j, "A", "A", "add(int,int)"), - FindMessage(j, "A", "A", "log_result(int)"), - FindMessage(j, "B", "A", "log_result(int)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - using mermaid::HasComment; - using mermaid::HasTitle; - - REQUIRE_THAT(src, HasTitle("Basic sequence diagram example")); - - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "add3(int,int,int)")); - REQUIRE_THAT(src, HasCall(_A("A"), "add(int,int)")); - REQUIRE_THAT(src, !HasCall(_A("A"), _A("detail::C"), "add(int,int)")); - REQUIRE_THAT(src, HasCall(_A("A"), "log_result(int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "log_result(int)")); - - REQUIRE_THAT(src, HasComment("t20001 test diagram of type sequence")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } - */ } diff --git a/tests/t20002/test_case.h b/tests/t20002/test_case.h index bc0f8034..aecc06e9 100644 --- a/tests/t20002/test_case.h +++ b/tests/t20002/test_case.h @@ -37,50 +37,4 @@ TEST_CASE("t20002") {"m3()", "m4()", ""} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, HasCall(_A("m1()"), _A("m2()"), "")); - REQUIRE_THAT(src, HasCall(_A("m2()"), _A("m3()"), "")); - REQUIRE_THAT(src, HasCall(_A("m3()"), _A("m4()"), "")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - REQUIRE(IsFunctionParticipant(j, "m1()")); - REQUIRE(IsFunctionParticipant(j, "m2()")); - REQUIRE(IsFunctionParticipant(j, "m3()")); - REQUIRE(IsFunctionParticipant(j, "m4()")); - - std::vector messages = {FindMessage(j, "m1()", "m2()", ""), - FindMessage(j, "m2()", "m3()", ""), - FindMessage(j, "m3()", "m4()", "")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("m1()"), _A("m2()"), "")); - REQUIRE_THAT(src, HasCall(_A("m2()"), _A("m3()"), "")); - REQUIRE_THAT(src, HasCall(_A("m3()"), _A("m4()"), "")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - }*/ } diff --git a/tests/t20003/test_case.h b/tests/t20003/test_case.h index ab08e227..ba5c844e 100644 --- a/tests/t20003/test_case.h +++ b/tests/t20003/test_case.h @@ -37,46 +37,4 @@ TEST_CASE("t20003") {"m3(T)", "m4(T)", ""} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, HasCall(_A("m1(T)"), _A("m2(T)"), "")); - REQUIRE_THAT(src, HasCall(_A("m2(T)"), _A("m3(T)"), "")); - REQUIRE_THAT(src, HasCall(_A("m3(T)"), _A("m4(T)"), "")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = {FindMessage(j, "m1(T)", "m2(T)", - ""), FindMessage(j, "m2(T)", "m3(T)", ""), FindMessage(j, - "m3(T)", "m4(T)", "")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("m1(T)"), _A("m2(T)"), "")); - REQUIRE_THAT(src, HasCall(_A("m2(T)"), _A("m3(T)"), "")); - REQUIRE_THAT(src, HasCall(_A("m3(T)"), _A("m4(T)"), "")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } diff --git a/tests/t20004/test_case.h b/tests/t20004/test_case.h index cb87263a..b576a878 100644 --- a/tests/t20004/test_case.h +++ b/tests/t20004/test_case.h @@ -42,89 +42,4 @@ TEST_CASE("t20004") REQUIRE(!HasMessage(src, {"m1(float)", "m1(float)", ""})); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, HasCall(_A("main()"), _A("m1(float)"), - "")); - REQUIRE_THAT( src, !HasCall(_A("m1(float)"), - _A("m1(float)"), "")); - REQUIRE_THAT( src, - !HasCall(_A("m1(float)"), _A("m1(float)"), "")); - - REQUIRE_THAT(src, - HasCall(_A("main()"), _A("m1(unsigned long)"), - "")); - REQUIRE_THAT(src, HasCall(_A("m1(unsigned long)"), - _A("m4(unsigned long)"), "")); - - REQUIRE_THAT( - src, HasCall(_A("main()"), _A("m1(std::string)"), - "")); REQUIRE_THAT(src, HasCall(_A("m1(std::string)"), - _A("m2(std::string)"), "")); - - REQUIRE_THAT(src, HasCall(_A("main()"), _A("m1(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("m1(int)"), _A("m2(int)"), - "")); REQUIRE_THAT(src, HasCall(_A("m2(int)"), _A("m3(int)"), - "")); REQUIRE_THAT(src, HasCall(_A("m3(int)"), _A("m4(int)"), - "")); REQUIRE_THAT(src, EndsWith("@enduml\n")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "main()", "m1(float)", ""), - FindMessage(j, "main()", "m1(unsigned long)", - ""), FindMessage(j, "m1(unsigned long)", "m4(unsigned long)", ""), FindMessage(j, "main()", - "m1(std::string)", ""), FindMessage(j, - "m1(std::string)", "m2(std::string)", ""), - FindMessage(j, "main()", "m1(int)", ""), - FindMessage(j, "m1(int)", "m2(int)", ""), - FindMessage(j, "m2(int)", "m3(int)", ""), - FindMessage(j, "m3(int)", "m4(int)", "")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("main()"), _A("m1(float)"), - "")); REQUIRE_THAT( src, !HasCall(_A("m1(float)"), - _A("m1(float)"), "")); REQUIRE_THAT( src, - !HasCall(_A("m1(float)"), _A("m1(float)"), "")); - - REQUIRE_THAT(src, - HasCall(_A("main()"), _A("m1(unsigned long)"), - "")); REQUIRE_THAT(src, HasCall(_A("m1(unsigned long)"), - _A("m4(unsigned long)"), "")); - - REQUIRE_THAT( - src, HasCall(_A("main()"), _A("m1(std::string)"), - "")); REQUIRE_THAT(src, HasCall(_A("m1(std::string)"), - _A("m2(std::string)"), "")); - - REQUIRE_THAT(src, HasCall(_A("main()"), _A("m1(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("m1(int)"), _A("m2(int)"), - "")); REQUIRE_THAT(src, HasCall(_A("m2(int)"), _A("m3(int)"), - "")); REQUIRE_THAT(src, HasCall(_A("m3(int)"), _A("m4(int)"), - "")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20005/test_case.h b/tests/t20005/test_case.h index abc56f9d..672b0444 100644 --- a/tests/t20005/test_case.h +++ b/tests/t20005/test_case.h @@ -33,50 +33,4 @@ TEST_CASE("t20005") {Exitpoint{}, "C"} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasEntrypoint(_A("C"), "c(T)")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("B"), "b(T)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a(T)")); - REQUIRE_THAT(src, HasExitpoint(_A("C"))); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = {FindMessage(j, "C", "B", "b(T)"), - FindMessage(j, "B", "A", "a(T)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - using mermaid::HasEntrypoint; - using mermaid::HasExitpoint; - - REQUIRE_THAT(src, HasEntrypoint(_A("C"), "c(T)")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("B"), "b(T)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a(T)")); - REQUIRE_THAT(src, HasExitpoint(_A("C"))); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20006/test_case.h b/tests/t20006/test_case.h index 8ac04b5c..d643b4c0 100644 --- a/tests/t20006/test_case.h +++ b/tests/t20006/test_case.h @@ -45,127 +45,4 @@ TEST_CASE("t20006") })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b(int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a1(int)")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("B"), "b(std::string)")); - REQUIRE_THAT(src, - HasCall( - _A("B"), _A("A"), - "a2(std::string)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain()"), _A("BB"), "bb1(int,int)")); - REQUIRE_THAT( - src, HasCall(_A("BB"), _A("AA"), "aa1(int)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain()"), _A("BB"), "bb2(int,int)")); - REQUIRE_THAT( - src, HasCall(_A("BB"), _A("AA"), "aa2(int)")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("BB"), - "bb1(int,std::string)")); - REQUIRE_THAT( - src, HasCall(_A("BB"), _A("AA"), - "aa2(int)")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("BB"), - "bb2(int,std::string)")); - REQUIRE_THAT( - src, HasCall(_A("BB"), _A("AA"), - "aa1(int)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain()"), _A("BB"), - "bb1(int,float)")); - REQUIRE_THAT(src, HasCall( _A("BB"), - _A("BB"), "bb2(int,float)")); - REQUIRE_THAT( src, - HasCall(_A("BB"), _A("AA"), "aa2(int)")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "B", "b(int)"), - FindMessage(j, "B", "A", "a1(int)"), - FindMessage(j, "tmain()", "B", "b(std::string)"), - FindMessage(j, "tmain()", "BB", "bb1(int,int)"), - FindMessage(j, "BB", "AA", "aa1(int)"), - FindMessage( - j, "tmain()", "BB", - "bb1(int,std::string)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b(int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a1(int)")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("B"), "b(std::string)")); - REQUIRE_THAT(src, - HasCall( - _A("B"), _A("A"), - "a2(std::string)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain()"), _A("BB"), "bb1(int,int)")); - REQUIRE_THAT( - src, HasCall(_A("BB"), _A("AA"), "aa1(int)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain()"), _A("BB"), "bb2(int,int)")); - REQUIRE_THAT( - src, HasCall(_A("BB"), _A("AA"), "aa2(int)")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("BB"), - "bb1(int,std::string)")); - REQUIRE_THAT( - src, HasCall(_A("BB"), _A("AA"), - "aa2(int)")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("BB"), - "bb2(int,std::string)")); - REQUIRE_THAT( - src, HasCall(_A("BB"), _A("AA"), - "aa1(int)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain()"), _A("BB"), - "bb1(int,float)")); REQUIRE_THAT(src, HasCall( _A("BB"), - _A("BB"), "bb2(int,float)")); REQUIRE_THAT( src, - HasCall(_A("BB"), _A("AA"), "aa2(int)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20007/test_case.h b/tests/t20007/test_case.h index 0bfa1b19..ada4af73 100644 --- a/tests/t20007/test_case.h +++ b/tests/t20007/test_case.h @@ -33,62 +33,4 @@ TEST_CASE("t20007") "add(std::string &&,std::string &&,std::string &&)"} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("Adder"), "add(int &&,int - &&)")); REQUIRE_THAT(src, HasCall(_A("tmain()"), - _A("Adder"), "add(int &&,float &&,double &&)")); - REQUIRE_THAT(src, - HasCall(_A("tmain()"), - _A("Adder"), - "add(std::string &&,std::string &&,std::string &&)")); - - save_puml(config.output_directory(), diagram->name + ".puml", - src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "Adder", "add(int &&,int - &&)"), FindMessage(j, "tmain()", "Adder", "add(int - &&,float &&,double &&)"), FindMessage(j, "tmain()", - "Adder", - "add(std::string &&,std::string &&,std::string &&)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", - j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("Adder"), "add(int &&,int - &&)")); REQUIRE_THAT(src, HasCall(_A("tmain()"), - _A("Adder"), "add(int &&,float &&,double &&)")); - REQUIRE_THAT(src, - HasCall(_A("tmain()"), - _A("Adder"), - "add(std::string &&,std::string &&,std::string &&)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20008/test_case.h b/tests/t20008/test_case.h index ac9c7a05..3d0d5c20 100644 --- a/tests/t20008/test_case.h +++ b/tests/t20008/test_case.h @@ -40,80 +40,4 @@ TEST_CASE("t20008") REQUIRE(!HasMessage(src, {"B", "A", "a2(int)"})); REQUIRE(!HasMessage(src, {"B", "A", "a3(int)"})); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), - "b(int)")); REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), - "a1(int)")); - // REQUIRE_THAT(puml, !HasCall(_A("B"), _A("A"), - // "a2(int)")); REQUIRE_THAT(puml, !HasCall(_A("B"), - // _A("A"), "a3(int)")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("B"), "b(const char - *)")); REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a2(const char *)")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("B"), - "b(std::string)")); REQUIRE_THAT(src, HasCall( _A("B"), - _A("A"), "a3(std::string)")); - - save_puml(config.output_directory(), diagram->name + ".puml", - src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "B", "b(int)"), - FindMessage(j, "B", "A", "a1(int)"), - FindMessage(j, "tmain()", "B", "b(const char - *)"), FindMessage( j, "B", "A", "a2(const - char *)"), FindMessage(j, "tmain()", "B", - "b(std::string)"), FindMessage( j, "B", - "A", "a3(std::string)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", - j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), - "b(int)")); REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), - "a1(int)")); - // REQUIRE_THAT(puml, !HasCall(_A("B"), _A("A"), - // "a2(int)")); REQUIRE_THAT(puml, !HasCall(_A("B"), - // _A("A"), "a3(int)")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("B"), "b(const char - *)")); REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a2(const char *)")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("B"), - "b(std::string)")); REQUIRE_THAT(src, HasCall( _A("B"), - _A("A"), "a3(std::string)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20009/test_case.h b/tests/t20009/test_case.h index 0a7600bb..4388615b 100644 --- a/tests/t20009/test_case.h +++ b/tests/t20009/test_case.h @@ -37,72 +37,4 @@ TEST_CASE("t20009") {"B", "A", "a(float)"} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("B"), "b(std::string)")); - REQUIRE_THAT(src, - HasCall( - _A("B"), _A("A"), - "a(std::string)")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b(int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a(int)")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), - "b(float)")); REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), - "a(float)")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "B", "b(std::string)"), - FindMessage( - j, "B", "A", "a(std::string)"), - FindMessage(j, "tmain()", "B", "b(int)"), - FindMessage(j, "B", "A", "a(int)"), - FindMessage(j, "tmain()", "B", "b(float)"), - FindMessage(j, "B", "A", "a(float)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("B"), "b(std::string)")); - REQUIRE_THAT(src, - HasCall( - _A("B"), _A("A"), - "a(std::string)")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b(int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a(int)")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), - "b(float)")); REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), - "a(float)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20010/test_case.h b/tests/t20010/test_case.h index e17b4f57..274a88ff 100644 --- a/tests/t20010/test_case.h +++ b/tests/t20010/test_case.h @@ -39,69 +39,4 @@ TEST_CASE("t20010") {"B", "A", "a4()"} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b1()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a1()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b2()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a2()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b3()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a3()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b4()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a4()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "B", "b1()"), - FindMessage(j, "B", "A", "a1()"), - FindMessage(j, "tmain()", "B", "b2()"), - FindMessage(j, "B", "A", "a2()"), - FindMessage(j, "tmain()", "B", "b3()"), - FindMessage(j, "B", "A", "a3()"), - FindMessage(j, "tmain()", "B", "b4()"), - FindMessage(j, "B", "A", "a4()")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b1()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a1()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b2()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a2()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b3()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a3()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b4()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a4()")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20011/test_case.h b/tests/t20011/test_case.h index 9923d2e7..b9ba1828 100644 --- a/tests/t20011/test_case.h +++ b/tests/t20011/test_case.h @@ -36,60 +36,4 @@ TEST_CASE("t20011") {"A", "A", "b(int)"} // })); }); - - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a(int)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a(int)")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "b(int)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "c(int)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "d(int)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "b(int)")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - REQUIRE(IsFunctionParticipant(j, "tmain()")); - REQUIRE(IsClassParticipant(j, "A")); - - std::vector messages = {FindMessage(j, "tmain()", "A", "a(int)"), - FindMessage(j, "A", "A", "a(int)"), - FindMessage(j, "tmain()", "A", "b(int)"), - FindMessage(j, "A", "A", "c(int)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a(int)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a(int)")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "b(int)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "c(int)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "d(int)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "b(int)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } - */ } \ No newline at end of file diff --git a/tests/t20012/test_case.h b/tests/t20012/test_case.h index dd7a50f8..2327889d 100644 --- a/tests/t20012/test_case.h +++ b/tests/t20012/test_case.h @@ -68,135 +68,4 @@ TEST_CASE("t20012") {"tmain()::(lambda t20012.cc:94:9)", "D", "add5(int) const"} // })); }); - - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("tmain()::(lambda t20012.cc:67:20)"), - "operator()() const")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:67:20)"), _A("A"), "a()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "aa()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "aaa()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:67:20)"), _A("B"), "b()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "bb()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "bbb()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:80:20)"), _A("C"), "c()")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "cc()")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "ccc()")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:80:20)"), - _A("tmain()::(lambda t20012.cc:67:20)"), "operator()() const")); - - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "ccc()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("R<(lambda at t20012.cc:86:9)>"), - "R((lambda at t20012.cc:86:9) &&)")); - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("R<(lambda at t20012.cc:86:9)>"), "r()")); - REQUIRE_THAT(src, - HasCall(_A("R<(lambda at t20012.cc:86:9)>"), - _A("tmain()::(lambda t20012.cc:86:9)"), "operator()() const")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:86:9)"), _A("C"), "c()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("tmain()::(lambda t20012.cc:94:9)"), - "operator()(auto) const")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:94:9)"), _A("D"), - "add5(int) const")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "tmain()::(lambda t20012.cc:67:20)", - "operator()() const"), - FindMessage(j, "tmain()::(lambda t20012.cc:67:20)", "A", "a()"), - FindMessage(j, "A", "A", "aa()"), - FindMessage(j, "A", "A", "aaa()"), - FindMessage(j, "tmain()::(lambda t20012.cc:67:20)", "B", "b()"), - FindMessage(j, "B", "B", "bb()"), - FindMessage(j, "B", "B", "bbb()"), - FindMessage(j, "tmain()::(lambda t20012.cc:80:20)", "C", "c()"), - FindMessage(j, "C", "C", "cc()"), - FindMessage(j, "C", "C", "ccc()"), - FindMessage(j, "tmain()::(lambda t20012.cc:80:20)", - "tmain()::(lambda t20012.cc:67:20)", "operator()() const"), - FindMessage(j, "tmain()", "R<(lambda at t20012.cc:86:9)>", "r()"), - FindMessage(j, "R<(lambda at t20012.cc:86:9)>", - "tmain()::(lambda t20012.cc:86:9)", "operator()() const"), - FindMessage(j, "tmain()::(lambda t20012.cc:86:9)", "C", "c()"), - }; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("tmain()::(lambda t20012.cc:67:20)"), - "operator()() const")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:67:20)"), _A("A"), "a()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "aa()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "aaa()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:67:20)"), _A("B"), "b()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "bb()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "bbb()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:80:20)"), _A("C"), "c()")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "cc()")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "ccc()")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:80:20)"), - _A("tmain()::(lambda t20012.cc:67:20)"), "operator()() const")); - - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "ccc()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("R<(lambda at t20012.cc:86:9)>"), "r()")); - REQUIRE_THAT(src, - HasCall(_A("R<(lambda at t20012.cc:86:9)>"), - _A("tmain()::(lambda t20012.cc:86:9)"), "operator()() const")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:86:9)"), _A("C"), "c()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("tmain()::(lambda t20012.cc:94:9)"), - "operator()(auto) const")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20012.cc:94:9)"), _A("D"), - "add5(int) const")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } - */ } diff --git a/tests/t20013/test_case.h b/tests/t20013/test_case.h index e0594057..7dad2a28 100644 --- a/tests/t20013/test_case.h +++ b/tests/t20013/test_case.h @@ -37,64 +37,4 @@ TEST_CASE("t20013") {"B", "A", "a3(const char *)"} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain(int,char **)"), _A("B"), "b(int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a1(int)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain(int,char **)"), _A("B"), "b(double)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a2(double)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain(int,char **)"), _A("B"), "b(const char *)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a3(const char *)")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain(int,char **)", "B", "b(int)"), - FindMessage(j, "B", "A", "a1(int)"), - FindMessage(j, "tmain(int,char **)", "B", "b(double)"), - FindMessage(j, "B", "A", "a2(double)"), - FindMessage(j, "tmain(int,char **)", "B", "b(const char *)"), - FindMessage(j, "B", "A", "a3(const char *)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain(int,char **)"), _A("B"), "b(int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a1(int)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain(int,char **)"), _A("B"), "b(double)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a2(double)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain(int,char **)"), _A("B"), "b(const char *)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a3(const char *)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - }*/ } \ No newline at end of file diff --git a/tests/t20014/test_case.h b/tests/t20014/test_case.h index d835bb9f..cea34203 100644 --- a/tests/t20014/test_case.h +++ b/tests/t20014/test_case.h @@ -37,63 +37,4 @@ TEST_CASE("t20014") {"C", "B", "b1(int,int)"}, // })); }); -/* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b1(int,int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a1(int,int)")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b2(int,int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a2(int,int)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain()"), _A("C"), "c1(int,int)")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("B"), "b1(int,int)")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "B", "b1(int,int)"), - FindMessage(j, "B", "A", "a1(int,int)"), - FindMessage(j, "tmain()", "B", "b2(int,int)"), - FindMessage(j, "B", "A", "a2(int,int)"), - FindMessage(j, "tmain()", "C", "c1(int,int)"), - FindMessage(j, "C", "B", "b1(int,int)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b1(int,int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a1(int,int)")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b2(int,int)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), "a2(int,int)")); - - REQUIRE_THAT( - src, HasCall(_A("tmain()"), _A("C"), "c1(int,int)")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("B"), "b1(int,int)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } -*/ } \ No newline at end of file diff --git a/tests/t20015/test_case.h b/tests/t20015/test_case.h index 2a752921..f4510ece 100644 --- a/tests/t20015/test_case.h +++ b/tests/t20015/test_case.h @@ -37,61 +37,4 @@ TEST_CASE("t20015") REQUIRE(!HasMessage(src, {"B", "B", "set_y(int)"})); REQUIRE(!HasMessage(src, {"B", "B", "set_z(int)"})); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("B"), - "setup_a(std::shared_ptr &)")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("detail::A"), "set_x(int)")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("detail::A"), "set_y(int)")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("detail::A"), "set_z(int)")); - - REQUIRE_THAT(src, !HasCall(_A("B"), _A("B"), "set_x(int)")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("B"), "set_y(int)")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("B"), "set_z(int)")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = {FindMessage( - j, "tmain()", "B", "setup_a(std::shared_ptr &)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("B"), - "setup_a(std::shared_ptr &)")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("detail::A"), "set_x(int)")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("detail::A"), "set_y(int)")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("detail::A"), "set_z(int)")); - - REQUIRE_THAT(src, !HasCall(_A("B"), _A("B"), "set_x(int)")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("B"), "set_y(int)")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("B"), "set_z(int)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - } - */ } \ No newline at end of file diff --git a/tests/t20016/test_case.h b/tests/t20016/test_case.h index ec213523..df0e4c06 100644 --- a/tests/t20016/test_case.h +++ b/tests/t20016/test_case.h @@ -33,60 +33,4 @@ TEST_CASE("t20016") {"B", "A", "a2(const long &)"} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), - "b1(long)")); REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), - "a1(int)")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), - "b2(long)")); REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), - "a2(const long &)")); - - save_puml(config.output_directory(), diagram->name + ".puml", - src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "B", "b1(long)"), - FindMessage(j, "B", "A", "a1(int)"), - FindMessage(j, "tmain()", "B", "b2(long)"), - FindMessage(j, "B", "A", "a2(const long &)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", - j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), - "b1(long)")); REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), - "a1(int)")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), - "b2(long)")); REQUIRE_THAT(src, HasCall(_A("B"), _A("A"), - "a2(const long &)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - } - */ } \ No newline at end of file diff --git a/tests/t20018/test_case.h b/tests/t20018/test_case.h index c43591ef..5f99216a 100644 --- a/tests/t20018/test_case.h +++ b/tests/t20018/test_case.h @@ -37,76 +37,4 @@ TEST_CASE("t20018") {"Factorial<1>", "Factorial<0>", "print(int)", Static{}}, // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, - HasCall( - _A("tmain()"), _A("Answer,120>"), - "__print()__")); REQUIRE_THAT(src, - HasCall(_A("Answer,120>"), _A("Factorial<5>"), - "__print(int)__")); - REQUIRE_THAT(src, - HasCall(_A("Factorial<5>"), _A("Factorial<4>"), - "__print(int)__")); REQUIRE_THAT(src, HasCall(_A("Factorial<4>"), - _A("Factorial<3>"), "__print(int)__")); REQUIRE_THAT(src, - HasCall(_A("Factorial<3>"), _A("Factorial<2>"), - "__print(int)__")); REQUIRE_THAT(src, HasCall(_A("Factorial<2>"), - _A("Factorial<1>"), "__print(int)__")); REQUIRE_THAT(src, - HasCall(_A("Factorial<1>"), _A("Factorial<0>"), - "__print(int)__")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "Answer,120>", - "print()"), FindMessage( j, "Answer,120>", "Factorial<5>", - "print(int)"), FindMessage(j, "Factorial<5>", "Factorial<4>", - "print(int)"), FindMessage(j, "Factorial<4>", "Factorial<3>", - "print(int)"), FindMessage(j, "Factorial<3>", "Factorial<2>", - "print(int)"), FindMessage(j, "Factorial<2>", "Factorial<1>", - "print(int)"), FindMessage(j, "Factorial<1>", "Factorial<0>", - "print(int)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("Answer,120>"), - "print()")); REQUIRE_THAT(src, HasCall(_A("Answer,120>"), - _A("Factorial<5>"), "print(int)")); REQUIRE_THAT( src, - HasCall(_A("Factorial<5>"), _A("Factorial<4>"), "print(int)")); - REQUIRE_THAT( - src, HasCall(_A("Factorial<4>"), _A("Factorial<3>"), - "print(int)")); REQUIRE_THAT( src, HasCall(_A("Factorial<3>"), - _A("Factorial<2>"), "print(int)")); REQUIRE_THAT( src, - HasCall(_A("Factorial<2>"), _A("Factorial<1>"), "print(int)")); - REQUIRE_THAT( - src, HasCall(_A("Factorial<1>"), _A("Factorial<0>"), - "print(int)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - } - */ } \ No newline at end of file diff --git a/tests/t20019/test_case.h b/tests/t20019/test_case.h index 6f809823..cca2e308 100644 --- a/tests/t20019/test_case.h +++ b/tests/t20019/test_case.h @@ -33,51 +33,4 @@ TEST_CASE("t20019") {"Base", "D2", "impl()"} // })); }); -/* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("Base"), "name()")); - REQUIRE_THAT(src, HasCall(_A("Base"), _A("D1"), "impl()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("Base"), "name()")); - REQUIRE_THAT(src, HasCall(_A("Base"), _A("D2"), "impl()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "Base", "name()"), - FindMessage(j, "Base", "D1", "impl()"), - FindMessage(j, "tmain()", "Base", "name()"), - FindMessage(j, "Base", "D2", "impl()")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("Base"), "name()")); - REQUIRE_THAT(src, HasCall(_A("Base"), _A("D1"), "impl()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("Base"), "name()")); - REQUIRE_THAT(src, HasCall(_A("Base"), _A("D2"), "impl()")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } - */ } \ No newline at end of file diff --git a/tests/t20020/test_case.h b/tests/t20020/test_case.h index 1653e737..55c8cd13 100644 --- a/tests/t20020/test_case.h +++ b/tests/t20020/test_case.h @@ -42,89 +42,4 @@ TEST_CASE("t20020") {"tmain()", "D", "d1(int,int)"}, // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a1()")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("A"), "a2()")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("A"), "a3()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b1()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b2()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "log()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("C"), "c1() const")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("C"), _A("C"), "c2() const")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "log() const")); - - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("C"), - "c3(int)")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = {FindMessage(j, "tmain()", "A", "a1()"), - FindMessage(j, "tmain()", "A", "a5()"), - FindMessage(j, "tmain()", "A", "a2()"), - FindMessage(j, "tmain()", "C", "c3(int)"), - FindMessage(j, "tmain()", "B", "b1()"), - FindMessage(j, "tmain()", "A", "a3()"), - FindMessage(j, "tmain()", "B", "b2()"), - FindMessage(j, "tmain()", "A", "a4()"), - FindMessage(j, "tmain()", "B", "log()"), - FindMessage(j, "tmain()", "C", "c1() const"), - FindMessage(j, "C", "C", "c2() const"), - FindMessage(j, "C", "C", "log() const"), - FindMessage(j, "tmain()", "D", "d1(int,int)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - using mermaid::HasCallInControlCondition; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a1()")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("A"), "a2()")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("A"), "a3()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b1()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b2()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "log()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("C"), "c1() const")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("C"), _A("C"), "c2() const")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "log() const")); - - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("C"), - "c3(int)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - } - */ } \ No newline at end of file diff --git a/tests/t20021/test_case.h b/tests/t20021/test_case.h index 92e9d1f9..6179831d 100644 --- a/tests/t20021/test_case.h +++ b/tests/t20021/test_case.h @@ -40,92 +40,4 @@ TEST_CASE("t20021") {"tmain()", "B", "b2() const"}, // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a1()")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("A"), "a2()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a3()")); - - REQUIRE_THAT(src, !HasCall(_A("tmain()"), _A("B"), "b1()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b2()")); - - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("C"), "c1()")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("C"), "c2()")); - - // TODO: Why is this not working? - // REQUIRE_THAT( - // puml, HasCallInControlCondition(_A("tmain()"), _A("C"), - // "c3()")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("C"), "c4()")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "c5()")); - REQUIRE_THAT(src, - HasCallInControlCondition(_A("tmain()"), _A("C"), "contents()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "C", "c4()"), - FindMessage(j, "C", "C", "c5()"), - FindMessage(j, "tmain()", "A", "a3()"), - FindMessage(j, "tmain()", "A", "a2()"), - FindMessage(j, "tmain()", "C", "c1()"), - FindMessage(j, "tmain()", "C", "c2()"), - FindMessage(j, "tmain()", "A", "a1()"), - FindMessage(j, "tmain()", "C", "c3()"), - FindMessage(j, "tmain()", "B", "b2() const"), - FindMessage(j, "tmain()", "C", "contents()") - // TODO: Repeated messge gets wrong index - // FindMessage(j, "tmain()", "B", "b2()") - }; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - using mermaid::HasCallInControlCondition; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a1()")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("A"), "a2()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a3()")); - - REQUIRE_THAT(src, !HasCall(_A("tmain()"), _A("B"), "b1()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b2()")); - - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("C"), "c1()")); - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("C"), "c2()")); - - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("C"), "c4()")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "c5()")); - REQUIRE_THAT(src, - HasCallInControlCondition(_A("tmain()"), _A("C"), "contents()")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - }*/ } \ No newline at end of file diff --git a/tests/t20022/test_case.h b/tests/t20022/test_case.h index cdcc5cf4..edf69bc5 100644 --- a/tests/t20022/test_case.h +++ b/tests/t20022/test_case.h @@ -35,45 +35,4 @@ TEST_CASE("t20022") {"A", "B", "b()"}, // })); }); - - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("B"), "b()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = {FindMessage(j, "tmain()", "A", "a()"), - FindMessage(j, "A", "B", "b()")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("B"), "b()")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20023/test_case.h b/tests/t20023/test_case.h index 8a09799c..a7cf3371 100644 --- a/tests/t20023/test_case.h +++ b/tests/t20023/test_case.h @@ -35,53 +35,4 @@ TEST_CASE("t20023") })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a1()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a2()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a3()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a4()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = {FindMessage(j, "tmain()", "A", "a()"), - FindMessage(j, "A", "A", "a1()"), FindMessage(j, "A", "A", - "a2()"), FindMessage(j, "A", "A", "a3()"), FindMessage(j, "A", "A", - "a4()")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a1()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a2()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a3()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a4()")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - } - */ } \ No newline at end of file diff --git a/tests/t20024/test_case.h b/tests/t20024/test_case.h index 72ea1dfd..e61ecaaf 100644 --- a/tests/t20024/test_case.h +++ b/tests/t20024/test_case.h @@ -40,61 +40,4 @@ TEST_CASE("t20024") {"B", "B", "grey()"} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "select(enum_a)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a0()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a1()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a2()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a3()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "select(colors)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "red()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "orange()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "green()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "A", "select(enum_a)"), - FindMessage(j, "A", "A", "a0()"), FindMessage(j, "A", "A", "a1()"), - FindMessage(j, "A", "A", "a2()"), FindMessage(j, "A", "A", "a3()")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "select(enum_a)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a0()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a1()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a2()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "a3()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "select(colors)")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "red()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "orange()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "green()")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - }*/ } \ No newline at end of file diff --git a/tests/t20025/test_case.h b/tests/t20025/test_case.h index 432ab52a..c3c9fa13 100644 --- a/tests/t20025/test_case.h +++ b/tests/t20025/test_case.h @@ -31,50 +31,4 @@ TEST_CASE("t20025") {"tmain()", "add(int,int)", ""} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, !HasCall(_A("A"), _A("A"), "a1()")); - // REQUIRE_THAT(puml, !HasCall(_A("A"), _A("A"), "a2()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("add(int,int)"), "")); - REQUIRE_THAT(src, !HasCall(_A("tmain()"), _A("add2(int,int)"), "")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = {FindMessage(j, "tmain()", "A", "a()"), - // FindMessage(j, "tmain()", "A", "a2()"), - FindMessage(j, "tmain()", "add(int,int)", "")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, !HasCall(_A("A"), _A("A"), "a1()")); - // REQUIRE_THAT(puml, !HasCall(_A("A"), _A("A"), "a2()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("add(int,int)"), "")); - REQUIRE_THAT(src, !HasCall(_A("tmain()"), _A("add2(int,int)"), "")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - }*/ } \ No newline at end of file diff --git a/tests/t20026/test_case.h b/tests/t20026/test_case.h index 44a399ab..1533d993 100644 --- a/tests/t20026/test_case.h +++ b/tests/t20026/test_case.h @@ -30,40 +30,4 @@ TEST_CASE("t20026") {"tmain()", "A", "a()"} // })); }); -/* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = {FindMessage(j, "tmain()", "A", "a()")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - }*/ } \ No newline at end of file diff --git a/tests/t20027/test_case.h b/tests/t20027/test_case.h index 12d2e962..faa3bb66 100644 --- a/tests/t20027/test_case.h +++ b/tests/t20027/test_case.h @@ -33,45 +33,4 @@ TEST_CASE("t20027") REQUIRE(!HasMessage(src, {"A", "A", "aa()"})); REQUIRE(!HasMessage(src, {"A", "A", "aaa()"})); }); - - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, !HasCall(_A("A"), _A("A"), "aa()")); - REQUIRE_THAT(src, !HasCall(_A("A"), _A("A"), "aaa()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = {FindMessage(j, "tmain()", "A", "a()")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, !HasCall(_A("A"), _A("A"), "aa()")); - REQUIRE_THAT(src, !HasCall(_A("A"), _A("A"), "aaa()")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - }*/ } \ No newline at end of file diff --git a/tests/t20028/test_case.h b/tests/t20028/test_case.h index 0f1312ac..b6128e6f 100644 --- a/tests/t20028/test_case.h +++ b/tests/t20028/test_case.h @@ -28,62 +28,11 @@ TEST_CASE("t20028") { // {"tmain()", "A", "a()", InControlCondition{}}, // - {"tmain()", "A", "b()"}, // - {"tmain()", "A", "c()"}, // - {"tmain()", "A", "d()"}, // + {"tmain()", "A", "b()"}, // + {"tmain()", "A", "c()"}, // + {"tmain()", "A", "d()"}, // })); REQUIRE(!HasMessage(src, {"tmain()", "B", "e()"})); }); - - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "b()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "c()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "d()")); - REQUIRE_THAT(src, !HasCall(_A("tmain()"), _A("B"), "e()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = {FindMessage(j, "tmain()", "A", "a()"), - FindMessage(j, "tmain()", "A", "b()"), - FindMessage(j, "tmain()", "A", "c()"), - FindMessage(j, "tmain()", "A", "d()")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - using mermaid::HasCallInControlCondition; - - REQUIRE_THAT( - src, HasCallInControlCondition(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "b()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "c()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "d()")); - REQUIRE_THAT(src, !HasCall(_A("tmain()"), _A("B"), "e()")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - }*/ } \ No newline at end of file diff --git a/tests/t20029/test_case.h b/tests/t20029/test_case.h index a03d527e..c28a6860 100644 --- a/tests/t20029/test_case.h +++ b/tests/t20029/test_case.h @@ -61,137 +61,4 @@ TEST_CASE("t20029") "Repeat until send() succeeds\\n" "or retry count is exceeded")); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT( - src, HasCall(_A("tmain()"), _A("ConnectionPool"), "connect()")); - REQUIRE_THAT(src, - HasCallInControlCondition(_A("tmain()"), - _A("Encoder>"), - "send(std::string &&)")); - - REQUIRE_THAT(src, - HasCall(_A("Encoder>"), - _A("Encoder>"), - "encode(std::string &&)")); - - REQUIRE_THAT(src, - HasCall(_A("Encoder>"), - _A("encode_b64(std::string &&)"), "")); - - REQUIRE_THAT(src, - HasCallInControlCondition(_A("Retrier"), - _A("ConnectionPool"), "send(const std::string &)")); - - REQUIRE_THAT(src, - !HasCall( - _A("ConnectionPool"), _A("ConnectionPool"), - "connect_impl()")); - - REQUIRE_THAT(src, - HasMessageComment(_A("tmain()"), - "Establish connection to the\\n" - "remote server synchronously")); - - REQUIRE_THAT(src, - HasMessageComment(_A("tmain()"), - "Repeat for each line in the\\n" - "input stream")); - - REQUIRE_THAT(src, - HasMessageComment(_A("Encoder>"), - "Encode the message using\\n" - "Base64 encoding and pass\\n" - "it to the next layer")); - - REQUIRE_THAT(src, - HasMessageComment(_A("Retrier"), - "Repeat until send\\(\\) succeeds\\n" - "or retry count is exceeded")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - REQUIRE(!j["participants"].is_null()); - - std::vector messages = { - FindMessage(j, "tmain()", "ConnectionPool", "connect()"), - FindMessage(j, "tmain()", "Encoder>", - "send(std::string &&)")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - using mermaid::HasCallInControlCondition; - using mermaid::HasMessageComment; - - REQUIRE_THAT( - src, HasCall(_A("tmain()"), _A("ConnectionPool"), "connect()")); - REQUIRE_THAT(src, - HasCallInControlCondition(_A("tmain()"), - _A("Encoder>"), - "send(std::string &&)")); - - REQUIRE_THAT(src, - HasCall(_A("Encoder>"), - _A("Encoder>"), - "encode(std::string &&)")); - - REQUIRE_THAT(src, - HasCall(_A("Encoder>"), - _A("encode_b64(std::string &&)"), "")); - - REQUIRE_THAT(src, - HasCallInControlCondition(_A("Retrier"), - _A("ConnectionPool"), "send(const std::string &)")); - - REQUIRE_THAT(src, - !HasCall( - _A("ConnectionPool"), _A("ConnectionPool"), - "connect_impl()")); - - REQUIRE_THAT(src, - HasMessageComment(_A("tmain()"), - "Establish connection to the
" - "remote server synchronously")); - - REQUIRE_THAT(src, - HasMessageComment(_A("tmain()"), - "Repeat for each line in the
" - "input stream")); - - REQUIRE_THAT(src, - HasMessageComment(_A("Encoder>"), - "Encode the message using
" - "Base64 encoding and pass
" - "it to the next layer")); - - REQUIRE_THAT(src, - HasMessageComment(_A("Retrier"), - "Repeat until send\\(\\) succeeds
" - "or retry count is exceeded")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - } - */ } \ No newline at end of file diff --git a/tests/t20041/test_case.h b/tests/t20041/test_case.h index 7e8bb3ed..044de4a7 100644 --- a/tests/t20041/test_case.h +++ b/tests/t20041/test_case.h @@ -36,64 +36,4 @@ TEST_CASE("t20041") {"A", "A", "print()"}, // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("A"), - "print(int,double,std::string)")); - REQUIRE_THAT(src, - HasCall(_A("A"), - _A("A"), "print(double,std::string)")); - REQUIRE_THAT(src, - HasCall(_A("A"), _A("A"), - "print(std::string)")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), - "print()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "A", - "print(int,double,std::string)"), - FindMessage(j, "A", - "A", "print(double,std::string)"), FindMessage(j, - "A", "A", "print(std::string)"), - FindMessage(j, "A", "A", "print()")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("A"), - "print(int,double,std::string)")); - REQUIRE_THAT(src, - HasCall(_A("A"), - _A("A"), "print(double,std::string)")); - REQUIRE_THAT(src, - HasCall(_A("A"), _A("A"), - "print(std::string)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20042/test_case.h b/tests/t20042/test_case.h index 31db9cc9..4a36b7b0 100644 --- a/tests/t20042/test_case.h +++ b/tests/t20042/test_case.h @@ -34,46 +34,4 @@ TEST_CASE("t20042") {"BHandler", "BHandler", "handle(B &) const"}, // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("AHandler"), "operator()(A &) - const")); REQUIRE_THAT( src, HasCall(_A("AHandler"), _A("AHandler"), - "handle(A &) const")); REQUIRE_THAT(src, HasCall(_A("tmain()"), - _A("BHandler"), "operator()(B &) const")); REQUIRE_THAT( src, - HasCall(_A("BHandler"), _A("BHandler"), "handle(B &) const")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("AHandler"), "operator()(A &) - const")); REQUIRE_THAT( src, HasCall(_A("AHandler"), _A("AHandler"), - "handle(A &) const")); REQUIRE_THAT(src, HasCall(_A("tmain()"), - _A("BHandler"), "operator()(B &) const")); REQUIRE_THAT( src, - HasCall(_A("BHandler"), _A("BHandler"), "handle(B &) const")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20043/test_case.h b/tests/t20043/test_case.h index 6a17feb1..60ee3d59 100644 --- a/tests/t20043/test_case.h +++ b/tests/t20043/test_case.h @@ -37,47 +37,4 @@ TEST_CASE("t20043") REQUIRE(!HasMessage(src, {"C", "B", "b()"})); REQUIRE(!HasMessage(src, {"B", "A", "a()"})); }); -/* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, !HasCall(_A("tmain()"), _A("F"), "f()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("D"), "d()")); - - REQUIRE_THAT(src, HasCall(_A("D"), _A("C"), "c()")); - REQUIRE_THAT(src, !HasCall(_A("D"), _A("detail::E"), "e()")); - REQUIRE_THAT(src, !HasCall(_A("C"), _A("B"), "b()")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("A"), "a()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, !HasCall(_A("tmain()"), _A("F"), "f()")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("D"), "d()")); - - REQUIRE_THAT(src, HasCall(_A("D"), _A("C"), "c()")); - REQUIRE_THAT(src, !HasCall(_A("D"), _A("detail::E"), "e()")); - REQUIRE_THAT(src, !HasCall(_A("C"), _A("B"), "b()")); - REQUIRE_THAT(src, !HasCall(_A("B"), _A("A"), "a()")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - }*/ } \ No newline at end of file diff --git a/tests/t20044/.clang-uml b/tests/t20044/.clang-uml index 3526dcf7..bb1a0dcc 100644 --- a/tests/t20044/.clang-uml +++ b/tests/t20044/.clang-uml @@ -6,7 +6,7 @@ diagrams: glob: - t20044.cc type_aliases: - "detail::expected": result_t + "clanguml::t20044::detail::expected": result_t generate_message_comments: true include: namespaces: diff --git a/tests/t20044/test_case.h b/tests/t20044/test_case.h index 8ff25df6..66e52d93 100644 --- a/tests/t20044/test_case.h +++ b/tests/t20044/test_case.h @@ -24,9 +24,11 @@ TEST_CASE("t20044") CHECK_SEQUENCE_MODEL("t20044", "t20044_sequence"); CHECK_SEQUENCE_DIAGRAM(config, diagram, *model, [](const auto &src) { + REQUIRE(!IsClassParticipant(src, "detail::expected")); + REQUIRE(IsClassParticipant(src, "result_t")); + REQUIRE(MessageOrder(src, { - // {"tmain()", "R", "R((lambda at t20044.cc:74:9) &&)"}, // {"R", "tmain()::(lambda t20044.cc:74:9)", "operator()() const"}, // @@ -36,86 +38,22 @@ TEST_CASE("t20044") "operator()() const"}, // {"tmain()::(lambda t20044.cc:84:18)", "A", "a5()"}, // - {"tmain()", "A", "a1() const"}, // - {"A", "detail::expected", "expected(int)"}, // + {"tmain()", "A", "a1() const"}, // + {"A", "result_t", "expected(int)"}, // - {"tmain()", "detail::expected", + {"tmain()", "result_t", "and_then((lambda at t20044.cc:90:19) &&)"}, // - {"detail::expected", - "tmain()::(lambda t20044.cc:90:19)", + {"result_t", "tmain()::(lambda t20044.cc:90:19)", "operator()(auto &&) const"}, // {"tmain()::(lambda t20044.cc:90:19)", "A", "a2(int) const"}, // - {"A", "detail::expected", "expected(int)"}, // + {"A", "result_t", "expected(int)"}, // - {"tmain()", "detail::expected", + {"tmain()", "result_t", "and_then(result_t (&)(int))"}, // // - {"tmain()", "detail::expected", + {"tmain()", "result_t", "and_then(std::function &)"}, // // - {"tmain()", "detail::expected", + {"tmain()", "result_t", "value() const"}, // // - })); }); -/* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, - HasCall( - _A("tmain()"), _A("R"), "R((lambda at t20044.cc:74:9) &&)")); - REQUIRE_THAT(src, - HasCall(_A("R"), _A("tmain()::(lambda t20044.cc:74:9)"), - "operator()()")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20044.cc:74:9)"), _A("A"), "a()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("tmain()::(lambda t20044.cc:84:18)"), - "operator()()")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20044.cc:84:18)"), _A("A"), "a5()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a1()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("detail::expected"), - "and_then((lambda at t20044.cc:90:19) &&)")); - - REQUIRE_THAT(src, - HasCall(_A("detail::expected"), - _A("tmain()::(lambda t20044.cc:90:19)"), - "operator()(auto &&) const")); - - REQUIRE_THAT(src, - HasCall( - _A("tmain()::(lambda t20044.cc:90:19)"), _A("A"), "a2(int)")); - - REQUIRE_THAT(src, - HasCall( - _A("A"), _A("detail::expected"), "expected(int)")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::AliasMatcher _A(src); - using mermaid::IsClass; - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - }*/ } \ No newline at end of file diff --git a/tests/t20045/test_case.h b/tests/t20045/test_case.h index fe49289e..8e4b43e5 100644 --- a/tests/t20045/test_case.h +++ b/tests/t20045/test_case.h @@ -32,60 +32,32 @@ TEST_CASE("t20045") "a1<(lambda at t20045.cc:35:18)>((lambda at " "t20045.cc:35:18) &&)", ""}, // + {"a1<(lambda at t20045.cc:35:18)>((lambda at t20045.cc:35:18) " + "&&)", + "tmain()::(lambda t20045.cc:35:18)", + "operator()(auto &&) const"}, // + {"tmain()::(lambda t20045.cc:35:18)", "a3(int)", ""}, // + + {"tmain()", + "a1<(lambda at t20045.cc:37:18)>((lambda at " + "t20045.cc:37:18) " + "&&)", + ""}, // + {"a1<(lambda at t20045.cc:37:18)>((lambda at t20045.cc:37:18) " + "&&)", + "tmain()::(lambda t20045.cc:37:18)", + "operator()(auto &&) const"}, // + {"tmain()::(lambda t20045.cc:37:18)", "B", "b1(int)"}, // + + {"tmain()", + "a1<(lambda at t20045.cc:39:18)>((lambda at " + "t20045.cc:39:18) &&)", + ""}, // + {"a1<(lambda at t20045.cc:39:18)>((lambda at " + "t20045.cc:39:18) &&)", + "tmain()::(lambda t20045.cc:39:18)", + "operator()(auto &&) const"}, // + {"tmain()::(lambda t20045.cc:39:18)", "C", "get_x() const"} // })); }); -/* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a2(int)"), "")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), - _A("a1<(lambda at t20045.cc:35:18)>((lambda at " - "t20045.cc:35:18) &&)"), - "")); - - REQUIRE_THAT(src, - HasCall(_A("a1<(lambda at t20045.cc:35:18)>((lambda at " - "t20045.cc:35:18) &&)"), - _A("tmain()::(lambda t20045.cc:35:18)"), - "operator()(auto &&) const")); - - REQUIRE_THAT(src, - HasCall( - _A("tmain()::(lambda t20045.cc:35:18)"), _A("a3(int)"), "")); - - REQUIRE_THAT(src, - HasCall( - _A("tmain()::(lambda t20045.cc:37:18)"), _A("B"), "b1(int)")); - - REQUIRE_THAT(src, - HasCall( - _A("tmain()::(lambda t20045.cc:39:18)"), _A("C"), "get_x()")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::AliasMatcher _A(src); - using mermaid::IsClass; - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } - */ } \ No newline at end of file diff --git a/tests/t20046/test_case.h b/tests/t20046/test_case.h index c4ddbacb..89d328ff 100644 --- a/tests/t20046/test_case.h +++ b/tests/t20046/test_case.h @@ -16,80 +16,41 @@ * limitations under the License. */ -TEST_CASE("t20046", "[test-case][sequence]") +TEST_CASE("t20046") { - auto [config, db] = load_config("t20046"); + using namespace clanguml::test; - auto diagram = config.diagrams["t20046_sequence"]; + auto [config, db, diagram, model] = + CHECK_SEQUENCE_MODEL("t20046", "t20046_sequence"); - REQUIRE(diagram->name == "t20046_sequence"); + CHECK_SEQUENCE_DIAGRAM(config, diagram, *model, [](const auto &src) { + REQUIRE(MessageOrder(src, + {// + {"tmain()", "tmain()::(lambda t20046.cc:13:15)", + "operator()(auto &&) const"}, // + {"tmain()::(lambda t20046.cc:13:15)", + "tmain()::(lambda t20046.cc:13:15)::(lambda " + "t20046.cc:14:16)", + "operator()(auto &&) const"}, // + {"tmain()::(lambda t20046.cc:13:15)::(lambda " + "t20046.cc:14:16)", + "a2(int)", ""}, // - auto model = generate_sequence_diagram(*db, diagram); + {"tmain()", + "a1<(lambda at t20046.cc:19:9)>((lambda at t20046.cc:19:9) " + "&&)", + ""}, + {"a1<(lambda at t20046.cc:19:9)>((lambda at t20046.cc:19:9) " + "&&)", + "tmain()::(lambda t20046.cc:19:9)", + "operator()(auto &&) const"}, // + {"tmain()::(lambda t20046.cc:19:9)", + "tmain()::(lambda t20046.cc:19:9)::(lambda " + "t20046.cc:19:34)", + "operator()(auto &&) const"}, // + {"tmain()::(lambda t20046.cc:19:9)::(lambda t20046.cc:19:34)", + "a3(int)", ""} - REQUIRE(model->name() == "t20046_sequence"); - - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("tmain()::(lambda t20046.cc:13:15)"), - "operator()(auto &&) const")); - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20046.cc:13:15)"), - _A("tmain()::(lambda t20046.cc:13:15)::(lambda " - "t20046.cc:14:16)"), - "operator()(auto &&) const")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20046.cc:13:15)::(lambda " - "t20046.cc:14:16)"), - _A("a2(int)"), "")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), - _A("a1<(lambda at t20046.cc:19:9)>((lambda at t20046.cc:19:9) " - "&&)"), - "")); - - REQUIRE_THAT(src, - HasCall( - _A("a1<(lambda at t20046.cc:19:9)>((lambda at t20046.cc:19:9) " - "&&)"), - _A("tmain()::(lambda t20046.cc:19:9)"), - "operator()(auto &&) const")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20046.cc:19:9)"), - _A("tmain()::(lambda t20046.cc:19:9)::(lambda " - "t20046.cc:19:34)"), - "operator()(auto &&) const")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()::(lambda t20046.cc:19:9)::(lambda " - "t20046.cc:19:34)"), - _A("a3(int)"), "")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::AliasMatcher _A(src); - using mermaid::IsClass; - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } + })); + }); } \ No newline at end of file diff --git a/tests/t20047/test_case.h b/tests/t20047/test_case.h index 3643c2db..ab0e68f2 100644 --- a/tests/t20047/test_case.h +++ b/tests/t20047/test_case.h @@ -16,50 +16,24 @@ * limitations under the License. */ -TEST_CASE("t20047", "[test-case][sequence]") +TEST_CASE("t20047") { - auto [config, db] = load_config("t20047"); + using namespace clanguml::test; - auto diagram = config.diagrams["t20047_sequence"]; + auto [config, db, diagram, model] = + CHECK_SEQUENCE_MODEL("t20047", "t20047_sequence"); - REQUIRE(diagram->name == "t20047_sequence"); + CHECK_SEQUENCE_DIAGRAM(config, diagram, *model, [](const auto &src) { + REQUIRE(MessageOrder(src, + { + // + {"tmain()", "a1(int)", ""}, // + {"tmain()", "a2(int)", ""}, // + {"tmain()", "a3(int)", ""}, // + {"tmain()", "a4(int)", ""}, // + {"tmain()", "a5(int)", ""}, // + {"tmain()", "a6(int)", ""}, // - auto model = generate_sequence_diagram(*db, diagram); - - REQUIRE(model->name() == "t20047_sequence"); - - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a1(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a2(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a3(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a4(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a5(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a6(int)"), "")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::AliasMatcher _A(src); - using mermaid::IsClass; - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } + })); + }); } \ No newline at end of file diff --git a/tests/t20048/test_case.h b/tests/t20048/test_case.h index aa83b02f..a45632ba 100644 --- a/tests/t20048/test_case.h +++ b/tests/t20048/test_case.h @@ -16,76 +16,40 @@ * limitations under the License. */ -TEST_CASE("t20048", "[test-case][sequence]") +TEST_CASE("t20048") { - auto [config, db] = load_config("t20048"); + using namespace clanguml::test; - auto diagram = config.diagrams["t20048_sequence"]; + auto [config, db, diagram, model] = + CHECK_SEQUENCE_MODEL("t20048", "t20048_sequence"); - REQUIRE(diagram->name == "t20048_sequence"); + CHECK_SEQUENCE_DIAGRAM(config, diagram, *model, [](const auto &src) { + REQUIRE(MessageOrder(src, + { + // + {"tmain()", "a3(int)", ""}, // + {"tmain()", "a2(int)", ""}, // + {"tmain()", "a1(int)", ""}, // + {"tmain()", "tmain()::(lambda t20048.cc:26:11)", + "operator()(auto &&) const"}, // + {"tmain()::(lambda t20048.cc:26:11)", "a4(int)", ""}, // + {"tmain()", "a6(int)", ""}, // + {"tmain()", "a5(int)", ""}, // + {"tmain()", "a7(int)", ""}, // - auto model = generate_sequence_diagram(*db, diagram); - - REQUIRE(model->name() == "t20048_sequence"); - - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a3(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a2(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a1(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a5(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a6(int)"), "")); - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a7(int)"), "")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("tmain()::(lambda t20048.cc:26:11)"), - "operator()(auto &&) const")); - REQUIRE_THAT(src, - HasCall( - _A("tmain()::(lambda t20048.cc:26:11)"), _A("a4(int)"), "")); - - REQUIRE_THAT(src, - HasMessageComment(_A("tmain()"), - "a1\\(\\) adds `1` to the result\\n" - "of a2\\(\\)")); - REQUIRE_THAT(src, - HasMessageComment(_A("tmain()"), - "This lambda calls a4\\(\\) which\\n" - "adds `4` to it's argument")); - REQUIRE_THAT(src, - HasMessageComment( - _A("tmain()"), "a6\\(\\) adds `1` to its argument")); - REQUIRE_THAT(src, - HasMessageComment(_A("tmain()"), - "a5\\(\\) adds `1` to the result\\n" - "of a6\\(\\)")); - REQUIRE_THAT(src, - HasMessageComment( - _A("tmain()"), "a7\\(\\) is called via add std::async")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::AliasMatcher _A(src); - using mermaid::IsClass; - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } + })); + REQUIRE(HasMessageComment(src, "tmain()", + "a1() adds `1` to the result\\n" + "of a2()")); + REQUIRE(HasMessageComment(src, "tmain()", + "This lambda calls a4() which\\n" + "adds `4` to it's argument")); + REQUIRE( + HasMessageComment(src, "tmain()", "a6() adds `1` to its argument")); + REQUIRE(HasMessageComment(src, "tmain()", + "a5() adds `1` to the result\\n" + "of a6()")); + REQUIRE(HasMessageComment( + src, "tmain()", "a7() is called via add std::async")); + }); } \ No newline at end of file diff --git a/tests/t20049/test_case.h b/tests/t20049/test_case.h index f73722b9..6655ff89 100644 --- a/tests/t20049/test_case.h +++ b/tests/t20049/test_case.h @@ -16,66 +16,25 @@ * limitations under the License. */ -TEST_CASE("t20049", "[test-case][sequence]") +TEST_CASE("t20049") { - auto [config, db] = load_config("t20049"); + using namespace clanguml::test; - auto diagram = config.diagrams["t20049_sequence"]; + auto [config, db, diagram, model] = + CHECK_SEQUENCE_MODEL("t20049", "t20049_sequence"); - REQUIRE(diagram->name == "t20049_sequence"); - - auto model = generate_sequence_diagram(*db, diagram); - - REQUIRE(model->name() == "t20049_sequence"); - - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), - _A("vector_square_add(float *,float *,float *,int)"), "")); - REQUIRE_THAT(src, - HasCall(_A("vector_square_add(float *,float *,float *,int)"), - _A("square(float)"), "")); - REQUIRE_THAT(src, - HasCall(_A("vector_square_add(float *,float *,float *,int)"), - _A("add(float,float)"), "")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), - _A("<< CUDA Kernel >>
vector_square_add(float *,float " - "*,float *,int)"), - "")); - REQUIRE_THAT(src, - HasCall(_A("<< CUDA Kernel >>
vector_square_add(float *,float " - "*,float *,int)"), - _A("<< CUDA Device >>
square(float)"), "")); - REQUIRE_THAT(src, - HasCall(_A("<< CUDA Kernel >>
vector_square_add(float *,float " - "*,float *,int)"), - _A("<< CUDA Device >>
add(float,float)"), "")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } + CHECK_SEQUENCE_DIAGRAM(config, diagram, *model, [](const auto &src) { + REQUIRE(MessageOrder(src, + { + // + {"tmain()", "vector_square_add(float *,float *,float *,int)", + ""}, // + {"vector_square_add(float *,float *,float *,int)", + "square(float)", ""}, // + {"vector_square_add(float *,float *,float *,int)", + "square(float)", ""}, // + {"vector_square_add(float *,float *,float *,int)", + "add(float,float)", ""}, // + })); + }); } \ No newline at end of file diff --git a/tests/t20050/test_case.h b/tests/t20050/test_case.h index 935f3e8a..33d0b9db 100644 --- a/tests/t20050/test_case.h +++ b/tests/t20050/test_case.h @@ -16,65 +16,27 @@ * limitations under the License. */ -TEST_CASE("t20050", "[test-case][sequence]") +TEST_CASE("t20050") { - auto [config, db] = load_config("t20050"); + using namespace clanguml::test; - auto diagram = config.diagrams["t20050_sequence"]; + auto [config, db, diagram, model] = + CHECK_SEQUENCE_MODEL("t20050", "t20050_sequence"); - REQUIRE(diagram->name == "t20050_sequence"); + CHECK_SEQUENCE_DIAGRAM(config, diagram, *model, [](const auto &src) { + REQUIRE(IsFileParticipant(src, "t20050.cu")); - auto model = generate_sequence_diagram(*db, diagram); - - REQUIRE(model->name() == "t20050_sequence"); - - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - // Check if all calls exist - REQUIRE_THAT(src, - HasCall(_A("t20050.cu"), _A("t20050.cu"), - "<< CUDA Kernel >>\\\\nvector_square_add(float *,float *,float " - "*,int)")); - REQUIRE_THAT(src, - HasCall(_A("t20050.cu"), _A("t20050.cu"), - "<< CUDA Device >>\\\\nsquare(float)")); - REQUIRE_THAT(src, - HasCall(_A("t20050.cu"), _A("t20050.cu"), - "<< CUDA Device >>\\\\nadd(float,float)")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - HasCall(_A("t20050.cu"), _A("t20050.cu"), - "<< CUDA Kernel >>
vector_square_add(float *,float *,float " - "*,int)")); - REQUIRE_THAT(src, - HasCall(_A("t20050.cu"), _A("t20050.cu"), - "<< CUDA Device >>
square(float)")); - REQUIRE_THAT(src, - HasCall(_A("t20050.cu"), _A("t20050.cu"), - "<< CUDA Device >>
add(float,float)")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } + REQUIRE(MessageOrder(src, + { + // + {Entrypoint{}, "t20050.cu", "tmain()"}, // + {"t20050.cu", "t20050.cu", + "vector_square_add(float *,float *,float *,int)", + CUDAKernel{}}, // + {"t20050.cu", "t20050.cu", "square(float)", CUDADevice{}}, // + {"t20050.cu", "t20050.cu", "square(float)", CUDADevice{}}, // + {"t20050.cu", "t20050.cu", "add(float,float)", + CUDADevice{}}, // + })); + }); } \ No newline at end of file diff --git a/tests/t20051/test_case.h b/tests/t20051/test_case.h index 0c3806f0..838536bd 100644 --- a/tests/t20051/test_case.h +++ b/tests/t20051/test_case.h @@ -16,66 +16,21 @@ * limitations under the License. */ -TEST_CASE("t20051", "[test-case][sequence]") +TEST_CASE("t20051") { - auto [config, db] = load_config("t20051"); + using namespace clanguml::test; - auto diagram = config.diagrams["t20051_sequence"]; + auto [config, db, diagram, model] = + CHECK_SEQUENCE_MODEL("t20051", "t20051_sequence"); - REQUIRE(diagram->name == "t20051_sequence"); + CHECK_SEQUENCE_DIAGRAM(config, diagram, *model, [](const auto &src) { + REQUIRE(!IsFileParticipant(src, "t20051.cu")); - auto model = generate_sequence_diagram(*db, diagram); - - REQUIRE(model->name() == "t20051_sequence"); - - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), - _A("vector_square_add(float *,float *,float *,int)"), "")); - REQUIRE_THAT(src, - !HasCall(_A("vector_square_add(float *,float *,float *,int)"), - _A("square(float)"), "")); - REQUIRE_THAT(src, - !HasCall(_A("vector_square_add(float *,float *,float *,int)"), - _A("add(float,float)"), "")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), - _A("<< CUDA Kernel >>
vector_square_add(float *,float " - "*,float *,int)"), - "")); - REQUIRE_THAT(src, - !HasCall(_A("<< CUDA Kernel >>
vector_square_add(float *,float " - "*,float *,int)"), - _A("<< CUDA Device >>
square(float)"), "")); - REQUIRE_THAT(src, - !HasCall(_A("<< CUDA Kernel >>
vector_square_add(float *,float " - "*,float *,int)"), - _A("<< CUDA Device >>
add(float,float)"), "")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } + REQUIRE(MessageOrder(src, + { + // + {"tmain()", "vector_square_add(float *,float *,float *,int)", + ""}, // + })); + }); } \ No newline at end of file diff --git a/tests/t20052/test_case.h b/tests/t20052/test_case.h index 60c38e60..24ef4fe2 100644 --- a/tests/t20052/test_case.h +++ b/tests/t20052/test_case.h @@ -16,161 +16,48 @@ * limitations under the License. */ -TEST_CASE("t20052", "[test-case][sequence]") +TEST_CASE("t20052") { - auto [config, db] = load_config("t20052"); + using namespace clanguml::test; - auto diagram = config.diagrams["t20052_sequence"]; + auto [config, db, diagram, model] = + CHECK_SEQUENCE_MODEL("t20052", "t20052_sequence"); - REQUIRE(diagram->name == "t20052_sequence"); + CHECK_SEQUENCE_DIAGRAM(config, diagram, *model, [](const auto &src) { + REQUIRE(!IsFileParticipant(src, "t20052.cu")); - auto model = generate_sequence_diagram(*db, diagram); + REQUIRE(MessageOrder(src, + { + // + {"tmain()", "A", "a()"}, // + {"A", "A", "aa()"}, // + {"A", "A", "aaa()"}, // - REQUIRE(model->name() == "t20052_sequence"); + {"tmain()", "B", "b()"}, // + {"B", "B", "bb()"}, // + {"B", "B", "bbb()"}, // - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); + {"tmain()", "C", "c()"}, // + {"C", "C", "cc()"}, // + {"C", "C", "ccc()"}, // - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); + {"tmain()", "A", "a()"}, // + {"A", "A", "aa()"}, // + {"A", "A", "aaa()"}, // - // Check if all calls exist - REQUIRE_THAT(src, - !HasCall(_A("tmain()"), _A("tmain()::(lambda t20052.cc:67:20)"), - "operator()() const")); - REQUIRE_THAT(src, - !HasCall(_A("tmain()::(lambda t20052.cc:67:20)"), _A("A"), "a()")); + {"tmain()", "B", "b()"}, // + {"B", "B", "bb()"}, // + {"B", "B", "bbb()"}, // - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "aa()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "aaa()")); + {"tmain()", "R<(lambda at t20052.cc:86:9)>", + "R((lambda at t20052.cc:86:9) &&)"}, // - REQUIRE_THAT(src, - !HasCall(_A("tmain()::(lambda t20052.cc:67:20)"), _A("B"), "b()")); + {"tmain()", "R<(lambda at t20052.cc:86:9)>", "r()"}, // + {"R<(lambda at t20052.cc:86:9)>", "C", "c()"}, // + {"C", "C", "cc()"}, // + {"C", "C", "ccc()"}, // - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "bb()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "bbb()")); - - REQUIRE_THAT(src, - !HasCall(_A("tmain()::(lambda t20052.cc:80:20)"), _A("C"), "c()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("C"), "c()")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "cc()")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "ccc()")); - - REQUIRE_THAT(src, - !HasCall(_A("tmain()::(lambda t20052.cc:80:20)"), - _A("tmain()::(lambda t20052.cc:67:20)"), "operator()() const")); - - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "ccc()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("R<(lambda at t20052.cc:86:9)>"), - "R((lambda at t20052.cc:86:9) &&)")); - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("R<(lambda at t20052.cc:86:9)>"), "r()")); - REQUIRE_THAT(src, - !HasCall(_A("R<(lambda at t20052.cc:86:9)>"), - _A("tmain()::(lambda t20052.cc:86:9)"), "operator()() const")); - - REQUIRE_THAT( - src, HasCall(_A("R<(lambda at t20052.cc:86:9)>"), _A("C"), "c()")); - - REQUIRE_THAT(src, - !HasCall(_A("tmain()"), _A("tmain()::(lambda t20052.cc:94:9)"), - "operator()(auto) const")); - REQUIRE_THAT(src, - !HasCall(_A("tmain()::(lambda t20052.cc:94:9)"), _A("D"), - "add5(int) const")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("D"), "add5(int) const")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain()", "A", "a()"), - FindMessage(j, "A", "A", "aa()"), - FindMessage(j, "A", "A", "aaa()"), - FindMessage(j, "tmain()", "B", "b()"), - FindMessage(j, "B", "B", "bb()"), - FindMessage(j, "B", "B", "bbb()"), - FindMessage(j, "tmain()", "C", "c()"), - FindMessage(j, "C", "C", "cc()"), - FindMessage(j, "C", "C", "ccc()"), - FindMessage(j, "tmain()", "R<(lambda at t20052.cc:86:9)>", "r()"), - FindMessage(j, "R<(lambda at t20052.cc:86:9)>", "C", "c()"), - }; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, - !HasCall(_A("tmain()"), _A("tmain()::(lambda t20052.cc:67:20)"), - "operator()() const")); - REQUIRE_THAT(src, - !HasCall(_A("tmain()::(lambda t20052.cc:67:20)"), _A("A"), "a()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("A"), "a()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "aa()")); - REQUIRE_THAT(src, HasCall(_A("A"), _A("A"), "aaa()")); - - REQUIRE_THAT(src, - !HasCall(_A("tmain()::(lambda t20052.cc:67:20)"), _A("B"), "b()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("B"), "b()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "bb()")); - REQUIRE_THAT(src, HasCall(_A("B"), _A("B"), "bbb()")); - - REQUIRE_THAT(src, - !HasCall(_A("tmain()::(lambda t20052.cc:80:20)"), _A("C"), "c()")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("C"), "c()")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "cc()")); - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "ccc()")); - - REQUIRE_THAT(src, - !HasCall(_A("tmain()::(lambda t20052.cc:80:20)"), - _A("tmain()::(lambda t20052.cc:67:20)"), "operator()() const")); - - REQUIRE_THAT(src, HasCall(_A("C"), _A("C"), "ccc()")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("R<(lambda at t20052.cc:86:9)>"), - "R((lambda at t20052.cc:86:9) &&)")); - REQUIRE_THAT(src, - HasCall(_A("tmain()"), _A("R<(lambda at t20052.cc:86:9)>"), "r()")); - REQUIRE_THAT(src, - !HasCall(_A("R<(lambda at t20052.cc:86:9)>"), - _A("tmain()::(lambda t20052.cc:86:9)"), "operator()() const")); - - REQUIRE_THAT( - src, HasCall(_A("R<(lambda at t20052.cc:86:9)>"), _A("C"), "c()")); - - REQUIRE_THAT(src, - !HasCall(_A("tmain()"), _A("tmain()::(lambda t20052.cc:94:9)"), - "operator()(auto) const")); - REQUIRE_THAT(src, - !HasCall(_A("tmain()::(lambda t20052.cc:94:9)"), _A("D"), - "add5(int) const")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("D"), "add5(int) const")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } + {"tmain()", "D", "add5(int) const"} // + })); + }); } \ No newline at end of file diff --git a/tests/t20053/test_case.h b/tests/t20053/test_case.h index 29dab3e6..a3b54a9a 100644 --- a/tests/t20053/test_case.h +++ b/tests/t20053/test_case.h @@ -16,55 +16,28 @@ * limitations under the License. */ -TEST_CASE("t20053", "[test-case][sequence]") +TEST_CASE("t20053") { - auto [config, db] = load_config("t20053"); + using namespace clanguml::test; - auto diagram = config.diagrams["t20053_sequence"]; + auto [config, db, diagram, model] = + CHECK_SEQUENCE_MODEL("t20053", "t20053_sequence"); - REQUIRE(diagram->name == "t20053_sequence"); + CHECK_SEQUENCE_DIAGRAM(config, diagram, *model, [](const auto &src) { + REQUIRE(!IsFileParticipant(src, "t20053.cu")); - auto model = generate_sequence_diagram(*db, diagram); + REQUIRE(MessageOrder(src, + { + // + {"tmain()", "a2(int)", ""}, // - REQUIRE(model->name() == "t20053_sequence"); - - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, HasCall(_A("tmain()"), _A("a2(int)"), "")); - - REQUIRE_THAT(src, - HasCall(_A("tmain()"), - _A("a1<(lambda at t20053.cc:23:9)>((lambda at t20053.cc:23:9) " - "&&)"), - "")); - - REQUIRE_THAT(src, - HasCall(_A("a1<(lambda at t20053.cc:23:9)>((lambda at " - "t20053.cc:23:9) &&)"), - _A("a3(int)"), "")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::AliasMatcher _A(src); - using mermaid::IsClass; - - save_mermaid(config.output_directory(), diagram->name + ".mmd", src); - } + {"tmain()", + "a1<(lambda at t20053.cc:23:9)>((lambda at t20053.cc:23:9) " + "&&)", + ""}, // + {"a1<(lambda at t20053.cc:23:9)>((lambda at t20053.cc:23:9) " + "&&)", + "a3(int)", ""}, // + })); + }); } \ No newline at end of file diff --git a/tests/test_cases.cc b/tests/test_cases.cc index fef05561..6ac3872e 100644 --- a/tests/test_cases.cc +++ b/tests/test_cases.cc @@ -1221,25 +1221,25 @@ template <> bool IsClass(json_t d, std::string name) #include "t20038/test_case.h" #include "t20039/test_case.h" #include "t20040/test_case.h" - #include "t20041/test_case.h" #include "t20042/test_case.h" #include "t20043/test_case.h" #include "t20044/test_case.h" #include "t20045/test_case.h" -/* #include "t20046/test_case.h" #include "t20047/test_case.h" #include "t20048/test_case.h" + #if defined(ENABLE_CUDA_TEST_CASES) #include "t20049/test_case.h" #include "t20050/test_case.h" #include "t20051/test_case.h" #endif + #include "t20052/test_case.h" #include "t20053/test_case.h" -*/ + /// /// Package diagram tests /// diff --git a/tests/test_cases.h b/tests/test_cases.h index b85defb3..e4d3fccd 100644 --- a/tests/test_cases.h +++ b/tests/test_cases.h @@ -88,6 +88,9 @@ struct Entrypoint { }; struct Exitpoint { }; +struct CUDAKernel { }; +struct CUDADevice { }; + struct InControlCondition { }; struct Response { }; struct NamespacePackage { }; @@ -246,8 +249,12 @@ struct mermaid_t : public diagram_source_t { util::replace_all(name, "[", "\\["); util::replace_all(name, "]", "\\]"); - patterns.push_back( - std::regex{"participant\\s" + alias_regex + "\\sas\\s" + name+"\\n"}); + patterns.push_back(std::regex{ + "participant\\s" + alias_regex + "\\sas\\s" + name + "\\n"}); + patterns.push_back(std::regex{"participant\\s" + alias_regex + + "\\sas\\s<< CUDA Kernel >>
" + name + "\\n"}); + patterns.push_back(std::regex{"participant\\s" + alias_regex + + "\\sas\\s<< CUDA Device >>
" + name + "\\n"}); std::smatch base_match; @@ -468,6 +475,8 @@ struct Message { , is_static{has_type()} , is_incontrolcondition{has_type()} , is_response{has_type()} + , is_cuda_kernel{has_type()} + , is_cuda_device{has_type()} { } @@ -497,6 +506,8 @@ struct Message { bool is_exitpoint{false}; bool is_incontrolcondition{false}; bool is_response{false}; + bool is_cuda_kernel{false}; + bool is_cuda_device{false}; }; /// @@ -1197,6 +1208,11 @@ int64_t FindMessage( util::replace_all(msg_str, "]", "\\]"); util::replace_all(msg_str, "+", "\\+"); + if (msg.is_cuda_kernel) + msg_str = fmt::format("<< CUDA Kernel >>\\\\n{}", msg_str); + if (msg.is_cuda_device) + msg_str = fmt::format("<< CUDA Device >>\\\\n{}", msg_str); + std::string style; if (msg.is_static) style = "__"; @@ -1750,6 +1766,11 @@ int64_t FindMessage( util::replace_all(msg_str, "]", "\\]"); util::replace_all(msg_str, "+", "\\+"); + if (msg.is_cuda_kernel) + msg_str = fmt::format("<< CUDA Kernel >>
{}", msg_str); + if (msg.is_cuda_device) + msg_str = fmt::format("<< CUDA Device >>
{}", msg_str); + std::string call_pattern{"__INVALID__"}; if (msg.is_entrypoint) { @@ -2388,6 +2409,16 @@ int find_message_impl(const nlohmann::json &j, const std::string &from, auto from_p = get_participant(j, from); auto to_p = get_participant(j, to); + if (!from_p) + throw std::runtime_error( + fmt::format("Cannot find participant {}", from)); + + if (!to_p) + throw std::runtime_error(fmt::format("Cannot find participant {}", to)); + + assert(from_p->is_object()); + assert(to_p->is_object()); + // TODO: support diagrams with multiple sequences... int count{0};