From 485753856e0e97d64c5e36dbb5b81afa6efbe06a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 22 Nov 2015 11:27:23 +0000 Subject: Read lambdas with arguments --- .../java/org/zwobble/couscous/tests/JavaToPythonTests.java | 13 ++++++++++++- .../couscous/tests/frontends/java/JavaReaderTests.java | 9 +++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'src/test/java') diff --git a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java index 6b7b5d3..cc0e5af 100644 --- a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java +++ b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java @@ -82,7 +82,7 @@ public class JavaToPythonTests { } @Test - public void anonymousClasses() throws Exception { + public void anonymousClassesWithoutCapture() throws Exception { assertEquals( value(42), execTestProgram( @@ -91,6 +91,17 @@ public class JavaToPythonTests { "value", asList())); } + + @Test + public void lambdasWithoutCapture() throws Exception { + assertEquals( + value(42), + execTestProgram( + "lambda", + TypeName.of("com.example.Lambda"), + "value", + asList())); + } private PrimitiveValue execTestProgram( String directoryName, 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 9dfe8b8..1be1abb 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 @@ -175,6 +175,15 @@ public class JavaReaderTests { readClasses(generateMethodSource("void", "java.util.function.Supplier supplier = () -> { return 42; };"))); } + + @Test + public void lambdaWithInferredArgumentsAndBlockBodyIsReadAsAnonymousClassCreation() { + assertEquals( + readClasses(generateMethodSource("void", + "java.util.function.Function function = x -> x;")), + readClasses(generateMethodSource("void", + "java.util.function.Function function = (Integer x) -> x;"))); + } @Test public void argumentIsBoxedIfNecessary() { -- cgit v1.2.3