From f01484b73485e504dd0dae05064412e7bffd7415 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 28 Feb 2016 14:21:18 +0000 Subject: Ensure superclass is first in super type collection --- .../couscous/tests/frontends/java/JavaReaderTests.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/test/java/org') 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 454dda7..ca2869c 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 @@ -8,6 +8,7 @@ import org.zwobble.couscous.values.StringValue; import java.util.List; +import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.hasSize; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; @@ -312,6 +313,18 @@ public class JavaReaderTests { assertEquals(set(ObjectValues.OBJECT), classNode.getSuperTypes()); } + @Test + public void canReadInterfaceWithSuperTypes() { + String source = "package com.example;" + + "public interface Example extends java.util.function.IntSupplier {}"; + List 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(), classNode.getMethods()); + assertThat(classNode.getSuperTypes(), contains(ObjectValues.OBJECT, TypeName.of("java.util.function.IntSupplier"))); + } + @Test public void canReadInterfaceWithMethod() { String source = "package com.example;" + -- cgit v1.2.3