@@ -39,8 +39,8 @@ public void defaults(RecipeSpec spec) {
3939 @ DocumentExample
4040 @ Test
4141 void applyToLastStatementWithDeclaringVariableThreeLines () {
42- //language=java
4342 rewriteRun (
43+ //language=java
4444 java (
4545 """
4646 import org.junit.jupiter.api.Test;
@@ -89,8 +89,8 @@ void foo() {
8989
9090 @ Test
9191 void applyToLastStatementWithDeclaringVariableThreeLinesHasLineBefore () {
92- //language=java
9392 rewriteRun (
93+ //language=java
9494 java (
9595 """
9696 import org.junit.jupiter.api.Test;
@@ -141,8 +141,8 @@ void foo() {
141141
142142 @ Test
143143 void applyToLastStatementNoDeclaringVariableTwoLinesNoLinesAfter () {
144- //language=java
145144 rewriteRun (
145+ //language=java
146146 java (
147147 """
148148 import org.junit.jupiter.api.Test;
@@ -185,8 +185,8 @@ void foo() {
185185
186186 @ Test
187187 void applyToLastStatementHasMessage () {
188- //language=java
189188 rewriteRun (
189+ //language=java
190190 java (
191191 """
192192 import org.junit.jupiter.api.Test;
@@ -230,8 +230,8 @@ void foo() {
230230
231231 @ Test
232232 void makeNoChangesAsOneLine () {
233- //language=java
234233 rewriteRun (
234+ //language=java
235235 java (
236236 """
237237 import org.junit.jupiter.api.Test;
@@ -257,8 +257,8 @@ void foo() {
257257 @ Issue ("https://github.com/openrewrite/rewrite-testing-frameworks/issues/618" )
258258 @ Test
259259 void bodyNull () {
260- //language=java
261260 rewriteRun (
261+ //language=java
262262 java (
263263 """
264264 import org.junit.jupiter.api.Test;
@@ -283,8 +283,8 @@ interface InnerInterface {
283283
284284 @ Test
285285 void lastStatementHasArgumentWhichIsMethodCall () {
286- //language=java
287286 rewriteRun (
287+ //language=java
288288 java (
289289 """
290290 import org.junit.jupiter.api.Test;
@@ -336,8 +336,8 @@ void test() {
336336
337337 @ Test
338338 void lastStatementHasArgumentWhichIsChainedMethodCall () {
339- //language=java
340339 rewriteRun (
340+ //language=java
341341 java (
342342 """
343343 import org.junit.jupiter.api.Test;
@@ -391,8 +391,8 @@ void test() {
391391
392392 @ Test
393393 void lastStatementHasArgumentWhichIsExpression () {
394- //language=java
395394 rewriteRun (
395+ //language=java
396396 java (
397397 """
398398 import org.junit.jupiter.api.Test;
@@ -444,17 +444,18 @@ void test() {
444444
445445 @ Test
446446 void lastStatementHasArgumentWhichNeedImport () {
447- //language=java
448447 rewriteRun (
448+ //language=java
449449 java (
450450 """
451- import java.nio.file.Path;
451+ import java.nio.file.Path;
452452
453- class Tester {
454- public static void testThing(Path path) {}
455- }
456- """
453+ class Tester {
454+ public static void testThing(Path path) {}
455+ }
456+ """
457457 ),
458+ //language=java
458459 java (
459460 """
460461 import org.junit.jupiter.api.Test;
@@ -507,8 +508,8 @@ void test() {
507508
508509 @ Test
509510 void lastStatementHasArgumentWhichNeedImportFromSource () {
510- //language=java
511511 rewriteRun (
512+ //language=java
512513 java (
513514 """
514515 package org.test.other;
@@ -521,6 +522,7 @@ public static void testThing(SomeObject someObject) {}
521522 }
522523 """
523524 ),
525+ //language=java
524526 java (
525527 """
526528 package org.test;
@@ -575,8 +577,8 @@ void test() {
575577
576578 @ Test
577579 void uniqueVariableNames () {
578- //language=java
579580 rewriteRun (
581+ //language=java
580582 java (
581583 """
582584 import org.junit.jupiter.api.Test;
@@ -627,8 +629,8 @@ void testThing(String one, String two) {}
627629
628630 @ Test
629631 void variableNameAlreadyExists () {
630- //language=java
631632 rewriteRun (
633+ //language=java
632634 java (
633635 """
634636 import org.junit.jupiter.api.Test;
@@ -687,8 +689,8 @@ void testThing(String one, String two) {}
687689
688690 @ Test
689691 void duplicateVariableNames () {
690- //language=java
691692 rewriteRun (
693+ //language=java
692694 java (
693695 """
694696 import org.junit.jupiter.api.Test;
@@ -739,8 +741,8 @@ void testThing(String one, String two, String three, String four) {}
739741
740742 @ Test
741743 void lambdaWithSingleStatementStillExtractsVariable () {
742- //language=java
743744 rewriteRun (
745+ //language=java
744746 java (
745747 """
746748 import org.junit.jupiter.api.Test;
@@ -781,4 +783,61 @@ void testThing(String one) {}
781783 )
782784 );
783785 }
786+
787+ @ Issue ("https://github.com/openrewrite/rewrite-testing-frameworks/issues/858" )
788+ @ Test
789+ void lastStatementWithLambdaArguments () {
790+ rewriteRun (
791+ spec -> spec .parser (JavaParser .fromJavaVersion ()
792+ .classpathFromResources (new InMemoryExecutionContext (), "junit-jupiter-api-5" , "assertj-core-3" )),
793+ //language=java
794+ java (
795+ """
796+ import org.junit.jupiter.api.Test;
797+
798+ import static org.assertj.core.api.Assertions.assertThat;
799+ import static org.junit.jupiter.api.Assertions.assertThrows;
800+
801+ class MyTest {
802+
803+ @Test
804+ void test() {
805+ assertThrows(Exception.class, () -> {
806+ doA();
807+ assertThat(getB()).satisfies(
808+ arg -> assertThat(arg).isNotNull(),
809+ arg -> assertThat(arg).isEqualTo("expected")
810+ );
811+ });
812+ }
813+
814+ void doA() {}
815+ String getB() { return "B"; }
816+ }
817+ """ ,
818+ """
819+ import org.junit.jupiter.api.Test;
820+
821+ import static org.assertj.core.api.Assertions.assertThat;
822+ import static org.junit.jupiter.api.Assertions.assertThrows;
823+
824+ class MyTest {
825+
826+ @Test
827+ void test() {
828+ doA();
829+ assertThrows(Exception.class, () ->
830+ assertThat(getB()).satisfies(
831+ arg -> assertThat(arg).isNotNull(),
832+ arg -> assertThat(arg).isEqualTo("expected")
833+ ));
834+ }
835+
836+ void doA() {}
837+ String getB() { return "B"; }
838+ }
839+ """
840+ )
841+ );
842+ }
784843}
0 commit comments