Extended nested class test case with nested template instantiations

This commit is contained in:
Bartek Kryza
2022-09-13 01:18:05 +02:00
parent 56e1010142
commit 001b093175
4 changed files with 86 additions and 26 deletions

View File

@@ -32,6 +32,12 @@ public:
enum class CCC { CCC_1, CCC_2 };
};
template <typename V> class B {
V b;
};
B<int> b_int;
enum class CC { CC_1, CC_2 };
};

View File

@@ -58,6 +58,11 @@ TEST_CASE("t00004", "[test-case][class]")
REQUIRE_THAT(puml, IsInnerClass(_A("C<T>"), _A("C<T>::CC")));
REQUIRE_THAT(puml, IsInnerClass(_A("C<T>::AA"), _A("C<T>::AA::CCC")));
REQUIRE_THAT(puml, IsInnerClass(_A("C<T>"), _A("C<T>::B<V>")));
REQUIRE_THAT(puml, IsAggregation(_A("C<T>"), _A("C<T>::B<int>"), "+b_int"));
REQUIRE_THAT(puml, !IsInnerClass(_A("C<T>"), _A("C<T>::B")));
REQUIRE_THAT(puml, IsInstantiation(_A("C<T>::B<V>"), _A("C<T>::B<int>")));
REQUIRE_THAT(puml, IsClass(_A("detail::D")));
REQUIRE_THAT(puml, IsClass(_A("detail::D::DD")));
REQUIRE_THAT(puml, IsEnum(_A("detail::D::AA")));