Added option to exclude dependencies from template arguments (Fixes #141)

This commit is contained in:
Bartek Kryza
2023-08-02 00:04:11 +02:00
parent c119a622fa
commit f6efb7941f
12 changed files with 67 additions and 14 deletions

View File

@@ -5,6 +5,7 @@ diagrams:
type: class
glob:
- ../../tests/t00019/**.cc
generate_template_argument_dependencies: false
using_namespace:
- clanguml::t00019
include:

View File

@@ -38,16 +38,28 @@ TEST_CASE("t00019", "[test-case][class]")
REQUIRE_THAT(puml, IsClassTemplate("Layer1", "LowerLayer"));
REQUIRE_THAT(puml, IsClassTemplate("Layer2", "LowerLayer"));
REQUIRE_THAT(puml, IsClassTemplate("Layer3", "LowerLayer"));
REQUIRE_THAT(puml, IsBaseClass(_A("Base"), _A("Layer3<Base>")));
REQUIRE_THAT(puml, !IsDependency(_A("Base"), _A("Layer3<Base>")));
REQUIRE_THAT(
puml, IsBaseClass(_A("Layer3<Base>"), _A("Layer2<Layer3<Base>>")));
REQUIRE_THAT(puml,
!IsDependency(_A("Layer3<Base>"), _A("Layer2<Layer3<Base>>")));
REQUIRE_THAT(puml,
IsBaseClass(_A("Layer2<Layer3<Base>>"),
_A("Layer1<Layer2<Layer3<Base>>>")));
REQUIRE_THAT(puml,
!IsDependency(_A("Layer2<Layer3<Base>>"),
_A("Layer1<Layer2<Layer3<Base>>>")));
REQUIRE_THAT(puml,
IsAggregation(
_A("A"), _A("Layer1<Layer2<Layer3<Base>>>"), "+layers"));
REQUIRE_THAT(
puml, !IsDependency(_A("A"), _A("Layer1<Layer2<Layer3<Base>>>")));
REQUIRE_THAT(puml,
!IsAggregation(_A("A"), _A("Layer2<Layer3<Base>>"), "+layers"));

View File

@@ -40,6 +40,7 @@ TEST_CASE("Test config simple", "[unit-test]")
CHECK(diagram.generate_method_arguments() ==
clanguml::config::method_arguments::full);
CHECK(diagram.generate_packages() == true);
CHECK(diagram.generate_template_argument_dependencies() == false);
CHECK(diagram.generate_links == true);
CHECK(diagram.generate_links().link ==
"https://github.com/bkryza/clang-uml/blob/{{ git.branch }}/{{ "

View File

@@ -1,6 +1,7 @@
compilation_database_dir: debug
comment_parser: clang
output_directory: output
generate_template_argument_dependencies: false
diagrams:
class_main:
type: class