Skip to content

Commit d86e8e4

Browse files
Unit test for generic_type_index
1 parent a647f41 commit d86e8e4

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
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+
}

0 commit comments

Comments
 (0)