diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-03-08 11:01:29 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-03-08 11:01:29 +0000 |
| commit | 95669601271985c89a10d673571dd89133f1e2e8 (patch) | |
| tree | 866d294696522f721cab97b8a1fb020945cf1d75 /src/test/java/org/zwobble/couscous/tests/frontends | |
| parent | c532706e0f20a07be960e4d2ca4d89d850312174 (diff) | |
Read formal type parameters
Diffstat (limited to 'src/test/java/org/zwobble/couscous/tests/frontends')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java index f7016ff..4694f85 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java @@ -17,6 +17,7 @@ import static org.zwobble.couscous.ast.AssignmentNode.assign; import static org.zwobble.couscous.ast.AssignmentNode.assignStatement; import static org.zwobble.couscous.ast.ExpressionStatementNode.expressionStatement; import static org.zwobble.couscous.ast.FieldAccessNode.fieldAccess; +import static org.zwobble.couscous.ast.FormalTypeParameterNode.formalTypeParameter; import static org.zwobble.couscous.ast.IfStatementNode.ifStatement; import static org.zwobble.couscous.ast.LiteralNode.literal; import static org.zwobble.couscous.ast.LocalVariableDeclarationNode.localVariableDeclaration; @@ -311,6 +312,29 @@ public class JavaReaderTests { assertEquals(TypeName.of("com.example.Example"), classNode.getName()); assertEquals(list(), classNode.getMethods()); assertEquals(set(), classNode.getSuperTypes()); + assertEquals(list(), classNode.getTypeParameters()); + } + + @Test + public void canReadClassWithGenericTypeParameters() { + String source = "package com.example;" + + "public class Example<T> {}"; + List<TypeNode> classes = readSource("com/example/Example.java", source); + assertThat(classes, hasSize(1)); + ClassNode classNode = (ClassNode) classes.get(0); + assertEquals(TypeName.of("com.example.Example"), classNode.getName()); + assertEquals(list(formalTypeParameter("T")), classNode.getTypeParameters()); + } + + @Test + public void canReadInterfaceWithGenericTypeParameters() { + String source = "package com.example;" + + "public interface Example<T> {}"; + List<TypeNode> classes = readSource("com/example/Example.java", source); + assertThat(classes, hasSize(1)); + InterfaceNode classNode = (InterfaceNode) classes.get(0); + assertEquals(TypeName.of("com.example.Example"), classNode.getName()); + assertEquals(list(formalTypeParameter("T")), classNode.getTypeParameters()); } @Test |
