diff options
Diffstat (limited to 'src/test/java/org/zwobble')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java | 7 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java | 17 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java index e30f1ef..66a7a63 100644 --- a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java +++ b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java @@ -16,6 +16,7 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.Set; import java.util.function.Function; import java.util.stream.IntStream; @@ -133,6 +134,8 @@ public class ValueObjectTests { return "[string 1]"; } else if (type.equals(boolean.class)) { return true; + } else if (type.equals(Optional.class)) { + return Optional.of("[optional 1]"); } else if (type.equals(List.class)) { return list("[list 1]"); } else if (type.equals(Set.class)) { @@ -159,6 +162,8 @@ public class ValueObjectTests { return "[string 2]"; } else if (type.equals(boolean.class)) { return false; + } else if (type.equals(Optional.class)) { + return Optional.of("[optional 2]"); } else if (type.equals(List.class)) { return list("[list 2]"); } else if (type.equals(Set.class)) { @@ -185,6 +190,8 @@ public class ValueObjectTests { return "[string]"; } else if (type.equals(boolean.class)) { return true; + } else if (type.equals(Optional.class)) { + return Optional.of("[optional]"); } else if (type.equals(List.class)) { return list("[list]"); } else if (type.equals(Set.class)) { 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 e6a7a3e..3c88424 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 @@ -311,4 +311,21 @@ public class JavaReaderTests { assertEquals(list(), classNode.getMethods()); assertEquals(set(ObjectValues.OBJECT), classNode.getSuperTypes()); } + + @Test + public void canReadInterfaceWithMethod() { + String source = "package com.example;" + + "public interface Example {" + + "int get();" + + "}"; + List<TypeNode> classes = readSource("com/example/Example.java", source); + assertThat(classes, hasSize(1)); + InterfaceNode classNode = (InterfaceNode) classes.get(0); + + MethodNode expectedMethod = MethodNode.builder("get") + .isAbstract() + .returns(IntegerValue.REF) + .build(); + assertEquals(list(expectedMethod), classNode.getMethods()); + } } |
