Added initial abstract class rendering

This commit is contained in:
Bartek Kryza
2021-02-23 22:20:00 +01:00
parent 919ba40434
commit a3459035d7
6 changed files with 82 additions and 5 deletions

View File

@@ -5,16 +5,35 @@ namespace t00002 {
class A {
public:
virtual void foo() {}
virtual void foo_a() = 0;
virtual void foo_c() = 0;
};
class B : public A {
public:
virtual void foo_a() override {}
};
class C : public A {
public:
virtual void foo_c() override {}
};
class D : public B, public C {
public:
void foo_a() override
{
for (auto a : as)
a->foo_a();
}
void foo_c() override
{
for (auto a : as)
a->foo_c();
}
private:
std::vector<A *> as;
};
}

View File

@@ -152,6 +152,10 @@ TEST_CASE("Test t00002", "[unit-test]")
REQUIRE_THAT(puml, StartsWith("@startuml"));
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
REQUIRE_THAT(puml, Contains("abstract A"));
REQUIRE_THAT(puml, Contains("class B"));
REQUIRE_THAT(puml, Contains("class C"));
REQUIRE_THAT(puml, Contains("class D"));
save_puml(
"./" + config.output_directory + "/" + diagram->name + ".puml", puml);