diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-28 11:53:28 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-28 11:53:28 +0000 |
| commit | 8eda91c53e2df91b7b8022b80476513ac8116955 (patch) | |
| tree | b9973720d615c3c32aa62ff05a1f8727d8ea8e51 /src/test/java | |
| parent | 4330f93c6e694b546b7f3e7bfd2e18b93b15fbab (diff) | |
Allow reading of methods without body
Diffstat (limited to 'src/test/java')
| -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()); + } } |
