File tree 1 file changed +33
-0
lines changed
unit/java_bytecode/java_types
1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change
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_types.h>
11
+
12
+ SCENARIO (" generic_type_index" , " [core][java_types]" )
13
+ {
14
+ // Arrange
15
+ const auto symbol_type = symbol_typet (" MyType" );
16
+ const auto generic_symbol_type = java_generic_symbol_typet (
17
+ symbol_type, " LGenericClass<TX;TY;>;" , " PrefixClassName" );
18
+ java_generic_parametert paramX (" PrefixClassName::X" , symbol_typet ());
19
+ java_generic_parametert paramY (" PrefixClassName::Y" , symbol_typet ());
20
+ java_generic_parametert paramZ (" PrefixClassName::Z" , symbol_typet ());
21
+
22
+ // Act
23
+ const auto indexX = generic_symbol_type.generic_type_index (paramX);
24
+ const auto indexY = generic_symbol_type.generic_type_index (paramY);
25
+ const auto indexZ = generic_symbol_type.generic_type_index (paramZ);
26
+
27
+ // Assert
28
+ REQUIRE (indexX.has_value ());
29
+ REQUIRE (indexX.value () == 0 );
30
+ REQUIRE (indexY.has_value ());
31
+ REQUIRE (indexY.value () == 1 );
32
+ REQUIRE (!indexZ.has_value ());
33
+ }
You can’t perform that action at this time.
0 commit comments