Skip to content

Commit 8f0f780

Browse files
Unit test for java_generic_symbol_type
1 parent 41b3a6a commit 8f0f780

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*******************************************************************\
2+
3+
Module: Unit tests for java_types
4+
5+
Author: Diffblue Ltd.
6+
7+
\*******************************************************************/
8+
9+
#include <testing-utils/catch.hpp>
10+
#include <java_bytecode/java_types.h>
11+
12+
SCENARIO("java_generic_symbol_type", "[core][java_types]")
13+
{
14+
WHEN("MyType is LGenericClass<TX;TY;>;")
15+
{
16+
auto symbol_type = symbol_typet("MyType");
17+
const auto generic_symbol_type = java_generic_symbol_typet(
18+
symbol_type, "LGenericClass<TX;TY;>;", "PrefixClassName");
19+
20+
REQUIRE(generic_symbol_type.get_identifier() == "MyType");
21+
22+
auto types = generic_symbol_type.generic_types();
23+
REQUIRE(types.size() == 2);
24+
25+
auto generic_var0 = to_java_generic_parameter(types[0]).type_variable();
26+
REQUIRE(generic_var0.get_identifier() == "PrefixClassName::X");
27+
28+
auto generic_var1 = to_java_generic_parameter(types[1]).type_variable();
29+
REQUIRE(generic_var1.get_identifier() == "PrefixClassName::Y");
30+
}
31+
}

0 commit comments

Comments
 (0)