Refactored config based test cases (#266)
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* tests/t90000/test_case.cc
|
* tests/t90000/test_case.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2021-2024 Bartek Kryza <bkryza@gmail.com>
|
* Copyright (c) 2021-2024 Bartek Kryza <bkryza@gmail.com>
|
||||||
*
|
*
|
||||||
@@ -16,40 +16,21 @@
|
|||||||
* limitations under the License.
|
* 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);
|
CHECK_CLASS_DIAGRAM(
|
||||||
|
config, diagram, *model,
|
||||||
REQUIRE(model->name() == "t90000_class");
|
[](const plantuml_t &src) {
|
||||||
|
REQUIRE(IsClass(src, "Foo"));
|
||||||
{
|
REQUIRE(IsClass(src, "Boo"));
|
||||||
auto puml = generate_class_puml(diagram, *model);
|
},
|
||||||
AliasMatcher _A(puml);
|
[](const mermaid_t &src) {
|
||||||
|
REQUIRE(IsClass(src, "Foo"));
|
||||||
REQUIRE_THAT(puml, StartsWith("@startuml"));
|
REQUIRE(IsClass(src, "Boo"));
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* tests/t90001/test_case.cc
|
* tests/t90001/test_case.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2021-2024 Bartek Kryza <bkryza@gmail.com>
|
* Copyright (c) 2021-2024 Bartek Kryza <bkryza@gmail.com>
|
||||||
*
|
*
|
||||||
@@ -16,8 +16,9 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
TEST_CASE("t90001", "[test-case][config]")
|
TEST_CASE("t90001")
|
||||||
{
|
{
|
||||||
|
using namespace clanguml::test;
|
||||||
using clanguml::error::empty_diagram_error;
|
using clanguml::error::empty_diagram_error;
|
||||||
|
|
||||||
auto [config, db] = load_config("t90001");
|
auto [config, db] = load_config("t90001");
|
||||||
@@ -31,12 +32,12 @@ TEST_CASE("t90001", "[test-case][config]")
|
|||||||
|
|
||||||
REQUIRE(model->name() == "t90001_class");
|
REQUIRE(model->name() == "t90001_class");
|
||||||
|
|
||||||
|
REQUIRE_THROWS_AS(render_class_diagram<plantuml_t>(diagram, *model),
|
||||||
|
empty_diagram_error);
|
||||||
|
REQUIRE_THROWS_AS(render_class_diagram<mermaid_t>(diagram, *model),
|
||||||
|
empty_diagram_error);
|
||||||
REQUIRE_THROWS_AS(
|
REQUIRE_THROWS_AS(
|
||||||
generate_class_puml(diagram, *model), empty_diagram_error);
|
render_class_diagram<json_t>(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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -48,12 +49,12 @@ TEST_CASE("t90001", "[test-case][config]")
|
|||||||
|
|
||||||
REQUIRE(model->name() == "t90001_sequence");
|
REQUIRE(model->name() == "t90001_sequence");
|
||||||
|
|
||||||
REQUIRE_THROWS_AS(
|
REQUIRE_THROWS_AS(render_sequence_diagram<plantuml_t>(diagram, *model),
|
||||||
generate_sequence_puml(diagram, *model), empty_diagram_error);
|
empty_diagram_error);
|
||||||
REQUIRE_THROWS_AS(
|
REQUIRE_THROWS_AS(render_sequence_diagram<mermaid_t>(diagram, *model),
|
||||||
generate_sequence_json(diagram, *model), empty_diagram_error);
|
empty_diagram_error);
|
||||||
REQUIRE_THROWS_AS(
|
REQUIRE_THROWS_AS(render_sequence_diagram<json_t>(diagram, *model),
|
||||||
generate_sequence_mermaid(diagram, *model), empty_diagram_error);
|
empty_diagram_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -65,12 +66,12 @@ TEST_CASE("t90001", "[test-case][config]")
|
|||||||
|
|
||||||
REQUIRE(model->name() == "t90001_package");
|
REQUIRE(model->name() == "t90001_package");
|
||||||
|
|
||||||
REQUIRE_THROWS_AS(
|
REQUIRE_THROWS_AS(render_package_diagram<plantuml_t>(diagram, *model),
|
||||||
generate_package_puml(diagram, *model), empty_diagram_error);
|
empty_diagram_error);
|
||||||
REQUIRE_THROWS_AS(
|
REQUIRE_THROWS_AS(render_package_diagram<mermaid_t>(diagram, *model),
|
||||||
generate_package_json(diagram, *model), empty_diagram_error);
|
empty_diagram_error);
|
||||||
REQUIRE_THROWS_AS(
|
REQUIRE_THROWS_AS(render_package_diagram<json_t>(diagram, *model),
|
||||||
generate_package_mermaid(diagram, *model), empty_diagram_error);
|
empty_diagram_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -82,11 +83,11 @@ TEST_CASE("t90001", "[test-case][config]")
|
|||||||
|
|
||||||
REQUIRE(model->name() == "t90001_include");
|
REQUIRE(model->name() == "t90001_include");
|
||||||
|
|
||||||
REQUIRE_THROWS_AS(
|
REQUIRE_THROWS_AS(render_include_diagram<plantuml_t>(diagram, *model),
|
||||||
generate_include_puml(diagram, *model), empty_diagram_error);
|
empty_diagram_error);
|
||||||
REQUIRE_THROWS_AS(
|
REQUIRE_THROWS_AS(render_include_diagram<mermaid_t>(diagram, *model),
|
||||||
generate_include_json(diagram, *model), empty_diagram_error);
|
empty_diagram_error);
|
||||||
REQUIRE_THROWS_AS(
|
REQUIRE_THROWS_AS(render_include_diagram<json_t>(diagram, *model),
|
||||||
generate_include_mermaid(diagram, *model), empty_diagram_error);
|
empty_diagram_error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1266,15 +1266,12 @@ template <> bool IsClass(json_t d, std::string name)
|
|||||||
#include "t40001/test_case.h"
|
#include "t40001/test_case.h"
|
||||||
#include "t40002/test_case.h"
|
#include "t40002/test_case.h"
|
||||||
#include "t40003/test_case.h"
|
#include "t40003/test_case.h"
|
||||||
/*
|
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Other tests (e.g. configuration file)
|
/// Other tests (e.g. configuration file)
|
||||||
///
|
///
|
||||||
#include "t90000/test_case.h"
|
#include "t90000/test_case.h"
|
||||||
#include "t90001/test_case.h"
|
#include "t90001/test_case.h"
|
||||||
*/
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Main test function
|
/// Main test function
|
||||||
|
|||||||
@@ -51,14 +51,6 @@ using namespace clanguml::util;
|
|||||||
std::pair<clanguml::config::config, clanguml::common::compilation_database_ptr>
|
std::pair<clanguml::config::config, clanguml::common::compilation_database_ptr>
|
||||||
load_config(const std::string &test_name);
|
load_config(const std::string &test_name);
|
||||||
|
|
||||||
// std::string generate_sequence_puml(
|
|
||||||
// std::shared_ptr<clanguml::config::diagram> config,
|
|
||||||
// clanguml::sequence_diagram::model::diagram &model);
|
|
||||||
//
|
|
||||||
// std::string generate_class_puml(
|
|
||||||
// std::shared_ptr<clanguml::config::diagram> config,
|
|
||||||
// clanguml::class_diagram::model::diagram &model);
|
|
||||||
|
|
||||||
void save_puml(const std::string &path, const std::string &puml);
|
void save_puml(const std::string &path, const std::string &puml);
|
||||||
|
|
||||||
namespace clanguml::test {
|
namespace clanguml::test {
|
||||||
|
|||||||
Reference in New Issue
Block a user