Added mermaid test cases for package diagrams
This commit is contained in:
@@ -20,3 +20,15 @@ diagrams:
|
|||||||
- 'note right of {{ alias("A::AA::AAA") }}: A AAA note...'
|
- 'note right of {{ alias("A::AA::AAA") }}: A AAA note...'
|
||||||
- '{% set e=element("A::AA") %} note top of {{ alias("A::AA") }} : {{ e.comment.formatted }}'
|
- '{% set e=element("A::AA") %} note top of {{ alias("A::AA") }} : {{ e.comment.formatted }}'
|
||||||
- '{% set e=element("B::AA") %} note top of {{ alias("B::AA") }} : {{ e.comment.formatted }}'
|
- '{% set e=element("B::AA") %} note top of {{ alias("B::AA") }} : {{ e.comment.formatted }}'
|
||||||
|
mermaid:
|
||||||
|
before:
|
||||||
|
- "%% t30001 test diagram of type {{ diagram.type }}"
|
||||||
|
after:
|
||||||
|
- 'N_0001(A AAA note...)'
|
||||||
|
- 'N_0001 -.- {{ alias("A::AA::AAA") }}'
|
||||||
|
- '{% set e=element("A::AA") %}N_0002({{ e.comment.formatted }})'
|
||||||
|
- '{% set e=element("B::AA") %}N_0003({{ e.comment.formatted }})'
|
||||||
|
- 'N_0002 -.- {{ alias("A::AA") }}'
|
||||||
|
- 'N_0003 -.- {{ alias("B::AA") }}'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -29,39 +29,39 @@ TEST_CASE("t30001", "[test-case][package]")
|
|||||||
REQUIRE(model->name() == "t30001_package");
|
REQUIRE(model->name() == "t30001_package");
|
||||||
|
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("A"));
|
REQUIRE_THAT(src, IsPackage("A"));
|
||||||
REQUIRE_THAT(puml, IsPackage("AAA"));
|
REQUIRE_THAT(src, IsPackage("AAA"));
|
||||||
REQUIRE_THAT(puml, IsPackage("AAA"));
|
REQUIRE_THAT(src, IsPackage("AAA"));
|
||||||
|
|
||||||
// TODO: Fix _A() to handle fully qualified names, right
|
// TODO: Fix _A() to handle fully qualified names, right
|
||||||
// now it only finds the first element with unqualified
|
// now it only finds the first element with unqualified
|
||||||
// name match
|
// name match
|
||||||
REQUIRE_THAT(puml,
|
REQUIRE_THAT(src,
|
||||||
HasNote(_A("AA"), "top", "This is namespace AA in namespace A"));
|
HasNote(_A("AA"), "top", "This is namespace AA in namespace A"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml,
|
REQUIRE_THAT(src,
|
||||||
HasLink(_A("AAA"),
|
HasLink(_A("AAA"),
|
||||||
fmt::format("https://github.com/bkryza/clang-uml/blob/{}/tests/"
|
fmt::format("https://github.com/bkryza/clang-uml/blob/{}/tests/"
|
||||||
"t30001/t30001.cc#L6",
|
"t30001/t30001.cc#L6",
|
||||||
clanguml::util::get_git_commit()),
|
clanguml::util::get_git_commit()),
|
||||||
"AAA"));
|
"AAA"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml,
|
REQUIRE_THAT(src,
|
||||||
HasLink(_A("BBB"),
|
HasLink(_A("BBB"),
|
||||||
fmt::format("https://github.com/bkryza/clang-uml/blob/{}/tests/"
|
fmt::format("https://github.com/bkryza/clang-uml/blob/{}/tests/"
|
||||||
"t30001/t30001.cc#L8",
|
"t30001/t30001.cc#L8",
|
||||||
clanguml::util::get_git_commit()),
|
clanguml::util::get_git_commit()),
|
||||||
"BBB"));
|
"BBB"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, HasComment("t30001 test diagram of type package"));
|
REQUIRE_THAT(src, HasComment("t30001 test diagram of type package"));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -84,8 +84,41 @@ TEST_CASE("t30001", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
mermaid::AliasMatcher _A(src);
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
using mermaid::HasComment;
|
||||||
|
using mermaid::HasLink;
|
||||||
|
using mermaid::HasPackageNote;
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("AAA")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("AAA")));
|
||||||
|
|
||||||
|
// TODO: Fix _A() to handle fully qualified names, right
|
||||||
|
// now it only finds the first element with unqualified
|
||||||
|
// name match
|
||||||
|
REQUIRE_THAT(src,
|
||||||
|
HasPackageNote(
|
||||||
|
_A("AA"), "top", "This is namespace AA in namespace A"));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src,
|
||||||
|
HasLink(_A("AAA"),
|
||||||
|
fmt::format("https://github.com/bkryza/clang-uml/blob/{}/tests/"
|
||||||
|
"t30001/t30001.cc#L6",
|
||||||
|
clanguml::util::get_git_commit()),
|
||||||
|
"AAA"));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src,
|
||||||
|
HasLink(_A("BBB"),
|
||||||
|
fmt::format("https://github.com/bkryza/clang-uml/blob/{}/tests/"
|
||||||
|
"t30001/t30001.cc#L8",
|
||||||
|
clanguml::util::get_git_commit()),
|
||||||
|
"BBB"));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, HasComment("t30001 test diagram of type package"));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,50 +29,50 @@ TEST_CASE("t30002", "[test-case][package]")
|
|||||||
REQUIRE(model->name() == "t30002_package");
|
REQUIRE(model->name() == "t30002_package");
|
||||||
|
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("A1"));
|
REQUIRE_THAT(src, IsPackage("A1"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A2"));
|
REQUIRE_THAT(src, IsPackage("A2"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A3"));
|
REQUIRE_THAT(src, IsPackage("A3"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A4"));
|
REQUIRE_THAT(src, IsPackage("A4"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A5"));
|
REQUIRE_THAT(src, IsPackage("A5"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A6"));
|
REQUIRE_THAT(src, IsPackage("A6"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A7"));
|
REQUIRE_THAT(src, IsPackage("A7"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A8"));
|
REQUIRE_THAT(src, IsPackage("A8"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A9"));
|
REQUIRE_THAT(src, IsPackage("A9"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A11"));
|
REQUIRE_THAT(src, IsPackage("A11"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A12"));
|
REQUIRE_THAT(src, IsPackage("A12"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A13"));
|
REQUIRE_THAT(src, IsPackage("A13"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A14"));
|
REQUIRE_THAT(src, IsPackage("A14"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A15"));
|
REQUIRE_THAT(src, IsPackage("A15"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A16"));
|
REQUIRE_THAT(src, IsPackage("A16"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A17"));
|
REQUIRE_THAT(src, IsPackage("A17"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A18"));
|
REQUIRE_THAT(src, IsPackage("A18"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A1")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A1")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A2")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A2")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A3")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A3")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A4")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A4")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A5")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A5")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A6")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A6")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A7")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A7")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A8")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A8")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A9")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A9")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A10")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A10")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A11")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A11")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A12")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A12")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A13")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A13")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A14")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A14")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A15")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A15")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A16")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A16")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A17")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A17")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A18")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("A18")));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -123,8 +123,48 @@ TEST_CASE("t30002", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
mermaid::AliasMatcher _A(src);
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
using mermaid::IsPackageDependency;
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
REQUIRE_THAT(src, IsPackage(_A("A1")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A2")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A3")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A4")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A5")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A6")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A7")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A8")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A9")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A11")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A12")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A13")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A14")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A15")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A16")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A17")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A18")));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A1")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A2")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A3")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A4")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A5")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A6")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A7")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A8")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A9")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A10")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A11")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A12")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A13")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A14")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A15")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A16")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A17")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("A18")));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,22 +28,22 @@ TEST_CASE("t30003", "[test-case][package]")
|
|||||||
|
|
||||||
REQUIRE(model->name() == "t30003_package");
|
REQUIRE(model->name() == "t30003_package");
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("ns1"));
|
REQUIRE_THAT(src, IsPackage("ns1"));
|
||||||
REQUIRE_THAT(puml, IsPackage("ns2"));
|
REQUIRE_THAT(src, IsPackage("ns2"));
|
||||||
REQUIRE_THAT(puml, IsPackage("ns3"));
|
REQUIRE_THAT(src, IsPackage("ns3"));
|
||||||
REQUIRE_THAT(puml, IsPackage("ns2_v1_0_0"));
|
REQUIRE_THAT(src, IsPackage("ns2_v1_0_0"));
|
||||||
REQUIRE_THAT(puml, IsPackage("ns2_v0_9_0"));
|
REQUIRE_THAT(src, IsPackage("ns2_v0_9_0"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsDeprecated(_A("ns2_v0_9_0")));
|
REQUIRE_THAT(src, IsDeprecated(_A("ns2_v0_9_0")));
|
||||||
REQUIRE_THAT(puml, IsDeprecated(_A("ns3")));
|
REQUIRE_THAT(src, IsDeprecated(_A("ns3")));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -65,8 +65,19 @@ TEST_CASE("t30003", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
mermaid::AliasMatcher _A(src);
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
REQUIRE_THAT(src, IsPackage(_A("ns1")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("ns2")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("ns3")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("ns2_v1_0_0")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("ns2_v0_9_0")));
|
||||||
|
|
||||||
|
// REQUIRE_THAT(src, IsDeprecated(_A("ns2_v0_9_0")));
|
||||||
|
// REQUIRE_THAT(src, IsDeprecated(_A("ns3")));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,19 +29,19 @@ TEST_CASE("t30004", "[test-case][package]")
|
|||||||
REQUIRE(model->name() == "t30004_package");
|
REQUIRE(model->name() == "t30004_package");
|
||||||
|
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("AAA"));
|
REQUIRE_THAT(src, IsPackage("AAA"));
|
||||||
REQUIRE_THAT(puml, IsPackage("BBB"));
|
REQUIRE_THAT(src, IsPackage("BBB"));
|
||||||
REQUIRE_THAT(puml, IsPackage("CCC"));
|
REQUIRE_THAT(src, IsPackage("CCC"));
|
||||||
REQUIRE_THAT(puml, !IsPackage("DDD"));
|
REQUIRE_THAT(src, !IsPackage("DDD"));
|
||||||
REQUIRE_THAT(puml, IsPackage("EEE"));
|
REQUIRE_THAT(src, IsPackage("EEE"));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -60,8 +60,16 @@ TEST_CASE("t30004", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
mermaid::AliasMatcher _A(src);
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
REQUIRE_THAT(src, IsPackage(_A("AAA")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("BBB")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("CCC")));
|
||||||
|
REQUIRE_THAT(src, !IsPackage(_A("DDD")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("EEE")));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,20 +29,20 @@ TEST_CASE("t30005", "[test-case][package]")
|
|||||||
REQUIRE(model->name() == "t30005_package");
|
REQUIRE(model->name() == "t30005_package");
|
||||||
|
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("AAA"));
|
REQUIRE_THAT(src, IsPackage("AAA"));
|
||||||
REQUIRE_THAT(puml, IsPackage("BBB"));
|
REQUIRE_THAT(src, IsPackage("BBB"));
|
||||||
REQUIRE_THAT(puml, IsPackage("CCC"));
|
REQUIRE_THAT(src, IsPackage("CCC"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("AAA")));
|
REQUIRE_THAT(src, IsDependency(_A("BBB"), _A("AAA")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("CCC"), _A("AAA")));
|
REQUIRE_THAT(src, IsDependency(_A("CCC"), _A("AAA")));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -67,8 +67,19 @@ TEST_CASE("t30005", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
mermaid::AliasMatcher _A(src);
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
using mermaid::IsPackageDependency;
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("AAA")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("BBB")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("CCC")));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("BBB"), _A("AAA")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("CCC"), _A("AAA")));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,20 +29,20 @@ TEST_CASE("t30006", "[test-case][package]")
|
|||||||
REQUIRE(model->name() == "t30006_package");
|
REQUIRE(model->name() == "t30006_package");
|
||||||
|
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("A"));
|
REQUIRE_THAT(src, IsPackage("A"));
|
||||||
REQUIRE_THAT(puml, IsPackage("B"));
|
REQUIRE_THAT(src, IsPackage("B"));
|
||||||
REQUIRE_THAT(puml, IsPackage("C"));
|
REQUIRE_THAT(src, IsPackage("C"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("A"), _A("B")));
|
REQUIRE_THAT(src, IsDependency(_A("A"), _A("B")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("A"), _A("C")));
|
REQUIRE_THAT(src, IsDependency(_A("A"), _A("C")));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -61,8 +61,18 @@ TEST_CASE("t30006", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
mermaid::AliasMatcher _A(src);
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
using mermaid::IsPackageDependency;
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
REQUIRE_THAT(src, IsPackage(_A("A")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("B")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("C")));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("A"), _A("B")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("A"), _A("C")));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,23 +29,23 @@ TEST_CASE("t30007", "[test-case][package]")
|
|||||||
REQUIRE(model->name() == "t30007_package");
|
REQUIRE(model->name() == "t30007_package");
|
||||||
|
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("A"));
|
REQUIRE_THAT(src, IsPackage("A"));
|
||||||
REQUIRE_THAT(puml, IsPackage("B"));
|
REQUIRE_THAT(src, IsPackage("B"));
|
||||||
REQUIRE_THAT(puml, IsPackage("C"));
|
REQUIRE_THAT(src, IsPackage("C"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("AA"), _A("B")));
|
REQUIRE_THAT(src, IsDependency(_A("AA"), _A("B")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("AA"), _A("C")));
|
REQUIRE_THAT(src, IsDependency(_A("AA"), _A("C")));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsLayoutHint(_A("C"), "up", _A("AA")));
|
REQUIRE_THAT(src, IsLayoutHint(_A("C"), "up", _A("AA")));
|
||||||
REQUIRE_THAT(puml, IsLayoutHint(_A("C"), "left", _A("B")));
|
REQUIRE_THAT(src, IsLayoutHint(_A("C"), "left", _A("B")));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -65,8 +65,18 @@ TEST_CASE("t30007", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
mermaid::AliasMatcher _A(src);
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
using mermaid::IsPackageDependency;
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
REQUIRE_THAT(src, IsPackage(_A("A")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("B")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("C")));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("AA"), _A("B")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("AA"), _A("C")));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,29 +29,29 @@ TEST_CASE("t30008", "[test-case][package]")
|
|||||||
REQUIRE(model->name() == "t30008_package");
|
REQUIRE(model->name() == "t30008_package");
|
||||||
|
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("A"));
|
REQUIRE_THAT(src, IsPackage("A"));
|
||||||
REQUIRE_THAT(puml, IsPackage("B"));
|
REQUIRE_THAT(src, IsPackage("B"));
|
||||||
REQUIRE_THAT(puml, IsPackage("C"));
|
REQUIRE_THAT(src, IsPackage("C"));
|
||||||
REQUIRE_THAT(puml, !IsPackage("X"));
|
REQUIRE_THAT(src, !IsPackage("X"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("B"), _A("A")));
|
REQUIRE_THAT(src, IsDependency(_A("B"), _A("A")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("C"), _A("B")));
|
REQUIRE_THAT(src, IsDependency(_A("C"), _A("B")));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("D"));
|
REQUIRE_THAT(src, IsPackage("D"));
|
||||||
REQUIRE_THAT(puml, IsPackage("E"));
|
REQUIRE_THAT(src, IsPackage("E"));
|
||||||
REQUIRE_THAT(puml, IsPackage("F"));
|
REQUIRE_THAT(src, IsPackage("F"));
|
||||||
REQUIRE_THAT(puml, !IsPackage("Y"));
|
REQUIRE_THAT(src, !IsPackage("Y"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("E"), _A("D")));
|
REQUIRE_THAT(src, IsDependency(_A("E"), _A("D")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("F"), _A("E")));
|
REQUIRE_THAT(src, IsDependency(_A("F"), _A("E")));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -79,8 +79,27 @@ TEST_CASE("t30008", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
mermaid::AliasMatcher _A(src);
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
using mermaid::IsPackageDependency;
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
REQUIRE_THAT(src, IsPackage(_A("A")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("B")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("C")));
|
||||||
|
REQUIRE_THAT(src, !IsPackage(_A("X")));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("B"), _A("A")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("C"), _A("B")));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("D")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("E")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("F")));
|
||||||
|
REQUIRE_THAT(src, !IsPackage(_A("Y")));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("E"), _A("D")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("F"), _A("E")));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,21 +29,21 @@ TEST_CASE("t30009", "[test-case][package]")
|
|||||||
REQUIRE(model->name() == "t30009_package");
|
REQUIRE(model->name() == "t30009_package");
|
||||||
|
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
// Check if all packages exist
|
// Check if all packages exist
|
||||||
REQUIRE_THAT(puml, IsPackage("One"));
|
REQUIRE_THAT(src, IsPackage("One"));
|
||||||
REQUIRE_THAT(puml, IsPackage("Two"));
|
REQUIRE_THAT(src, IsPackage("Two"));
|
||||||
REQUIRE_THAT(puml, IsPackage("A"));
|
REQUIRE_THAT(src, IsPackage("A"));
|
||||||
REQUIRE_THAT(puml, IsPackage("B"));
|
REQUIRE_THAT(src, IsPackage("B"));
|
||||||
REQUIRE_THAT(puml, IsPackage("C"));
|
REQUIRE_THAT(src, IsPackage("C"));
|
||||||
REQUIRE_THAT(puml, IsPackage("D"));
|
REQUIRE_THAT(src, IsPackage("D"));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -66,8 +66,17 @@ TEST_CASE("t30009", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
mermaid::AliasMatcher _A(src);
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
REQUIRE_THAT(src, IsPackage(_A("One")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("Two")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("A")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("B")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("C")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("D")));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -29,25 +29,25 @@ TEST_CASE("t30010", "[test-case][package]")
|
|||||||
REQUIRE(model->name() == "t30010_package");
|
REQUIRE(model->name() == "t30010_package");
|
||||||
|
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("app"));
|
REQUIRE_THAT(src, IsPackage("app"));
|
||||||
REQUIRE_THAT(puml, IsPackage("libraries"));
|
REQUIRE_THAT(src, IsPackage("libraries"));
|
||||||
REQUIRE_THAT(puml, IsPackage("lib1"));
|
REQUIRE_THAT(src, IsPackage("lib1"));
|
||||||
REQUIRE_THAT(puml, IsPackage("lib2"));
|
REQUIRE_THAT(src, IsPackage("lib2"));
|
||||||
REQUIRE_THAT(puml, !IsPackage("library1"));
|
REQUIRE_THAT(src, !IsPackage("library1"));
|
||||||
REQUIRE_THAT(puml, !IsPackage("library2"));
|
REQUIRE_THAT(src, !IsPackage("library2"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("app"), _A("lib1")));
|
REQUIRE_THAT(src, IsDependency(_A("app"), _A("lib1")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("app"), _A("lib2")));
|
REQUIRE_THAT(src, IsDependency(_A("app"), _A("lib2")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("app"), _A("lib3")));
|
REQUIRE_THAT(src, IsDependency(_A("app"), _A("lib3")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("app"), _A("lib4")));
|
REQUIRE_THAT(src, IsDependency(_A("app"), _A("lib4")));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -59,8 +59,23 @@ TEST_CASE("t30010", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
mermaid::AliasMatcher _A(src);
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
using mermaid::IsPackageDependency;
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
REQUIRE_THAT(src, IsPackage(_A("app")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("libraries")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("lib1")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("lib2")));
|
||||||
|
REQUIRE_THAT(src, !IsPackage(_A("library1")));
|
||||||
|
REQUIRE_THAT(src, !IsPackage(_A("library2")));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("app"), _A("lib1")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("app"), _A("lib2")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("app"), _A("lib3")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("app"), _A("lib4")));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -29,25 +29,25 @@ TEST_CASE("t30011", "[test-case][package]")
|
|||||||
REQUIRE(model->name() == "t30011_package");
|
REQUIRE(model->name() == "t30011_package");
|
||||||
|
|
||||||
{
|
{
|
||||||
auto puml = generate_package_puml(diagram, *model);
|
auto src = generate_package_puml(diagram, *model);
|
||||||
AliasMatcher _A(puml);
|
AliasMatcher _A(src);
|
||||||
|
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE_THAT(src, StartsWith("@startuml"));
|
||||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
REQUIRE_THAT(src, EndsWith("@enduml\n"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsPackage("app"));
|
REQUIRE_THAT(src, IsPackage("app"));
|
||||||
REQUIRE_THAT(puml, IsPackage("libraries"));
|
REQUIRE_THAT(src, IsPackage("libraries"));
|
||||||
REQUIRE_THAT(puml, IsPackage("lib1"));
|
REQUIRE_THAT(src, IsPackage("lib1"));
|
||||||
REQUIRE_THAT(puml, IsPackage("lib2"));
|
REQUIRE_THAT(src, IsPackage("lib2"));
|
||||||
REQUIRE_THAT(puml, !IsPackage("library1"));
|
REQUIRE_THAT(src, !IsPackage("library1"));
|
||||||
REQUIRE_THAT(puml, !IsPackage("library2"));
|
REQUIRE_THAT(src, !IsPackage("library2"));
|
||||||
|
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("app"), _A("lib1")));
|
REQUIRE_THAT(src, IsDependency(_A("app"), _A("lib1")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("app"), _A("lib2")));
|
REQUIRE_THAT(src, IsDependency(_A("app"), _A("lib2")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("app"), _A("lib3")));
|
REQUIRE_THAT(src, IsDependency(_A("app"), _A("lib3")));
|
||||||
REQUIRE_THAT(puml, IsDependency(_A("app"), _A("lib4")));
|
REQUIRE_THAT(src, IsDependency(_A("app"), _A("lib4")));
|
||||||
|
|
||||||
save_puml(config.output_directory(), diagram->name + ".puml", puml);
|
save_puml(config.output_directory(), diagram->name + ".puml", src);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -59,8 +59,23 @@ TEST_CASE("t30011", "[test-case][package]")
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto mmd = generate_package_mermaid(diagram, *model);
|
auto src = generate_package_mermaid(diagram, *model);
|
||||||
|
mermaid::AliasMatcher _A(src);
|
||||||
|
using mermaid::IsPackage;
|
||||||
|
using mermaid::IsPackageDependency;
|
||||||
|
|
||||||
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
|
REQUIRE_THAT(src, IsPackage(_A("app")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("libraries")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("lib1")));
|
||||||
|
REQUIRE_THAT(src, IsPackage(_A("lib2")));
|
||||||
|
REQUIRE_THAT(src, !IsPackage(_A("library1")));
|
||||||
|
REQUIRE_THAT(src, !IsPackage(_A("library2")));
|
||||||
|
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("app"), _A("lib1")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("app"), _A("lib2")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("app"), _A("lib3")));
|
||||||
|
REQUIRE_THAT(src, IsPackageDependency(_A("app"), _A("lib4")));
|
||||||
|
|
||||||
|
save_mermaid(config.output_directory(), diagram->name + ".mmd", src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -428,6 +428,8 @@ struct AliasMatcher {
|
|||||||
|
|
||||||
patterns.push_back(
|
patterns.push_back(
|
||||||
std::regex{"class\\s" + alias_regex + "\\[\"" + name + "\"\\]"});
|
std::regex{"class\\s" + alias_regex + "\\[\"" + name + "\"\\]"});
|
||||||
|
patterns.push_back(
|
||||||
|
std::regex{"subgraph\\s" + alias_regex + "\\[" + name + "\\]"});
|
||||||
|
|
||||||
std::smatch base_match;
|
std::smatch base_match;
|
||||||
|
|
||||||
@@ -729,6 +731,17 @@ ContainsMatcher IsDependency(std::string const &from, std::string const &to,
|
|||||||
CasedString(fmt::format("{} ..> {}", from, to), caseSensitivity));
|
CasedString(fmt::format("{} ..> {}", from, to), caseSensitivity));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace mermaid {
|
||||||
|
ContainsMatcher IsPackageDependency(std::string const &from,
|
||||||
|
std::string const &to,
|
||||||
|
CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes)
|
||||||
|
{
|
||||||
|
return ContainsMatcher(
|
||||||
|
CasedString(fmt::format("{} -.-> {}", from, to), caseSensitivity));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
ContainsMatcher IsConstraint(std::string const &from, std::string const &to,
|
ContainsMatcher IsConstraint(std::string const &from, std::string const &to,
|
||||||
std::string const &label = {},
|
std::string const &label = {},
|
||||||
CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes)
|
CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes)
|
||||||
@@ -825,6 +838,13 @@ ContainsMatcher HasNote(std::string const &cls,
|
|||||||
return ContainsMatcher(
|
return ContainsMatcher(
|
||||||
CasedString(fmt::format("note for {}", cls), caseSensitivity));
|
CasedString(fmt::format("note for {}", cls), caseSensitivity));
|
||||||
}
|
}
|
||||||
|
ContainsMatcher HasPackageNote(std::string const &cls,
|
||||||
|
std::string const &position = "", std::string const ¬e = "",
|
||||||
|
CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes)
|
||||||
|
{
|
||||||
|
return ContainsMatcher(
|
||||||
|
CasedString(fmt::format("-.- {}", cls), caseSensitivity));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ContainsMatcher HasMemberNote(std::string const &cls, std::string const &member,
|
ContainsMatcher HasMemberNote(std::string const &cls, std::string const &member,
|
||||||
@@ -1063,6 +1083,14 @@ ContainsMatcher IsPackage(std::string const &str,
|
|||||||
CasedString("package [" + str + "]", caseSensitivity));
|
CasedString("package [" + str + "]", caseSensitivity));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace mermaid {
|
||||||
|
ContainsMatcher IsPackage(std::string const &str,
|
||||||
|
CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes)
|
||||||
|
{
|
||||||
|
return ContainsMatcher(CasedString("subgraph " + str, caseSensitivity));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ContainsMatcher IsFolder(std::string const &str,
|
ContainsMatcher IsFolder(std::string const &str,
|
||||||
CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes)
|
CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user