diff --git a/tests/t90000/test_case.h b/tests/t90000/test_case.h index a517f474..945733c5 100644 --- a/tests/t90000/test_case.h +++ b/tests/t90000/test_case.h @@ -1,5 +1,5 @@ /** - * tests/t90000/test_case.cc + * tests/t90000/test_case.h * * Copyright (c) 2021-2024 Bartek Kryza * @@ -16,40 +16,21 @@ * limitations under the License. */ -TEST_CASE("t90000", "[test-case][config]") +TEST_CASE("t90000") { - auto [config, db] = load_config("t90000"); + using namespace clanguml::test; - auto diagram = config.diagrams["t90000_class"]; + auto [config, db, diagram, model] = + CHECK_CLASS_MODEL("t90000", "t90000_class"); - auto model = generate_class_diagram(*db, diagram); - - REQUIRE(model->name() == "t90000_class"); - - { - auto puml = generate_class_puml(diagram, *model); - AliasMatcher _A(puml); - - REQUIRE_THAT(puml, StartsWith("@startuml")); - REQUIRE_THAT(puml, EndsWith("@enduml\n")); - - REQUIRE_THAT(puml, IsClass(_A("Foo"))); - REQUIRE_THAT(puml, IsClass(_A("Boo"))); - - 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); - } - - { - auto mmd = generate_class_mermaid(diagram, *model); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd); - } + CHECK_CLASS_DIAGRAM( + config, diagram, *model, + [](const plantuml_t &src) { + REQUIRE(IsClass(src, "Foo")); + REQUIRE(IsClass(src, "Boo")); + }, + [](const mermaid_t &src) { + REQUIRE(IsClass(src, "Foo")); + REQUIRE(IsClass(src, "Boo")); + }); } diff --git a/tests/t90001/test_case.h b/tests/t90001/test_case.h index 812f5a0d..99767514 100644 --- a/tests/t90001/test_case.h +++ b/tests/t90001/test_case.h @@ -1,5 +1,5 @@ /** - * tests/t90001/test_case.cc + * tests/t90001/test_case.h * * Copyright (c) 2021-2024 Bartek Kryza * @@ -16,8 +16,9 @@ * limitations under the License. */ -TEST_CASE("t90001", "[test-case][config]") +TEST_CASE("t90001") { + using namespace clanguml::test; using clanguml::error::empty_diagram_error; auto [config, db] = load_config("t90001"); @@ -31,12 +32,12 @@ TEST_CASE("t90001", "[test-case][config]") REQUIRE(model->name() == "t90001_class"); + REQUIRE_THROWS_AS(render_class_diagram(diagram, *model), + empty_diagram_error); + REQUIRE_THROWS_AS(render_class_diagram(diagram, *model), + empty_diagram_error); REQUIRE_THROWS_AS( - generate_class_puml(diagram, *model), empty_diagram_error); - REQUIRE_THROWS_AS( - generate_class_json(diagram, *model), empty_diagram_error); - REQUIRE_THROWS_AS( - generate_class_mermaid(diagram, *model), empty_diagram_error); + render_class_diagram(diagram, *model), empty_diagram_error); } { @@ -48,12 +49,12 @@ TEST_CASE("t90001", "[test-case][config]") REQUIRE(model->name() == "t90001_sequence"); - REQUIRE_THROWS_AS( - generate_sequence_puml(diagram, *model), empty_diagram_error); - REQUIRE_THROWS_AS( - generate_sequence_json(diagram, *model), empty_diagram_error); - REQUIRE_THROWS_AS( - generate_sequence_mermaid(diagram, *model), empty_diagram_error); + REQUIRE_THROWS_AS(render_sequence_diagram(diagram, *model), + empty_diagram_error); + REQUIRE_THROWS_AS(render_sequence_diagram(diagram, *model), + empty_diagram_error); + REQUIRE_THROWS_AS(render_sequence_diagram(diagram, *model), + empty_diagram_error); } { @@ -65,12 +66,12 @@ TEST_CASE("t90001", "[test-case][config]") REQUIRE(model->name() == "t90001_package"); - REQUIRE_THROWS_AS( - generate_package_puml(diagram, *model), empty_diagram_error); - REQUIRE_THROWS_AS( - generate_package_json(diagram, *model), empty_diagram_error); - REQUIRE_THROWS_AS( - generate_package_mermaid(diagram, *model), empty_diagram_error); + REQUIRE_THROWS_AS(render_package_diagram(diagram, *model), + empty_diagram_error); + REQUIRE_THROWS_AS(render_package_diagram(diagram, *model), + empty_diagram_error); + REQUIRE_THROWS_AS(render_package_diagram(diagram, *model), + empty_diagram_error); } { @@ -82,11 +83,11 @@ TEST_CASE("t90001", "[test-case][config]") REQUIRE(model->name() == "t90001_include"); - REQUIRE_THROWS_AS( - generate_include_puml(diagram, *model), empty_diagram_error); - REQUIRE_THROWS_AS( - generate_include_json(diagram, *model), empty_diagram_error); - REQUIRE_THROWS_AS( - generate_include_mermaid(diagram, *model), empty_diagram_error); + REQUIRE_THROWS_AS(render_include_diagram(diagram, *model), + empty_diagram_error); + REQUIRE_THROWS_AS(render_include_diagram(diagram, *model), + empty_diagram_error); + REQUIRE_THROWS_AS(render_include_diagram(diagram, *model), + empty_diagram_error); } } diff --git a/tests/test_cases.cc b/tests/test_cases.cc index c18cba56..e235089b 100644 --- a/tests/test_cases.cc +++ b/tests/test_cases.cc @@ -1266,15 +1266,12 @@ template <> bool IsClass(json_t d, std::string name) #include "t40001/test_case.h" #include "t40002/test_case.h" #include "t40003/test_case.h" -/* - /// /// Other tests (e.g. configuration file) /// #include "t90000/test_case.h" #include "t90001/test_case.h" -*/ /// /// Main test function diff --git a/tests/test_cases.h b/tests/test_cases.h index 5732ce98..06f0d65f 100644 --- a/tests/test_cases.h +++ b/tests/test_cases.h @@ -51,14 +51,6 @@ using namespace clanguml::util; std::pair load_config(const std::string &test_name); -// std::string generate_sequence_puml( -// std::shared_ptr config, -// clanguml::sequence_diagram::model::diagram &model); -// -// std::string generate_class_puml( -// std::shared_ptr config, -// clanguml::class_diagram::model::diagram &model); - void save_puml(const std::string &path, const std::string &puml); namespace clanguml::test {