Added JSON test case stubs for all class diagram test cases

This commit is contained in:
Bartek Kryza
2023-03-21 00:37:42 +01:00
parent b412f46fb2
commit c59fbfa565
64 changed files with 2189 additions and 1390 deletions

View File

@@ -28,60 +28,73 @@ TEST_CASE("t00059", "[test-case][class]")
REQUIRE(model->name() == "t00059_class");
auto puml = generate_class_puml(diagram, *model);
AliasMatcher _A(puml);
{
auto puml = generate_class_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, IsConcept(_A("fruit_c<T>")));
REQUIRE_THAT(puml, IsConcept(_A("apple_c<T>")));
REQUIRE_THAT(puml, IsConcept(_A("orange_c<T>")));
REQUIRE_THAT(puml, IsConcept(_A("fruit_c<T>")));
REQUIRE_THAT(puml, IsConcept(_A("apple_c<T>")));
REQUIRE_THAT(puml, IsConcept(_A("orange_c<T>")));
REQUIRE_THAT(puml, IsConstraint(_A("apple_c<T>"), _A("fruit_c<T>"), "T"));
REQUIRE_THAT(puml, IsConstraint(_A("orange_c<T>"), _A("fruit_c<T>"), "T"));
REQUIRE_THAT(
puml, IsConstraint(_A("apple_c<T>"), _A("fruit_c<T>"), "T"));
REQUIRE_THAT(
puml, IsConstraint(_A("orange_c<T>"), _A("fruit_c<T>"), "T"));
REQUIRE_THAT(
puml, IsConceptRequirement(_A("apple_c<T>"), "t.get_sweetness()"));
REQUIRE_THAT(
puml, IsConceptRequirement(_A("apple_c<T>"), "t.get_bitterness()"));
REQUIRE_THAT(
puml, IsConceptRequirement(_A("apple_c<T>"), "t.get_sweetness()"));
REQUIRE_THAT(
puml, IsConceptRequirement(_A("apple_c<T>"), "t.get_bitterness()"));
REQUIRE_THAT(puml, IsClass(_A("gala_apple")));
REQUIRE_THAT(puml, IsClass(_A("empire_apple")));
REQUIRE_THAT(puml, IsClass(_A("valencia_orange")));
REQUIRE_THAT(puml, IsClass(_A("lima_orange")));
REQUIRE_THAT(puml, IsClass(_A("R")));
REQUIRE_THAT(puml, IsClass(_A("gala_apple")));
REQUIRE_THAT(puml, IsClass(_A("empire_apple")));
REQUIRE_THAT(puml, IsClass(_A("valencia_orange")));
REQUIRE_THAT(puml, IsClass(_A("lima_orange")));
REQUIRE_THAT(puml, IsClass(_A("R")));
REQUIRE_THAT(
puml, IsClassTemplate("fruit_factory", "apple_c TA,orange_c TO"));
REQUIRE_THAT(
puml, IsClassTemplate("fruit_factory", "apple_c TA,orange_c TO"));
REQUIRE_THAT(puml,
IsDependency(
_A("fruit_factory<gala_apple,valencia_orange>"), _A("gala_apple")));
REQUIRE_THAT(puml,
IsDependency(_A("fruit_factory<gala_apple,valencia_orange>"),
_A("valencia_orange")));
REQUIRE_THAT(puml,
IsDependency(_A("fruit_factory<gala_apple,valencia_orange>"),
_A("gala_apple")));
REQUIRE_THAT(puml,
IsDependency(_A("fruit_factory<gala_apple,valencia_orange>"),
_A("valencia_orange")));
REQUIRE_THAT(puml,
IsDependency(
_A("fruit_factory<empire_apple,lima_orange>"), _A("empire_apple")));
REQUIRE_THAT(puml,
IsDependency(
_A("fruit_factory<empire_apple,lima_orange>"), _A("lima_orange")));
REQUIRE_THAT(puml,
IsDependency(_A("fruit_factory<empire_apple,lima_orange>"),
_A("empire_apple")));
REQUIRE_THAT(puml,
IsDependency(_A("fruit_factory<empire_apple,lima_orange>"),
_A("lima_orange")));
REQUIRE_THAT(puml,
IsAggregation(_A("R"), _A("fruit_factory<gala_apple,valencia_orange>"),
"+factory_1"));
REQUIRE_THAT(puml,
IsAggregation(_A("R"), _A("fruit_factory<empire_apple,lima_orange>"),
"+factory_2"));
REQUIRE_THAT(puml,
IsAggregation(_A("R"),
_A("fruit_factory<gala_apple,valencia_orange>"), "+factory_1"));
REQUIRE_THAT(puml,
IsAggregation(_A("R"),
_A("fruit_factory<empire_apple,lima_orange>"), "+factory_2"));
REQUIRE_THAT(puml,
IsInstantiation(_A("fruit_factory<apple_c TA,orange_c TO>"),
_A("fruit_factory<gala_apple,valencia_orange>")));
REQUIRE_THAT(puml,
IsInstantiation(_A("fruit_factory<apple_c TA,orange_c TO>"),
_A("fruit_factory<empire_apple,lima_orange>")));
REQUIRE_THAT(puml,
IsInstantiation(_A("fruit_factory<apple_c TA,orange_c TO>"),
_A("fruit_factory<gala_apple,valencia_orange>")));
REQUIRE_THAT(puml,
IsInstantiation(_A("fruit_factory<apple_c TA,orange_c TO>"),
_A("fruit_factory<empire_apple,lima_orange>")));
save_puml(config.output_directory() + "/" + diagram->name + ".puml", puml);
save_puml(
config.output_directory() + "/" + diagram->name + ".puml", puml);
}
{
auto j = generate_class_json(diagram, *model);
using namespace json;
save_json(config.output_directory() + "/" + diagram->name + ".json", j);
}
}