diff options
Diffstat (limited to 'src/test')
| -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)))); + } } |
