Extended subclass filter test with template inheritance
This commit is contained in:
@@ -11,5 +11,6 @@ diagrams:
|
||||
include:
|
||||
subclasses:
|
||||
- clanguml::t00039::A
|
||||
- clanguml::t00039::ns3::F<T>
|
||||
relationships:
|
||||
- inheritance
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user