Extended subclass filter test with template inheritance

This commit is contained in:
Bartek Kryza
2022-03-31 20:51:46 +02:00
parent 263e89df2c
commit f33f1ef236
3 changed files with 27 additions and 0 deletions

View File

@@ -11,5 +11,6 @@ diagrams:
include:
subclasses:
- clanguml::t00039::A
- clanguml::t00039::ns3::F<T>
relationships:
- inheritance

View File

@@ -1,3 +1,5 @@
#include <string>
namespace clanguml::t00039 {
struct B {
};
@@ -21,4 +23,23 @@ namespace ns2 {
struct AAAA : public AAA {
};
} // namespace ns2
namespace ns3 {
template <typename T> struct F {
T *t;
};
template <typename T, typename M> struct FF : public F<T> {
M *m;
};
template <typename T, typename M> struct FE : public F<T> {
M *m;
};
template <typename T, typename M, typename N> struct FFF : public FF<T, M> {
N *n;
};
} // namespace ns3
} // namespace clanguml::t00039

View File

@@ -46,6 +46,11 @@ TEST_CASE("t00039", "[test-case][class]")
REQUIRE_THAT(puml, !IsClass(_A("B")));
REQUIRE_THAT(puml, !IsClass(_A("ns1::BB")));
REQUIRE_THAT(puml, IsClassTemplate("ns3::F", "T"));
REQUIRE_THAT(puml, IsClassTemplate("ns3::FF", "T,M"));
REQUIRE_THAT(puml, IsClassTemplate("ns3::FE", "T,M"));
REQUIRE_THAT(puml, IsClassTemplate("ns3::FFF", "T,M,N"));
save_puml(
"./" + config.output_directory() + "/" + diagram->name + ".puml", puml);
}