aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-29 19:30:44 +0100
committerMichael Williamson <mike@zwobble.org>2016-03-29 19:30:44 +0100
commitdf10352d2eea46b3e82cbd7783ed16e3f02fced6 (patch)
treeba629ff24315d39eb3d9c8a97623fd0b0e502550 /src/test/java/org
parent8dcb59ce2de9ea97e0de55bfe3f04df934a593bb (diff)
Allow binding of parameterised types
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/JavaTypesTests.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaTypesTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaTypesTests.java
index ae8d9c0..d450b6f 100644
--- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaTypesTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaTypesTests.java
@@ -7,7 +7,9 @@ import org.zwobble.couscous.types.TypeParameter;
import static org.junit.Assert.assertEquals;
import static org.zwobble.couscous.types.BoundTypeParameter.boundTypeParameter;
+import static org.zwobble.couscous.types.ParameterizedType.parameterizedType;
import static org.zwobble.couscous.types.TypeParameter.typeParameter;
+import static org.zwobble.couscous.util.ExtraLists.list;
public class JavaTypesTests {
private static final ScalarType INT_TYPE = ScalarType.of("int");
@@ -18,6 +20,7 @@ public class JavaTypesTests {
INT_TYPE,
JavaTypes.bind(INT_TYPE, INT_TYPE));
}
+
@Test
public void bindingTypeToGenericTypeParameterReturnsBoundTypeParameter() {
TypeParameter typeParameter = typeParameter(ScalarType.of("List"), "T");
@@ -25,4 +28,15 @@ public class JavaTypesTests {
boundTypeParameter(typeParameter, INT_TYPE),
JavaTypes.bind(typeParameter, INT_TYPE));
}
+
+ @Test
+ public void bindingTypeToParameterizedTypeBindsParameters() {
+ ScalarType rawList = ScalarType.of("List");
+ TypeParameter typeParameter = typeParameter(rawList, "T");
+ assertEquals(
+ parameterizedType(rawList, list(boundTypeParameter(typeParameter, INT_TYPE))),
+ JavaTypes.bind(
+ parameterizedType(rawList, list(typeParameter)),
+ parameterizedType(rawList, list(INT_TYPE))));
+ }
}