Added JSON package diagram generator test cases
This commit is contained in:
@@ -53,7 +53,7 @@ void generator::generate(const package &p, nlohmann::json &parent) const
|
||||
LOG_DBG("Generating package {}", p.name());
|
||||
|
||||
nlohmann::json j;
|
||||
j["id"] = p.id();
|
||||
j["id"] = std::to_string(p.id());
|
||||
j["name"] = p.name();
|
||||
j["type"] = "namespace";
|
||||
j["display_name"] = p.full_name(false);
|
||||
|
||||
@@ -74,6 +74,17 @@ TEST_CASE("t30001", "[test-case][package]")
|
||||
|
||||
using namespace json;
|
||||
|
||||
REQUIRE(IsPackage(j, "A"));
|
||||
REQUIRE(IsPackage(j, "A::AA"));
|
||||
REQUIRE(IsPackage(j, "A::AA::AAA"));
|
||||
REQUIRE(IsPackage(j, "A::AA::BBB"));
|
||||
REQUIRE(IsPackage(j, "A::BB"));
|
||||
REQUIRE(IsPackage(j, "B"));
|
||||
REQUIRE(IsPackage(j, "B::AA"));
|
||||
REQUIRE(IsPackage(j, "B::AA::AAA"));
|
||||
REQUIRE(IsPackage(j, "B::AA::BBB"));
|
||||
REQUIRE(IsPackage(j, "B::BB"));
|
||||
|
||||
save_json(config.output_directory() + "/" + diagram->name + ".json", j);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,46 +28,96 @@ TEST_CASE("t30002", "[test-case][package]")
|
||||
|
||||
REQUIRE(model->name() == "t30002_package");
|
||||
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
{
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
|
||||
REQUIRE_THAT(puml, IsPackage("A1"));
|
||||
REQUIRE_THAT(puml, IsPackage("A2"));
|
||||
REQUIRE_THAT(puml, IsPackage("A3"));
|
||||
REQUIRE_THAT(puml, IsPackage("A4"));
|
||||
REQUIRE_THAT(puml, IsPackage("A5"));
|
||||
REQUIRE_THAT(puml, IsPackage("A6"));
|
||||
REQUIRE_THAT(puml, IsPackage("A7"));
|
||||
REQUIRE_THAT(puml, IsPackage("A8"));
|
||||
REQUIRE_THAT(puml, IsPackage("A9"));
|
||||
REQUIRE_THAT(puml, IsPackage("A11"));
|
||||
REQUIRE_THAT(puml, IsPackage("A12"));
|
||||
REQUIRE_THAT(puml, IsPackage("A13"));
|
||||
REQUIRE_THAT(puml, IsPackage("A14"));
|
||||
REQUIRE_THAT(puml, IsPackage("A15"));
|
||||
REQUIRE_THAT(puml, IsPackage("A16"));
|
||||
REQUIRE_THAT(puml, IsPackage("A17"));
|
||||
REQUIRE_THAT(puml, IsPackage("A1"));
|
||||
REQUIRE_THAT(puml, IsPackage("A2"));
|
||||
REQUIRE_THAT(puml, IsPackage("A3"));
|
||||
REQUIRE_THAT(puml, IsPackage("A4"));
|
||||
REQUIRE_THAT(puml, IsPackage("A5"));
|
||||
REQUIRE_THAT(puml, IsPackage("A6"));
|
||||
REQUIRE_THAT(puml, IsPackage("A7"));
|
||||
REQUIRE_THAT(puml, IsPackage("A8"));
|
||||
REQUIRE_THAT(puml, IsPackage("A9"));
|
||||
REQUIRE_THAT(puml, IsPackage("A11"));
|
||||
REQUIRE_THAT(puml, IsPackage("A12"));
|
||||
REQUIRE_THAT(puml, IsPackage("A13"));
|
||||
REQUIRE_THAT(puml, IsPackage("A14"));
|
||||
REQUIRE_THAT(puml, IsPackage("A15"));
|
||||
REQUIRE_THAT(puml, IsPackage("A16"));
|
||||
REQUIRE_THAT(puml, IsPackage("A17"));
|
||||
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A1")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A2")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A3")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A4")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A5")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A6")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A7")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A8")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A9")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A10")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A11")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A12")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A13")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A14")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A15")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A16")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A17")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A1")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A2")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A3")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A4")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A5")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A6")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A7")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A8")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A9")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A10")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A11")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A12")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A13")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A14")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A15")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A16")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("A17")));
|
||||
|
||||
save_puml(config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
save_puml(
|
||||
config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
}
|
||||
|
||||
{
|
||||
auto j = generate_package_json(diagram, *model);
|
||||
|
||||
using namespace json;
|
||||
|
||||
REQUIRE(IsPackage(j, "A::AA"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A1"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A2"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A3"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A4"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A5"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A6"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A7"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A8"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A9"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A10"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A11"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A12"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A13"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A14"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A15"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A16"));
|
||||
REQUIRE(IsPackage(j, "A::AA::A17"));
|
||||
|
||||
REQUIRE(IsPackage(j, "B::BB::BBB"));
|
||||
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A1"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A2"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A3"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A4"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A5"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A6"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A7"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A8"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A9"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A10"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A11"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A12"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A13"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A14"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A15"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A16"));
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::A17"));
|
||||
|
||||
save_json(config.output_directory() + "/" + diagram->name + ".json", j);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,24 +4,24 @@ namespace t30003 {
|
||||
namespace ns1 {
|
||||
namespace ns2_v1_0_0 {
|
||||
class A { };
|
||||
}
|
||||
} // namespace ns2_v1_0_0
|
||||
|
||||
namespace [[deprecated]] ns2_v0_9_0 {
|
||||
class A { };
|
||||
}
|
||||
} // namespace ns2_v0_9_0
|
||||
|
||||
namespace {
|
||||
class Anon final { };
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
} // namespace ns1
|
||||
|
||||
namespace [[deprecated]] ns3 {
|
||||
|
||||
namespace ns1::ns2 {
|
||||
class Anon : public t30003::ns1::ns2_v1_0_0::A { };
|
||||
}
|
||||
} // namespace ns1::ns2
|
||||
|
||||
class B : public ns1::ns2::Anon { };
|
||||
}
|
||||
}
|
||||
}
|
||||
} // namespace ns3
|
||||
} // namespace t30003
|
||||
} // namespace clanguml
|
||||
@@ -27,21 +27,41 @@ TEST_CASE("t30003", "[test-case][package]")
|
||||
auto model = generate_package_diagram(*db, diagram);
|
||||
|
||||
REQUIRE(model->name() == "t30003_package");
|
||||
{
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
REQUIRE_THAT(puml, IsPackage("ns1"));
|
||||
REQUIRE_THAT(puml, IsPackage("ns2"));
|
||||
REQUIRE_THAT(puml, IsPackage("ns3"));
|
||||
REQUIRE_THAT(puml, IsPackage("ns2_v1_0_0"));
|
||||
REQUIRE_THAT(puml, IsPackage("ns2_v0_9_0"));
|
||||
|
||||
REQUIRE_THAT(puml, IsPackage("ns1"));
|
||||
REQUIRE_THAT(puml, IsPackage("ns2"));
|
||||
REQUIRE_THAT(puml, IsPackage("ns3"));
|
||||
REQUIRE_THAT(puml, IsPackage("ns2_v1_0_0"));
|
||||
REQUIRE_THAT(puml, IsPackage("ns2_v0_9_0"));
|
||||
REQUIRE_THAT(puml, IsDeprecated(_A("ns2_v0_9_0")));
|
||||
REQUIRE_THAT(puml, IsDeprecated(_A("ns3")));
|
||||
|
||||
REQUIRE_THAT(puml, IsDeprecated(_A("ns2_v0_9_0")));
|
||||
REQUIRE_THAT(puml, IsDeprecated(_A("ns3")));
|
||||
save_puml(
|
||||
config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
}
|
||||
|
||||
save_puml(config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
{
|
||||
auto j = generate_package_json(diagram, *model);
|
||||
|
||||
using namespace json;
|
||||
|
||||
REQUIRE(IsPackage(j, "ns1"));
|
||||
REQUIRE(IsPackage(j, "ns1::ns2_v1_0_0"));
|
||||
REQUIRE(IsPackage(j, "ns1::ns2_v0_9_0"));
|
||||
REQUIRE(IsPackage(j, "ns3"));
|
||||
REQUIRE(IsPackage(j, "ns3::ns1"));
|
||||
REQUIRE(IsPackage(j, "ns3::ns1::ns2"));
|
||||
|
||||
REQUIRE(IsDeprecated(j, "ns1::ns2_v0_9_0"));
|
||||
REQUIRE(IsDeprecated(j, "ns3"));
|
||||
|
||||
save_json(config.output_directory() + "/" + diagram->name + ".json", j);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,17 +28,35 @@ TEST_CASE("t30004", "[test-case][package]")
|
||||
|
||||
REQUIRE(model->name() == "t30004_package");
|
||||
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
{
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
|
||||
REQUIRE_THAT(puml, IsPackage("AAA"));
|
||||
REQUIRE_THAT(puml, IsPackage("BBB"));
|
||||
REQUIRE_THAT(puml, IsPackage("CCC"));
|
||||
REQUIRE_THAT(puml, !IsPackage("DDD"));
|
||||
REQUIRE_THAT(puml, IsPackage("EEE"));
|
||||
REQUIRE_THAT(puml, IsPackage("AAA"));
|
||||
REQUIRE_THAT(puml, IsPackage("BBB"));
|
||||
REQUIRE_THAT(puml, IsPackage("CCC"));
|
||||
REQUIRE_THAT(puml, !IsPackage("DDD"));
|
||||
REQUIRE_THAT(puml, IsPackage("EEE"));
|
||||
|
||||
save_puml(config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
save_puml(
|
||||
config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
}
|
||||
|
||||
{
|
||||
auto j = generate_package_json(diagram, *model);
|
||||
|
||||
using namespace json;
|
||||
|
||||
REQUIRE(IsPackage(j, "A"));
|
||||
REQUIRE(IsPackage(j, "A::AAA"));
|
||||
REQUIRE(IsPackage(j, "A::BBB"));
|
||||
REQUIRE(IsPackage(j, "A::CCC"));
|
||||
REQUIRE(!IsPackage(j, "A::DDD"));
|
||||
REQUIRE(IsPackage(j, "A::EEE"));
|
||||
|
||||
save_json(config.output_directory() + "/" + diagram->name + ".json", j);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,18 +28,42 @@ TEST_CASE("t30005", "[test-case][package]")
|
||||
|
||||
REQUIRE(model->name() == "t30005_package");
|
||||
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
{
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
|
||||
REQUIRE_THAT(puml, IsPackage("AAA"));
|
||||
REQUIRE_THAT(puml, IsPackage("BBB"));
|
||||
REQUIRE_THAT(puml, IsPackage("CCC"));
|
||||
REQUIRE_THAT(puml, IsPackage("AAA"));
|
||||
REQUIRE_THAT(puml, IsPackage("BBB"));
|
||||
REQUIRE_THAT(puml, IsPackage("CCC"));
|
||||
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("AAA")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("CCC"), _A("AAA")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("BBB"), _A("AAA")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("CCC"), _A("AAA")));
|
||||
|
||||
save_puml(config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
save_puml(
|
||||
config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
}
|
||||
|
||||
{
|
||||
auto j = generate_package_json(diagram, *model);
|
||||
|
||||
using namespace json;
|
||||
|
||||
REQUIRE(IsPackage(j, "A"));
|
||||
REQUIRE(IsPackage(j, "A::AA"));
|
||||
REQUIRE(IsPackage(j, "A::AA::AAA"));
|
||||
REQUIRE(IsPackage(j, "B"));
|
||||
REQUIRE(IsPackage(j, "B::BB"));
|
||||
REQUIRE(IsPackage(j, "B::BB::BBB"));
|
||||
REQUIRE(IsPackage(j, "C"));
|
||||
REQUIRE(IsPackage(j, "C::CC"));
|
||||
REQUIRE(IsPackage(j, "C::CC::CCC"));
|
||||
|
||||
REQUIRE(IsDependency(j, "B::BB::BBB", "A::AA::AAA"));
|
||||
REQUIRE(IsDependency(j, "C::CC::CCC", "A::AA::AAA"));
|
||||
|
||||
save_json(config.output_directory() + "/" + diagram->name + ".json", j);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,18 +28,36 @@ TEST_CASE("t30006", "[test-case][package]")
|
||||
|
||||
REQUIRE(model->name() == "t30006_package");
|
||||
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
{
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
|
||||
REQUIRE_THAT(puml, IsPackage("A"));
|
||||
REQUIRE_THAT(puml, IsPackage("B"));
|
||||
REQUIRE_THAT(puml, IsPackage("C"));
|
||||
REQUIRE_THAT(puml, IsPackage("A"));
|
||||
REQUIRE_THAT(puml, IsPackage("B"));
|
||||
REQUIRE_THAT(puml, IsPackage("C"));
|
||||
|
||||
REQUIRE_THAT(puml, IsDependency(_A("A"), _A("B")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("A"), _A("C")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("A"), _A("B")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("A"), _A("C")));
|
||||
|
||||
save_puml(config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
save_puml(
|
||||
config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
}
|
||||
|
||||
{
|
||||
auto j = generate_package_json(diagram, *model);
|
||||
|
||||
using namespace json;
|
||||
|
||||
REQUIRE(IsPackage(j, "A"));
|
||||
REQUIRE(IsPackage(j, "B"));
|
||||
REQUIRE(IsPackage(j, "C"));
|
||||
|
||||
REQUIRE(IsDependency(j, "A", "B"));
|
||||
REQUIRE(IsDependency(j, "A", "C"));
|
||||
|
||||
save_json(config.output_directory() + "/" + diagram->name + ".json", j);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,21 +28,40 @@ TEST_CASE("t30007", "[test-case][package]")
|
||||
|
||||
REQUIRE(model->name() == "t30007_package");
|
||||
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
{
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
|
||||
REQUIRE_THAT(puml, IsPackage("A"));
|
||||
REQUIRE_THAT(puml, IsPackage("B"));
|
||||
REQUIRE_THAT(puml, IsPackage("C"));
|
||||
REQUIRE_THAT(puml, IsPackage("A"));
|
||||
REQUIRE_THAT(puml, IsPackage("B"));
|
||||
REQUIRE_THAT(puml, IsPackage("C"));
|
||||
|
||||
REQUIRE_THAT(puml, IsDependency(_A("AA"), _A("B")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("AA"), _A("C")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("AA"), _A("B")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("AA"), _A("C")));
|
||||
|
||||
REQUIRE_THAT(puml, IsLayoutHint(_A("C"), "up", _A("AA")));
|
||||
REQUIRE_THAT(puml, IsLayoutHint(_A("C"), "left", _A("B")));
|
||||
REQUIRE_THAT(puml, IsLayoutHint(_A("C"), "up", _A("AA")));
|
||||
REQUIRE_THAT(puml, IsLayoutHint(_A("C"), "left", _A("B")));
|
||||
|
||||
save_puml(config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
save_puml(
|
||||
config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
}
|
||||
|
||||
{
|
||||
auto j = generate_package_json(diagram, *model);
|
||||
|
||||
using namespace json;
|
||||
|
||||
REQUIRE(IsPackage(j, "A"));
|
||||
REQUIRE(IsPackage(j, "A::AA"));
|
||||
REQUIRE(IsPackage(j, "B"));
|
||||
REQUIRE(IsPackage(j, "C"));
|
||||
|
||||
REQUIRE(IsDependency(j, "A::AA", "B"));
|
||||
REQUIRE(IsDependency(j, "A::AA", "C"));
|
||||
|
||||
save_json(config.output_directory() + "/" + diagram->name + ".json", j);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,27 +28,54 @@ TEST_CASE("t30008", "[test-case][package]")
|
||||
|
||||
REQUIRE(model->name() == "t30008_package");
|
||||
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
{
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
|
||||
REQUIRE_THAT(puml, IsPackage("A"));
|
||||
REQUIRE_THAT(puml, IsPackage("B"));
|
||||
REQUIRE_THAT(puml, IsPackage("C"));
|
||||
REQUIRE_THAT(puml, !IsPackage("X"));
|
||||
REQUIRE_THAT(puml, IsPackage("A"));
|
||||
REQUIRE_THAT(puml, IsPackage("B"));
|
||||
REQUIRE_THAT(puml, IsPackage("C"));
|
||||
REQUIRE_THAT(puml, !IsPackage("X"));
|
||||
|
||||
REQUIRE_THAT(puml, IsDependency(_A("B"), _A("A")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("C"), _A("B")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("B"), _A("A")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("C"), _A("B")));
|
||||
|
||||
REQUIRE_THAT(puml, IsPackage("D"));
|
||||
REQUIRE_THAT(puml, IsPackage("E"));
|
||||
REQUIRE_THAT(puml, IsPackage("F"));
|
||||
REQUIRE_THAT(puml, !IsPackage("Y"));
|
||||
REQUIRE_THAT(puml, IsPackage("D"));
|
||||
REQUIRE_THAT(puml, IsPackage("E"));
|
||||
REQUIRE_THAT(puml, IsPackage("F"));
|
||||
REQUIRE_THAT(puml, !IsPackage("Y"));
|
||||
|
||||
REQUIRE_THAT(puml, IsDependency(_A("E"), _A("D")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("F"), _A("E")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("E"), _A("D")));
|
||||
REQUIRE_THAT(puml, IsDependency(_A("F"), _A("E")));
|
||||
|
||||
save_puml(config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
save_puml(
|
||||
config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
}
|
||||
|
||||
{
|
||||
auto j = generate_package_json(diagram, *model);
|
||||
|
||||
using namespace json;
|
||||
|
||||
REQUIRE(IsPackage(j, "dependants::A"));
|
||||
REQUIRE(IsPackage(j, "dependants::B"));
|
||||
REQUIRE(IsPackage(j, "dependants::C"));
|
||||
REQUIRE(!IsPackage(j, "dependants::X"));
|
||||
|
||||
REQUIRE(IsDependency(j, "dependants::B", "dependants::A"));
|
||||
REQUIRE(IsDependency(j, "dependants::C", "dependants::B"));
|
||||
|
||||
REQUIRE(IsPackage(j, "dependencies::D"));
|
||||
REQUIRE(IsPackage(j, "dependencies::E"));
|
||||
REQUIRE(IsPackage(j, "dependencies::F"));
|
||||
REQUIRE(!IsPackage(j, "dependencies::Y"));
|
||||
|
||||
REQUIRE(IsDependency(j, "dependencies::E", "dependencies::D"));
|
||||
REQUIRE(IsDependency(j, "dependencies::F", "dependencies::E"));
|
||||
|
||||
save_json(config.output_directory() + "/" + diagram->name + ".json", j);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,19 +28,41 @@ TEST_CASE("t30009", "[test-case][package]")
|
||||
|
||||
REQUIRE(model->name() == "t30009_package");
|
||||
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
{
|
||||
auto puml = generate_package_puml(diagram, *model);
|
||||
AliasMatcher _A(puml);
|
||||
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
||||
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
|
||||
|
||||
// Check if all packages exist
|
||||
REQUIRE_THAT(puml, IsPackage("One"));
|
||||
REQUIRE_THAT(puml, IsPackage("Two"));
|
||||
REQUIRE_THAT(puml, IsPackage("A"));
|
||||
REQUIRE_THAT(puml, IsPackage("B"));
|
||||
REQUIRE_THAT(puml, IsPackage("C"));
|
||||
REQUIRE_THAT(puml, IsPackage("D"));
|
||||
// Check if all packages exist
|
||||
REQUIRE_THAT(puml, IsPackage("One"));
|
||||
REQUIRE_THAT(puml, IsPackage("Two"));
|
||||
REQUIRE_THAT(puml, IsPackage("A"));
|
||||
REQUIRE_THAT(puml, IsPackage("B"));
|
||||
REQUIRE_THAT(puml, IsPackage("C"));
|
||||
REQUIRE_THAT(puml, IsPackage("D"));
|
||||
|
||||
save_puml(config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
save_puml(
|
||||
config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
}
|
||||
|
||||
{
|
||||
auto j = generate_package_json(diagram, *model);
|
||||
|
||||
using namespace json;
|
||||
|
||||
REQUIRE(IsPackage(j, "One"));
|
||||
REQUIRE(IsPackage(j, "Two"));
|
||||
REQUIRE(IsPackage(j, "One::A"));
|
||||
REQUIRE(IsPackage(j, "One::B"));
|
||||
REQUIRE(IsPackage(j, "One::C"));
|
||||
REQUIRE(IsPackage(j, "One::D"));
|
||||
REQUIRE(IsPackage(j, "Two::A"));
|
||||
REQUIRE(IsPackage(j, "Two::B"));
|
||||
REQUIRE(IsPackage(j, "Two::C"));
|
||||
REQUIRE(IsPackage(j, "Two::D"));
|
||||
|
||||
save_json(config.output_directory() + "/" + diagram->name + ".json", j);
|
||||
}
|
||||
}
|
||||
@@ -714,6 +714,12 @@ bool IsPackage(const nlohmann::json &j, const std::string &name)
|
||||
return e && e->at("type") == "namespace";
|
||||
}
|
||||
|
||||
bool IsDeprecated(const nlohmann::json &j, const std::string &name)
|
||||
{
|
||||
auto e = get_element(j, expand_name(j, name));
|
||||
return e && e->at("is_deprecated") == true;
|
||||
}
|
||||
|
||||
bool IsBaseClass(const nlohmann::json &j, const std::string &base,
|
||||
const std::string &subclass)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user