From 9047511cf946f3970722b0a4bab331079277dc7d Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Thu, 31 Mar 2022 00:34:48 +0200 Subject: [PATCH] Updated test cases documentation --- docs/test_cases.md | 2 + docs/test_cases/t00002_class.svg | 64 +++++++------- docs/test_cases/t00003_class.svg | 110 ++++++++++++------------ docs/test_cases/t00004_class.svg | 26 +++--- docs/test_cases/t00005_class.svg | 110 ++++++++++++------------ docs/test_cases/t00006_class.svg | 132 ++++++++++++++--------------- docs/test_cases/t00007_class.svg | 30 +++---- docs/test_cases/t00008_class.svg | 60 ++++++------- docs/test_cases/t00009_class.svg | 32 +++---- docs/test_cases/t00010_class.svg | 34 ++++---- docs/test_cases/t00011_class.svg | 47 +++++----- docs/test_cases/t00012_class.svg | 66 +++++++-------- docs/test_cases/t00013_class.svg | 112 ++++++++++++------------ docs/test_cases/t00014_class.svg | 72 ++++++++-------- docs/test_cases/t00015_class.svg | 22 ++--- docs/test_cases/t00016_class.svg | 22 ++--- docs/test_cases/t00017_class.svg | 70 +++++++-------- docs/test_cases/t00018_class.svg | 66 +++++++-------- docs/test_cases/t00019_class.svg | 84 +++++++++--------- docs/test_cases/t00020_class.svg | 94 ++++++++++---------- docs/test_cases/t00021_class.svg | 82 +++++++++--------- docs/test_cases/t00022_class.svg | 42 ++++----- docs/test_cases/t00023_class.svg | 54 ++++++------ docs/test_cases/t00024_class.svg | 62 +++++++------- docs/test_cases/t00025_class.svg | 62 +++++++------- docs/test_cases/t00026_class.svg | 78 ++++++++--------- docs/test_cases/t00027_class.svg | 82 +++++++++--------- docs/test_cases/t00028_class.svg | 94 ++++++++++---------- docs/test_cases/t00029_class.svg | 50 +++++------ docs/test_cases/t00030_class.svg | 38 ++++----- docs/test_cases/t00031_class.svg | 50 +++++------ docs/test_cases/t00032_class.svg | 52 ++++++------ docs/test_cases/t00033_class.svg | 48 +++++------ docs/test_cases/t00034_class.svg | 46 +++++----- docs/test_cases/t00035_class.svg | 22 ++--- docs/test_cases/t00036_class.svg | 38 ++++----- docs/test_cases/t00037_class.svg | 42 ++++----- docs/test_cases/t00038_class.svg | 54 ++++++------ docs/test_cases/t00039.md | 2 +- docs/test_cases/t00039_class.svg | 22 ++--- docs/test_cases/t00040.md | 68 +++++++++++++++ docs/test_cases/t00040_class.svg | 83 ++++++++++++++++++ docs/test_cases/t00041.md | 61 +++++++++++++ docs/test_cases/t00041_class.svg | 95 +++++++++++++++++++++ docs/test_cases/t30001_package.svg | 46 +++++----- docs/test_cases/t30002_package.svg | 100 +++++++++++----------- docs/test_cases/t30003_package.svg | 28 +++--- docs/test_cases/t30004_package.svg | 42 ++++----- docs/test_cases/t30005_package.svg | 42 ++++----- docs/test_cases/t30006_package.svg | 26 +++--- docs/test_cases/t30007_package.svg | 30 +++---- 51 files changed, 1603 insertions(+), 1293 deletions(-) create mode 100644 docs/test_cases/t00040.md create mode 100644 docs/test_cases/t00040_class.svg create mode 100644 docs/test_cases/t00041.md create mode 100644 docs/test_cases/t00041_class.svg diff --git a/docs/test_cases.md b/docs/test_cases.md index e8693de6..50a10212 100644 --- a/docs/test_cases.md +++ b/docs/test_cases.md @@ -38,6 +38,8 @@ * [t00037](./test_cases/t00037.md) - Anonymous nested struct test case * [t00038](./test_cases/t00038.md) - Template instantiation with unexposed nested templates * [t00039](./test_cases/t00039.md) - Subclass class diagram filter test + * [t00040](./test_cases/t00040.md) - Relationship and access filter test + * [t00041](./test_cases/t00041.md) - Context diagram filter test ## Sequence diagrams * [t20001](./test_cases/t20001.md) - Basic sequence diagram test case * [t20002](./test_cases/t20002.md) - Free function sequence diagram test case diff --git a/docs/test_cases/t00002_class.svg b/docs/test_cases/t00002_class.svg index 2ea2b64d..0dcd0b7c 100644 --- a/docs/test_cases/t00002_class.svg +++ b/docs/test_cases/t00002_class.svg @@ -1,6 +1,6 @@ - + @@ -8,117 +8,117 @@ - - + + A - + - + foo_a() = 0 : void - + - + foo_c() = 0 : void - - + + B - + - + foo_a() : void - - + + C - + - + foo_c() : void - - + + D - + - + as : std::vector<A*> - + - + foo_a() : void - + - + foo_c() : void - - + + E - + - + as : std::vector<A*> - + - + foo_a() : void - + - + foo_c() : void - + Base abstract interface. diff --git a/docs/test_cases/t00003_class.svg b/docs/test_cases/t00003_class.svg index 38f8dada..28cf47a7 100644 --- a/docs/test_cases/t00003_class.svg +++ b/docs/test_cases/t00003_class.svg @@ -1,6 +1,6 @@ - + @@ -8,194 +8,194 @@ - - + + A - + - + public_member : int - + - + static_int : int - + - + static_const_int : int const - + - + auto_member : unsigned long const - + - + protected_member : int - + - + private_member : int - + - + a : int - + - + b : int - + - + c : int - + - + A() : void - + - + A(int i) : void - + - + A(A&& ) : void - + - + A(A const& ) : void - + - + ~A() : void - + - + basic_method() : void - + - + static_method() : int - + - + const_method() const : void - + - + auto_method() : int - + - + double_int(int const i) : int - + - + sum(double const a, double const b) : double - + - + default_int(int i = 12) : int - + - + default_string(int i, std::string s = "abc") : std::string - + - + create_from_int(int i) : A - + - + protected_method() : void - + - + private_method() : void - + - + compare : std::function<bool(int const)> diff --git a/docs/test_cases/t00004_class.svg b/docs/test_cases/t00004_class.svg index 275115c5..59fedafa 100644 --- a/docs/test_cases/t00004_class.svg +++ b/docs/test_cases/t00004_class.svg @@ -1,6 +1,6 @@ - + @@ -8,38 +8,38 @@ - - + + A - + - + foo() const : void - + - + foo2() const : void - - + + AA - - + + Lights @@ -49,8 +49,8 @@ Red - - + + AAA diff --git a/docs/test_cases/t00005_class.svg b/docs/test_cases/t00005_class.svg index 8857dea6..6a4965f8 100644 --- a/docs/test_cases/t00005_class.svg +++ b/docs/test_cases/t00005_class.svg @@ -1,6 +1,6 @@ - + @@ -8,204 +8,204 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J - - + + K - - + + R - + - + some_int : int - + - + some_int_pointer : int* - + - + some_int_pointer_pointer : int** - + - + some_int_reference : int& - + - + a : A - + - + b : B* - + - + c : C& - + - + d : D const* - + - + e : E const& - + - + f : F&& - + - + g : G** - + - + h : H*** - + - + i : I*& - + - + j : J volatile* - + - + k : K* diff --git a/docs/test_cases/t00006_class.svg b/docs/test_cases/t00006_class.svg index 3f676d83..dacd6cab 100644 --- a/docs/test_cases/t00006_class.svg +++ b/docs/test_cases/t00006_class.svg @@ -1,6 +1,6 @@ - + @@ -8,136 +8,136 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J - - + + K - - + + L - - + + M - - + + N - - + + NN - - + + NNN - - + + custom_container @@ -145,15 +145,15 @@ T - + - + data : std::vector<T> - + custom_container @@ -161,102 +161,102 @@ E - - + + R - + - + a : std::vector<A> - + - + b : std::vector<B*> - + - + c : std::map<int,C> - + - + d : std::map<int,D*> - + - + e : custom_container<E> - + - + f : std::vector<std::vector<F>> - + - + g : std::map<int,std::vector<G*>> - + - + h : std::array<H,10> - + - + i : std::array<I*,5> - + - + j : J[10] - + - + k : K*[20] - + - + lm : std::vector<std::pair<L,M>> - + - + ns : std::tuple<N,NN,NNN> diff --git a/docs/test_cases/t00007_class.svg b/docs/test_cases/t00007_class.svg index d9ad8dd8..6675a332 100644 --- a/docs/test_cases/t00007_class.svg +++ b/docs/test_cases/t00007_class.svg @@ -1,6 +1,6 @@ - + @@ -8,56 +8,56 @@ - - + + A - - + + B - - + + C - - + + R - + - + a : std::unique_ptr<A> - + - + b : std::shared_ptr<B> - + - + c : std::weak_ptr<C> diff --git a/docs/test_cases/t00008_class.svg b/docs/test_cases/t00008_class.svg index bc3334a7..0d46ddf0 100644 --- a/docs/test_cases/t00008_class.svg +++ b/docs/test_cases/t00008_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + A @@ -17,51 +17,51 @@ T,P,CMP,int N - + - + value : T - + - + pointer : T* - + - + reference : T& - + - + values : std::vector<P> - + - + ints : std::array<int,N> - + - + comparator : CMP - - + + Vector @@ -69,16 +69,16 @@ T - + - + values : std::vector<T> - - + + B @@ -86,15 +86,15 @@ T,C<> - + - + template_template : C<T> - + B @@ -102,26 +102,26 @@ int,Vector - - + + D - + - + ints : B<int,Vector> - + - + add(int i) : void diff --git a/docs/test_cases/t00009_class.svg b/docs/test_cases/t00009_class.svg index f7e8baee..9ca20fd5 100644 --- a/docs/test_cases/t00009_class.svg +++ b/docs/test_cases/t00009_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + A @@ -17,15 +17,15 @@ T - + - + value : T - + A @@ -33,7 +33,7 @@ int - + A @@ -41,7 +41,7 @@ std::string - + A @@ -49,32 +49,32 @@ std::vector<std::string> - - + + B - + - + aint : A<int> - + - + astring : A<std::string>* - + - + avector : A<std::vector<std::string>>& diff --git a/docs/test_cases/t00010_class.svg b/docs/test_cases/t00010_class.svg index 7efe7518..0310e207 100644 --- a/docs/test_cases/t00010_class.svg +++ b/docs/test_cases/t00010_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + A @@ -17,22 +17,22 @@ T,P - + - + first : T - + - + second : P - + A @@ -40,8 +40,8 @@ T,std::string - - + + B @@ -49,15 +49,15 @@ T - + - + astring : A<T,std::string> - + B @@ -65,18 +65,18 @@ int - - + + C - + - + aintstring : B<int> diff --git a/docs/test_cases/t00011_class.svg b/docs/test_cases/t00011_class.svg index 170a62d3..f9523757 100644 --- a/docs/test_cases/t00011_class.svg +++ b/docs/test_cases/t00011_class.svg @@ -1,6 +1,6 @@ - + - + @@ -8,8 +8,8 @@ - - + + D @@ -17,57 +17,58 @@ T - + - + value : T - - + + A - + - + foo() : void - - + + B - + - + m_a : A* - + - + foo() : void - - - «friend» - - - - m_a + + + + «friend» + + + + m_a diff --git a/docs/test_cases/t00012_class.svg b/docs/test_cases/t00012_class.svg index 7f96e270..856d960d 100644 --- a/docs/test_cases/t00012_class.svg +++ b/docs/test_cases/t00012_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + A @@ -17,23 +17,23 @@ T,Ts... - + - + value : T - + - + values : int - - + + B @@ -42,15 +42,15 @@ - + - + ints : std::array<int,sizeof...(Is)> - - + + C @@ -59,14 +59,14 @@ - + - + ints : std::array<T,sizeof...(Is)> - + A @@ -74,7 +74,7 @@ int,std::string,float - + A @@ -82,7 +82,7 @@ int,std::string,bool - + B @@ -90,7 +90,7 @@ 3,2,1 - + B @@ -98,7 +98,7 @@ 1,1,1,1 - + C @@ -106,50 +106,50 @@ std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3 - - + + R - + - + a1 : A<int,std::string,float> - + - + a2 : A<int,std::string,bool> - + - + b1 : B<3,2,1> - + - + b2 : B<1,1,1,1> - + - + c1 : C<std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3> - + Long template annotation diff --git a/docs/test_cases/t00013_class.svg b/docs/test_cases/t00013_class.svg index 4d98b34e..a63afaba 100644 --- a/docs/test_cases/t00013_class.svg +++ b/docs/test_cases/t00013_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + ABCD::F @@ -17,83 +17,83 @@ T - + - + f : T - - + + A - + - + a : int - - + + B - + - + b : int - - + + C - + - + c : int - - + + D - + - + d : int - + - + print(R* r) : void - - + + E @@ -101,15 +101,15 @@ T - + - + e : T - + E @@ -117,7 +117,7 @@ int - + F @@ -125,7 +125,7 @@ int - + E @@ -133,96 +133,96 @@ std::string - - + + R - + - + estring : E<std::string> - + - + get_a(A* a) : int - + - + get_b(B& b) : int - + - + get_const_b(B const& b) : int - + - + get_c(C c) : int - + - + get_d(D&& d) : int - + - + get_d2(D&& d) : int - + - + get_e(E<T> e) : T - + - + get_int_e(E<int> const& e) : int - + - + get_int_e2(E<int>& e) : int - + - + get_f(F<T> const& f) : T - + - + get_int_f(F<int> const& f) : int diff --git a/docs/test_cases/t00014_class.svg b/docs/test_cases/t00014_class.svg index 62cda3be..74cb062b 100644 --- a/docs/test_cases/t00014_class.svg +++ b/docs/test_cases/t00014_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + A @@ -17,22 +17,22 @@ T,P - + - + t : T - + - + p : P - + A @@ -40,22 +40,22 @@ T,std::string - - + + B - + - + value : std::string - + A @@ -63,7 +63,7 @@ bool,std::string - + AString @@ -71,7 +71,7 @@ float - + AString @@ -79,7 +79,7 @@ int - + AString @@ -87,7 +87,7 @@ std::string - + GeneralCallback @@ -95,73 +95,73 @@ AIntString - + GeneralCallback - - + + R - + - + boolstring : A<bool,std::string> - + - + floatstring : AString<float> - + - + intstring : AIntString - + - + stringstring : AStringString - + - + bs : BVector - + - + bs2 : BVector2 - + - + cb : GeneralCallback<AIntString> - + - + vcb : VoidCallback diff --git a/docs/test_cases/t00015_class.svg b/docs/test_cases/t00015_class.svg index 56a5c9c9..3397d84c 100644 --- a/docs/test_cases/t00015_class.svg +++ b/docs/test_cases/t00015_class.svg @@ -1,6 +1,6 @@ - + @@ -8,40 +8,40 @@ - - + + ns1::A - - + + ns1::ns2_v0_9_0::A - - + + ns1::Anon - - + + ns3::ns1::ns2::Anon - - + + ns3::B diff --git a/docs/test_cases/t00016_class.svg b/docs/test_cases/t00016_class.svg index 09d41620..7cf2564c 100644 --- a/docs/test_cases/t00016_class.svg +++ b/docs/test_cases/t00016_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + is_numeric<> @@ -18,8 +18,8 @@ value : enum - - + + is_numeric @@ -30,8 +30,8 @@ value : enum - - + + is_numeric @@ -42,8 +42,8 @@ value : enum - - + + is_numeric @@ -54,8 +54,8 @@ value : enum - - + + is_numeric diff --git a/docs/test_cases/t00017_class.svg b/docs/test_cases/t00017_class.svg index 913a7bb8..83a01820 100644 --- a/docs/test_cases/t00017_class.svg +++ b/docs/test_cases/t00017_class.svg @@ -1,6 +1,6 @@ - + @@ -8,135 +8,135 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J - - + + K - - + + R - + - + some_int : int - + - + some_int_pointer : int* - + - + some_int_pointer_pointer : int** - + - + some_int_reference : int& - + - + R(int& some_int, C& cc, E const& ee, F&& ff, I*& ii) : void diff --git a/docs/test_cases/t00018_class.svg b/docs/test_cases/t00018_class.svg index d80ba371..58e183df 100644 --- a/docs/test_cases/t00018_class.svg +++ b/docs/test_cases/t00018_class.svg @@ -1,6 +1,6 @@ - + @@ -8,118 +8,118 @@ - - + + impl::widget - + - + n : int - + - + draw(widget const& w) const : void - + - + draw(widget const& w) : void - + - + widget(int n) : void - - + + widget - + - + pImpl : std::unique_ptr<impl::widget> - + - + draw() const : void - + - + draw() : void - + - + shown() const : bool - + - + widget(int ) : void - + - + ~widget() : void - + - + widget(widget&& ) : void - + - + widget(widget const& ) : void - + - + operator=(widget&& ) : widget& - + - + operator=(widget const& ) : widget& diff --git a/docs/test_cases/t00019_class.svg b/docs/test_cases/t00019_class.svg index 09a30f0e..18a1af6d 100644 --- a/docs/test_cases/t00019_class.svg +++ b/docs/test_cases/t00019_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + Layer2 @@ -18,51 +18,51 @@ - + - + all_calls_count() const : int - - + + Base - + - + Base() : void - + - + ~Base() : void - + - + m1() : int - + - + m2() : std::string - - + + Layer1 @@ -71,22 +71,22 @@ - + - + m1() : int - + - + m2() : std::string - - + + Layer3 @@ -94,50 +94,50 @@ LowerLayer - + - + m_m1_calls : int - + - + m_m2_calls : int - + - + m1() : int - + - + m2() : std::string - + - + m1_calls() const : int - + - + m2_calls() const : int - + Layer3 @@ -145,7 +145,7 @@ Base - + Layer2 @@ -153,7 +153,7 @@ Layer3<Base> - + Layer1 @@ -161,18 +161,18 @@ Layer2<Layer3<Base>> - - + + A - + - + layers : std::unique_ptr<Layer1<Layer2<Layer3<Base>>>> diff --git a/docs/test_cases/t00020_class.svg b/docs/test_cases/t00020_class.svg index 8be22ad7..84b79121 100644 --- a/docs/test_cases/t00020_class.svg +++ b/docs/test_cases/t00020_class.svg @@ -1,6 +1,6 @@ - + @@ -8,174 +8,174 @@ - - + + ProductA - + - + ~ProductA() : void - + - + sell(int price) const = 0 : bool - - + + ProductA1 - + - + sell(int price) const : bool - - + + ProductA2 - + - + sell(int price) const : bool - - + + ProductB - + - + ~ProductB() : void - + - + buy(int price) const = 0 : bool - - + + ProductB1 - + - + buy(int price) const : bool - - + + ProductB2 - + - + buy(int price) const : bool - - + + AbstractFactory - + - + make_a() const = 0 : std::unique_ptr<ProductA> - + - + make_b() const = 0 : std::unique_ptr<ProductB> - - + + Factory1 - + - + make_a() const : std::unique_ptr<ProductA> - + - + make_b() const : std::unique_ptr<ProductB> - - + + Factory2 - + - + make_a() const : std::unique_ptr<ProductA> - + - + make_b() const : std::unique_ptr<ProductB> diff --git a/docs/test_cases/t00021_class.svg b/docs/test_cases/t00021_class.svg index 018b0c0a..63baee1f 100644 --- a/docs/test_cases/t00021_class.svg +++ b/docs/test_cases/t00021_class.svg @@ -1,6 +1,6 @@ - + @@ -8,151 +8,151 @@ - - + + Visitor - + - + ~Visitor() : void - + - + visit_A(A const& item) const = 0 : void - + - + visit_B(B const& item) const = 0 : void - - + + Visitor1 - + - + visit_A(A const& item) const : void - + - + visit_B(B const& item) const : void - - + + Visitor2 - + - + visit_A(A const& item) const : void - + - + visit_B(B const& item) const : void - - + + Visitor3 - + - + visit_A(A const& item) const : void - + - + visit_B(B const& item) const : void - - + + Item - + - + ~Item() : void - + - + accept(Visitor const& visitor) const = 0 : void - - + + A - + - + accept(Visitor const& visitor) const : void - - + + B - + - + accept(Visitor const& visitor) const : void diff --git a/docs/test_cases/t00022_class.svg b/docs/test_cases/t00022_class.svg index 8fe9fc06..9af208f2 100644 --- a/docs/test_cases/t00022_class.svg +++ b/docs/test_cases/t00022_class.svg @@ -1,6 +1,6 @@ - + @@ -8,77 +8,77 @@ - - + + A - + - + template_method() : void - + - + method1() = 0 : void - + - + method2() = 0 : void - - + + A1 - + - + method1() : void - + - + method2() : void - - + + A2 - + - + method1() : void - + - + method2() : void diff --git a/docs/test_cases/t00023_class.svg b/docs/test_cases/t00023_class.svg index 4ae5f2fe..420577db 100644 --- a/docs/test_cases/t00023_class.svg +++ b/docs/test_cases/t00023_class.svg @@ -1,6 +1,6 @@ - + @@ -8,100 +8,100 @@ - - + + Strategy - + - + ~Strategy() : void - + - + algorithm() = 0 : void - - + + StrategyA - + - + algorithm() : void - - + + StrategyB - + - + algorithm() : void - - + + StrategyC - + - + algorithm() : void - - + + Context - + - + m_strategy : std::unique_ptr<Strategy> - + - + Context(std::unique_ptr<Strategy> strategy) : void - + - + apply() : void diff --git a/docs/test_cases/t00024_class.svg b/docs/test_cases/t00024_class.svg index 6e8b7aa1..d1e02def 100644 --- a/docs/test_cases/t00024_class.svg +++ b/docs/test_cases/t00024_class.svg @@ -1,6 +1,6 @@ - + @@ -8,113 +8,113 @@ - - + + Target - + - + ~Target() : void - + - + m1() = 0 : void - + - + m2() = 0 : void - - + + Target1 - + - + m1() : void - + - + m2() : void - - + + Target2 - + - + m1() : void - + - + m2() : void - - + + Proxy - + - + m_target : std::shared_ptr<Target> - + - + Proxy(std::shared_ptr<Target> target) : void - + - + m1() : void - + - + m2() : void diff --git a/docs/test_cases/t00025_class.svg b/docs/test_cases/t00025_class.svg index 6246f9ec..c3dc306e 100644 --- a/docs/test_cases/t00025_class.svg +++ b/docs/test_cases/t00025_class.svg @@ -1,6 +1,6 @@ - + @@ -8,52 +8,52 @@ - - + + Target1 - + - + m1() : void - + - + m2() : void - - + + Target2 - + - + m1() : void - + - + m2() : void - - + + Proxy @@ -61,36 +61,36 @@ T - + - + m_target : std::shared_ptr<T> - + - + Proxy(std::shared_ptr<T> target) : void - + - + m1() : void - + - + m2() : void - + Proxy @@ -98,7 +98,7 @@ Target1 - + Proxy @@ -106,25 +106,25 @@ Target2 - - + + ProxyHolder - + - + proxy1 : Proxy<Target1> - + - + proxy2 : Proxy<Target2> diff --git a/docs/test_cases/t00026_class.svg b/docs/test_cases/t00026_class.svg index 90d512da..3084ea5d 100644 --- a/docs/test_cases/t00026_class.svg +++ b/docs/test_cases/t00026_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + Memento @@ -17,30 +17,30 @@ T - + - + m_value : T - + - + Memento(T&& v) : void - + - + value() const : T - - + + Originator @@ -48,51 +48,51 @@ T - + - + m_value : T - + - + Originator(T&& v) : void - + - + memoize_value() const : Memento<T> - + - + load(Memento<T> const& m) : void - + - + print() const : void - + - + set(T&& v) : void - - + + Caretaker @@ -100,29 +100,29 @@ T - + - + m_mementos : std::unordered_map<std::string,Memento<T>> - + - + state(std::string const& n) : Memento<T>& - + - + set_state(std::string const& s, Memento<T>&& m) : void - + Caretaker @@ -130,7 +130,7 @@ std::string - + Originator @@ -138,25 +138,25 @@ std::string - - + + StringMemento - + - + caretaker : Caretaker<std::string> - + - + originator : Originator<std::string> diff --git a/docs/test_cases/t00027_class.svg b/docs/test_cases/t00027_class.svg index 0b1f525a..d4998ec9 100644 --- a/docs/test_cases/t00027_class.svg +++ b/docs/test_cases/t00027_class.svg @@ -1,6 +1,6 @@ - + @@ -8,30 +8,30 @@ - - + + Shape - + - + display() = 0 : void - + - + ~Shape() : void - - + + Line @@ -40,15 +40,15 @@ - + - + display() : void - - + + Text @@ -57,30 +57,30 @@ - + - + display() : void - - + + ShapeDecorator - + - + display() = 0 : void - - + + Color @@ -89,15 +89,15 @@ - + - + display() : void - - + + Weight @@ -106,14 +106,14 @@ - + - + display() : void - + Line @@ -121,7 +121,7 @@ Color,Weight - + Line @@ -129,7 +129,7 @@ Color - + Text @@ -137,7 +137,7 @@ Color,Weight - + Text @@ -145,39 +145,39 @@ Color - - + + Window - + - + border : Line<Color,Weight> - + - + divider : Line<Color> - + - + title : Text<Color,Weight> - + - + description : Text<Color> diff --git a/docs/test_cases/t00028_class.svg b/docs/test_cases/t00028_class.svg index 01eae3b2..cc434824 100644 --- a/docs/test_cases/t00028_class.svg +++ b/docs/test_cases/t00028_class.svg @@ -1,6 +1,6 @@ - + @@ -8,68 +8,68 @@ - - + + A - + A class note. - + A class note. - - + + B - + B class note. - + B class note. - - + + C - + C class note. - + C class note. - - + + D - + D class note. - + D class note. - - + + E @@ -77,27 +77,27 @@ T - + - + param : T - + E template class note. - - + + G - - + + F @@ -107,13 +107,13 @@ three - + F enum note. - + F enum note. - + E @@ -121,67 +121,67 @@ int - - + + R - + - + aaa : A - + - + bbb : B* - + - + ccc : C& - + - + ddd : std::vector<std::shared_ptr<D>> - + - + eee : E<int> - + - + ggg : G** - + - + R(C& c) : void - + R class note. - + R class note. diff --git a/docs/test_cases/t00029_class.svg b/docs/test_cases/t00029_class.svg index ea6f7281..ef54732c 100644 --- a/docs/test_cases/t00029_class.svg +++ b/docs/test_cases/t00029_class.svg @@ -1,6 +1,6 @@ - + @@ -8,16 +8,16 @@ - - + + A - - + + C @@ -25,16 +25,16 @@ T - + - + param : T - - + + E @@ -44,64 +44,64 @@ three - - + + G1 - - + + G2 - - + + G3 - - + + G4 - - + + R - + - + g1 : G1 - + - + g3 : G3& - + - + g4 : std::shared_ptr<G4> diff --git a/docs/test_cases/t00030_class.svg b/docs/test_cases/t00030_class.svg index b4251b30..66db22ec 100644 --- a/docs/test_cases/t00030_class.svg +++ b/docs/test_cases/t00030_class.svg @@ -1,6 +1,6 @@ - + @@ -8,71 +8,71 @@ - - + + A - - + + B - - + + C - - + + D - - + + R - + - + aaa : A - + - + bbb : std::vector<B> - + - + ccc : std::vector<C> - + - + ddd : D diff --git a/docs/test_cases/t00031_class.svg b/docs/test_cases/t00031_class.svg index de86e7ae..4104fb5a 100644 --- a/docs/test_cases/t00031_class.svg +++ b/docs/test_cases/t00031_class.svg @@ -1,32 +1,32 @@ - + - + - + - - - + + + A - - + + B @@ -36,8 +36,8 @@ three - - + + @@ -46,23 +46,23 @@ T - + - + ttt : T - - + + D - + C @@ -70,39 +70,39 @@ int - - + + R - + - + aaa : A* - + - + bbb : std::vector<B> - + - + ccc : C<int> - + - + ddd : D* diff --git a/docs/test_cases/t00032_class.svg b/docs/test_cases/t00032_class.svg index 561cfdb7..d418c87a 100644 --- a/docs/test_cases/t00032_class.svg +++ b/docs/test_cases/t00032_class.svg @@ -1,6 +1,6 @@ - + @@ -8,69 +8,69 @@ - - + + Base - - + + TBase - - + + A - + - + operator()() : void - - + + B - + - + operator()() : void - - + + C - + - + operator()() : void - - + + Overload @@ -78,15 +78,15 @@ T,L,Ts... - + - + counter : L - + Overload @@ -94,18 +94,18 @@ TBase,int,A,B,C - - + + R - + - + overload : Overload<TBase,int,A,B,C> diff --git a/docs/test_cases/t00033_class.svg b/docs/test_cases/t00033_class.svg index 3285b8b0..5b1b61b4 100644 --- a/docs/test_cases/t00033_class.svg +++ b/docs/test_cases/t00033_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + A @@ -17,16 +17,16 @@ T - + - + aaa : T - - + + B @@ -34,16 +34,16 @@ T - + - + bbb : T - - + + C @@ -51,30 +51,30 @@ T - + - + ccc : T - - + + D - + - + ddd : int - + C @@ -82,7 +82,7 @@ D - + B @@ -90,7 +90,7 @@ std::unique_ptr<C<D>> - + A @@ -98,18 +98,18 @@ B<std::unique_ptr<C<D>>> - - + + R - + - + abc : A<B<std::unique_ptr<C<D>>>> diff --git a/docs/test_cases/t00034_class.svg b/docs/test_cases/t00034_class.svg index 08808697..fdd307ce 100644 --- a/docs/test_cases/t00034_class.svg +++ b/docs/test_cases/t00034_class.svg @@ -1,6 +1,6 @@ - + @@ -8,30 +8,30 @@ - - + + Void - + - + operator==(Void const& ) const : bool - + - + operator!=(Void const& ) const : bool - - + + lift_void @@ -40,8 +40,8 @@ - - + + lift_void @@ -50,8 +50,8 @@ - - + + drop_void @@ -60,8 +60,8 @@ - - + + drop_void @@ -70,33 +70,33 @@ - - + + A - - + + R - + - + la : lift_void_t<A>* - + - + lv : lift_void_t<void>* diff --git a/docs/test_cases/t00035_class.svg b/docs/test_cases/t00035_class.svg index c68fde8a..cd56968f 100644 --- a/docs/test_cases/t00035_class.svg +++ b/docs/test_cases/t00035_class.svg @@ -1,6 +1,6 @@ - + @@ -8,40 +8,40 @@ - - + + Top - - + + Left - - + + Center - - + + Bottom - - + + Right diff --git a/docs/test_cases/t00036_class.svg b/docs/test_cases/t00036_class.svg index da1cbdda..d43183f4 100644 --- a/docs/test_cases/t00036_class.svg +++ b/docs/test_cases/t00036_class.svg @@ -1,6 +1,6 @@ - + @@ -8,23 +8,23 @@ - + ns1 - + ns11 - + ns111 - + ns2 - + ns22 - - + + E @@ -33,8 +33,8 @@ yellow - - + + A @@ -42,15 +42,15 @@ T - + - + a : T - + A @@ -58,23 +58,23 @@ int - - + + B - + - + a_int : A<int> - - + + C diff --git a/docs/test_cases/t00037_class.svg b/docs/test_cases/t00037_class.svg index a844a535..e327db14 100644 --- a/docs/test_cases/t00037_class.svg +++ b/docs/test_cases/t00037_class.svg @@ -1,6 +1,6 @@ - + @@ -8,77 +8,77 @@ - - + + ST - + - + dimensions : «anonymous» - - + + <<anonymous>> - + - + t : double - + - + x : double - + - + y : double - + - + z : double - - + + A - + - + st : ST - + - + A() : void diff --git a/docs/test_cases/t00038_class.svg b/docs/test_cases/t00038_class.svg index 852f900a..a069c0b8 100644 --- a/docs/test_cases/t00038_class.svg +++ b/docs/test_cases/t00038_class.svg @@ -1,6 +1,6 @@ - + @@ -8,8 +8,8 @@ - - + + thirdparty::ns1::color_t @@ -19,16 +19,16 @@ blue - - + + thirdparty::ns1::E - - + + property_t @@ -38,47 +38,47 @@ property_c - - + + A - - + + B - - + + C - - + + key_t - + - + key : std::string - - + + map @@ -87,8 +87,8 @@ - - + + map @@ -97,8 +97,8 @@ - - + + map @@ -107,8 +107,8 @@ - - + + map @@ -117,8 +117,8 @@ - - + + map diff --git a/docs/test_cases/t00039.md b/docs/test_cases/t00039.md index 1b02e740..91cf3798 100644 --- a/docs/test_cases/t00039.md +++ b/docs/test_cases/t00039.md @@ -15,7 +15,7 @@ diagrams: subclasses: - clanguml::t00039::A relationships: - - extension + - inheritance ``` ## Source code File t00039.cc diff --git a/docs/test_cases/t00039_class.svg b/docs/test_cases/t00039_class.svg index 1ddd6c8c..9b110b70 100644 --- a/docs/test_cases/t00039_class.svg +++ b/docs/test_cases/t00039_class.svg @@ -1,6 +1,6 @@ - + @@ -8,39 +8,39 @@ - - + + A - - + + AA - - + + AAA - + - + b : B* - - + + ns2::AAAA diff --git a/docs/test_cases/t00040.md b/docs/test_cases/t00040.md new file mode 100644 index 00000000..fd62d589 --- /dev/null +++ b/docs/test_cases/t00040.md @@ -0,0 +1,68 @@ +# t00040 - Relationship and access filter test +## Config +```yaml +compilation_database_dir: .. +output_directory: puml +diagrams: + t00040_class: + type: class + generate_packages: false + glob: + - ../../tests/t00040/t00040.cc + using_namespace: + - clanguml::t00040 + include: + namespaces: + - clanguml::t00040 + access: + - public + - protected + exclude: + relationships: + - dependency + elements: + - clanguml::t00040::B +``` +## Source code +File t00040.cc +```cpp +namespace clanguml::t00040 { + +struct B { +}; + +struct A { +public: + int get_a() { return hidden_a_; } + +protected: + int ii_; + +private: + void foo() { } + + int hidden_a_; +}; + +class AA : public A { +public: +}; + +class AAA : public AA { +public: + int get_aaa() { return hidden_aaa_; } + B *b; + +private: + int hidden_aaa_; +}; + +struct R { + void foo(A *a) { } +}; + +} // namespace clanguml::t00040 + +``` +## Generated UML diagrams +![t00040_class](./t00040_class.svg "Relationship and access filter test") diff --git a/docs/test_cases/t00040_class.svg b/docs/test_cases/t00040_class.svg new file mode 100644 index 00000000..24c96ff8 --- /dev/null +++ b/docs/test_cases/t00040_class.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + A + + + + + + + + ii_ : int + + + + + + + + get_a() : int + + + + + + AA + + + + + + + + AAA + + + + + + + + b : B* + + + + + + + + get_aaa() : int + + + + + + R + + + + + + + + + foo(A* a) : void + + + + + + + diff --git a/docs/test_cases/t00041.md b/docs/test_cases/t00041.md new file mode 100644 index 00000000..641bab86 --- /dev/null +++ b/docs/test_cases/t00041.md @@ -0,0 +1,61 @@ +# t00041 - Context diagram filter test +## Config +```yaml +compilation_database_dir: .. +output_directory: puml +diagrams: + t00041_class: + type: class + generate_packages: false + glob: + - ../../tests/t00041/t00041.cc + using_namespace: + - clanguml::t00041 + include: + namespaces: + - clanguml::t00041 + context: + - clanguml::t00041::RR +``` +## Source code +File t00041.cc +```cpp +namespace clanguml::t00041 { + +struct B { +}; + +struct A { +}; + +class AA : public A { +}; + +struct R { +}; + +struct RR; + +struct D { + RR *rr; +}; + +struct E { +}; + +struct F { +}; + +struct RR : public R { + E *e; + F *f; +}; + +struct RRR : public RR { +}; + +} // namespace clanguml::t00041 + +``` +## Generated UML diagrams +![t00041_class](./t00041_class.svg "Context diagram filter test") diff --git a/docs/test_cases/t00041_class.svg b/docs/test_cases/t00041_class.svg new file mode 100644 index 00000000..f34ede8c --- /dev/null +++ b/docs/test_cases/t00041_class.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + R + + + + + + + + D + + + + + + + + rr : RR* + + + + + + + E + + + + + + + + F + + + + + + + + RR + + + + + + + + e : E* + + + + + + + f : F* + + + + + + + RRR + + + + + + + rr + + + +e + + + +f + + + + + + diff --git a/docs/test_cases/t30001_package.svg b/docs/test_cases/t30001_package.svg index 8a45d6d0..4ae5e391 100644 --- a/docs/test_cases/t30001_package.svg +++ b/docs/test_cases/t30001_package.svg @@ -1,6 +1,6 @@ - + @@ -8,59 +8,59 @@ - - + + A - - + + AA - - + + B - - + + AA - - + + AAA - - + + BBB - - + + BB - - + + AAA - - + + BBB - - + + BB - + A AAA note... - + diff --git a/docs/test_cases/t30002_package.svg b/docs/test_cases/t30002_package.svg index 32baed3b..5517a265 100644 --- a/docs/test_cases/t30002_package.svg +++ b/docs/test_cases/t30002_package.svg @@ -1,6 +1,6 @@ - + @@ -8,121 +8,121 @@ - - + + A - - + + AA - - + + B - - + + BB - - + + A1 - - + + A2 - - + + A3 - - + + A4 - - + + A5 - - + + A6 - - + + A7 - - + + A8 - - + + A9 - - + + A10 - - + + A11 - - + + A12 - - + + A13 - - + + BBB - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/test_cases/t30003_package.svg b/docs/test_cases/t30003_package.svg index 06584883..47643667 100644 --- a/docs/test_cases/t30003_package.svg +++ b/docs/test_cases/t30003_package.svg @@ -1,6 +1,6 @@ - + @@ -8,39 +8,39 @@ - - + + ns1 - - + + ns3 «deprecated» - - + + ns1 - - + + ns2_v1_0_0 - - + + ns2_v0_9_0 «deprecated» - - + + ns2 - + diff --git a/docs/test_cases/t30004_package.svg b/docs/test_cases/t30004_package.svg index e148a379..feaa1cd3 100644 --- a/docs/test_cases/t30004_package.svg +++ b/docs/test_cases/t30004_package.svg @@ -1,6 +1,6 @@ - + @@ -8,50 +8,50 @@ - - + + A - + Package AAA. - + Package BBB. - + CCCC package note. - + Another CCC note. - + We skipped DDD. - - + + AAA - - + + BBB - - + + CCC - - + + EEE - - - - - + + + + + diff --git a/docs/test_cases/t30005_package.svg b/docs/test_cases/t30005_package.svg index 72bd3a52..42376414 100644 --- a/docs/test_cases/t30005_package.svg +++ b/docs/test_cases/t30005_package.svg @@ -1,6 +1,6 @@ - + @@ -8,54 +8,54 @@ - - + + A - - + + AA - - + + B - - + + BB - - + + C - - + + CC - - + + AAA - - + + BBB - - + + CCC - + - + diff --git a/docs/test_cases/t30006_package.svg b/docs/test_cases/t30006_package.svg index a6893cf4..f68a7447 100644 --- a/docs/test_cases/t30006_package.svg +++ b/docs/test_cases/t30006_package.svg @@ -1,6 +1,6 @@ - + @@ -8,32 +8,32 @@ - - + + B - - + + A - - + + C - + Top A note. - + Bottom A note. - - - + + + - + diff --git a/docs/test_cases/t30007_package.svg b/docs/test_cases/t30007_package.svg index a9ccaa16..74586d25 100644 --- a/docs/test_cases/t30007_package.svg +++ b/docs/test_cases/t30007_package.svg @@ -1,6 +1,6 @@ - + @@ -8,37 +8,37 @@ - - + + A - - + + B - - + + AA - - + + C - + Compare layout with t30006. - + Bottom A note. - - - + + + - +