diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-03-29 19:30:44 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-03-29 19:30:44 +0100 |
| commit | df10352d2eea46b3e82cbd7783ed16e3f02fced6 (patch) | |
| tree | ba629ff24315d39eb3d9c8a97623fd0b0e502550 /src/test/java/org/zwobble/couscous | |
| parent | 8dcb59ce2de9ea97e0de55bfe3f04df934a593bb (diff) | |
Allow binding of parameterised types
Diffstat (limited to 'src/test/java/org/zwobble/couscous')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaTypesTests.java | 14 |
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)))); + } } |
