Skip to content

Commit ccf76c6

Browse files
committed
Update applicability tests to use Applicability#and along with the Assertions#version(SourceSpecs, int) for setting the JavaVersion marker source specs.
1 parent f9674f6 commit ccf76c6

15 files changed

+154
-172
lines changed

src/main/java/org/openrewrite/java/migrate/guava/NoGuavaImmutableListOf.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
*/
1616
package org.openrewrite.java.migrate.guava;
1717

18+
import org.openrewrite.Applicability;
1819
import org.openrewrite.ExecutionContext;
1920
import org.openrewrite.Recipe;
2021
import org.openrewrite.TreeVisitor;
2122
import org.openrewrite.internal.lang.Nullable;
22-
import org.openrewrite.java.JavaIsoVisitor;
2323
import org.openrewrite.java.JavaTemplate;
2424
import org.openrewrite.java.JavaVisitor;
2525
import org.openrewrite.java.MethodMatcher;
@@ -57,15 +57,9 @@ public Duration getEstimatedEffortPerOccurrence() {
5757
}
5858

5959
@Override
60-
protected JavaVisitor<ExecutionContext> getSingleSourceApplicableTest() {
61-
return new JavaIsoVisitor<ExecutionContext>() {
62-
@Override
63-
public J.CompilationUnit visitCompilationUnit(J.CompilationUnit cu, ExecutionContext executionContext) {
64-
doAfterVisit(new UsesJavaVersion<>(9));
65-
doAfterVisit(new UsesType<>("com.google.common.collect.ImmutableList"));
66-
return cu;
67-
}
68-
};
60+
protected TreeVisitor<?, ExecutionContext> getSingleSourceApplicableTest() {
61+
return Applicability.and(new UsesJavaVersion<>(9),
62+
new UsesType<>("com.google.common.collect.ImmutableList"));
6963
}
7064

7165
// Code is shared between `NoGuavaImmutableMapOf`, `NoGuavaImmutableListOf`, and `NoGuavaImmutableSetOf`.

src/main/java/org/openrewrite/java/migrate/guava/NoGuavaImmutableMapOf.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
*/
1616
package org.openrewrite.java.migrate.guava;
1717

18+
import org.openrewrite.Applicability;
1819
import org.openrewrite.ExecutionContext;
1920
import org.openrewrite.Recipe;
2021
import org.openrewrite.TreeVisitor;
2122
import org.openrewrite.internal.lang.Nullable;
22-
import org.openrewrite.java.JavaIsoVisitor;
2323
import org.openrewrite.java.JavaTemplate;
2424
import org.openrewrite.java.JavaVisitor;
2525
import org.openrewrite.java.MethodMatcher;
@@ -57,15 +57,9 @@ public Duration getEstimatedEffortPerOccurrence() {
5757
}
5858

5959
@Override
60-
protected JavaVisitor<ExecutionContext> getSingleSourceApplicableTest() {
61-
return new JavaIsoVisitor<ExecutionContext>() {
62-
@Override
63-
public J.CompilationUnit visitCompilationUnit(J.CompilationUnit cu, ExecutionContext executionContext) {
64-
doAfterVisit(new UsesJavaVersion<>(9));
65-
doAfterVisit(new UsesType<>("com.google.common.collect.ImmutableMap"));
66-
return cu;
67-
}
68-
};
60+
protected TreeVisitor<?, ExecutionContext> getSingleSourceApplicableTest() {
61+
return Applicability.and(new UsesJavaVersion<>(9),
62+
new UsesType<>("com.google.common.collect.ImmutableMap"));
6963
}
7064

7165
// Code is shared between `NoGuavaImmutableMapOf`, `NoGuavaImmutableListOf`, and `NoGuavaImmutableSetOf`.

src/main/java/org/openrewrite/java/migrate/guava/NoGuavaImmutableSetOf.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
*/
1616
package org.openrewrite.java.migrate.guava;
1717

18+
import org.openrewrite.Applicability;
1819
import org.openrewrite.ExecutionContext;
1920
import org.openrewrite.Recipe;
2021
import org.openrewrite.TreeVisitor;
2122
import org.openrewrite.internal.lang.Nullable;
22-
import org.openrewrite.java.JavaIsoVisitor;
2323
import org.openrewrite.java.JavaTemplate;
2424
import org.openrewrite.java.JavaVisitor;
2525
import org.openrewrite.java.MethodMatcher;
@@ -60,15 +60,9 @@ public Duration getEstimatedEffortPerOccurrence() {
6060
}
6161

6262
@Override
63-
protected JavaVisitor<ExecutionContext> getSingleSourceApplicableTest() {
64-
return new JavaIsoVisitor<ExecutionContext>() {
65-
@Override
66-
public J.CompilationUnit visitCompilationUnit(J.CompilationUnit cu, ExecutionContext executionContext) {
67-
doAfterVisit(new UsesJavaVersion<>(9));
68-
doAfterVisit(new UsesType<>("com.google.common.collect.ImmutableSet"));
69-
return cu;
70-
}
71-
};
63+
protected TreeVisitor<?, ExecutionContext> getSingleSourceApplicableTest() {
64+
return Applicability.and(new UsesJavaVersion<>(9),
65+
new UsesType<>("com.google.common.collect.ImmutableSet"));
7266
}
7367

7468
// Code is shared between `NoGuavaImmutableMapOf`, `NoGuavaImmutableListOf`, and `NoGuavaImmutableSetOf`.

src/main/java/org/openrewrite/java/migrate/util/MigrateCollectionsSingletonList.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
*/
1616
package org.openrewrite.java.migrate.util;
1717

18+
import org.openrewrite.Applicability;
1819
import org.openrewrite.ExecutionContext;
1920
import org.openrewrite.Recipe;
20-
import org.openrewrite.java.JavaIsoVisitor;
21+
import org.openrewrite.TreeVisitor;
2122
import org.openrewrite.java.JavaTemplate;
2223
import org.openrewrite.java.JavaVisitor;
2324
import org.openrewrite.java.MethodMatcher;
@@ -46,15 +47,9 @@ public String getDescription() {
4647
}
4748

4849
@Override
49-
protected JavaVisitor<ExecutionContext> getSingleSourceApplicableTest() {
50-
return new JavaIsoVisitor<ExecutionContext>() {
51-
@Override
52-
public J.CompilationUnit visitCompilationUnit(J.CompilationUnit cu, ExecutionContext executionContext) {
53-
doAfterVisit(new UsesJavaVersion<>(9));
54-
doAfterVisit(new UsesMethod<>(SINGLETON_LIST));
55-
return cu;
56-
}
57-
};
50+
protected TreeVisitor<?, ExecutionContext> getSingleSourceApplicableTest() {
51+
return Applicability.and(new UsesJavaVersion<>(9),
52+
new UsesMethod<>(SINGLETON_LIST));
5853
}
5954

6055
@Override

src/main/java/org/openrewrite/java/migrate/util/MigrateCollectionsSingletonMap.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
*/
1616
package org.openrewrite.java.migrate.util;
1717

18+
import org.openrewrite.Applicability;
1819
import org.openrewrite.ExecutionContext;
1920
import org.openrewrite.Recipe;
20-
import org.openrewrite.java.JavaIsoVisitor;
21+
import org.openrewrite.TreeVisitor;
2122
import org.openrewrite.java.JavaTemplate;
2223
import org.openrewrite.java.JavaVisitor;
2324
import org.openrewrite.java.MethodMatcher;
@@ -49,15 +50,9 @@ public String getDescription() {
4950
}
5051

5152
@Override
52-
protected JavaVisitor<ExecutionContext> getSingleSourceApplicableTest() {
53-
return new JavaIsoVisitor<ExecutionContext>() {
54-
@Override
55-
public J.CompilationUnit visitCompilationUnit(J.CompilationUnit cu, ExecutionContext executionContext) {
56-
doAfterVisit(new UsesJavaVersion<>(9));
57-
doAfterVisit(new UsesMethod<>(SINGLETON_MAP));
58-
return cu;
59-
}
60-
};
53+
protected TreeVisitor<?, ExecutionContext> getSingleSourceApplicableTest() {
54+
return Applicability.and(new UsesJavaVersion<>(9),
55+
new UsesMethod<>(SINGLETON_MAP));
6156
}
6257

6358
@Override

src/main/java/org/openrewrite/java/migrate/util/MigrateCollectionsSingletonSet.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
*/
1616
package org.openrewrite.java.migrate.util;
1717

18+
import org.openrewrite.Applicability;
1819
import org.openrewrite.ExecutionContext;
1920
import org.openrewrite.Recipe;
20-
import org.openrewrite.java.JavaIsoVisitor;
21+
import org.openrewrite.TreeVisitor;
2122
import org.openrewrite.java.JavaTemplate;
2223
import org.openrewrite.java.JavaVisitor;
2324
import org.openrewrite.java.MethodMatcher;
@@ -46,15 +47,9 @@ public String getDescription() {
4647
}
4748

4849
@Override
49-
protected JavaVisitor<ExecutionContext> getSingleSourceApplicableTest() {
50-
return new JavaIsoVisitor<ExecutionContext>() {
51-
@Override
52-
public J.CompilationUnit visitCompilationUnit(J.CompilationUnit cu, ExecutionContext executionContext) {
53-
doAfterVisit(new UsesJavaVersion<>(9));
54-
doAfterVisit(new UsesMethod<>(SINGLETON_SET));
55-
return cu;
56-
}
57-
};
50+
protected TreeVisitor<?, ExecutionContext> getSingleSourceApplicableTest() {
51+
return Applicability.and(new UsesJavaVersion<>(9),
52+
new UsesMethod<>(SINGLETON_SET));
5853
}
5954

6055
@Override

src/main/java/org/openrewrite/java/migrate/util/MigrateCollectionsUnmodifiableList.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
*/
1616
package org.openrewrite.java.migrate.util;
1717

18+
import org.openrewrite.Applicability;
1819
import org.openrewrite.ExecutionContext;
1920
import org.openrewrite.Recipe;
20-
import org.openrewrite.java.JavaIsoVisitor;
21+
import org.openrewrite.TreeVisitor;
2122
import org.openrewrite.java.JavaTemplate;
2223
import org.openrewrite.java.JavaVisitor;
2324
import org.openrewrite.java.MethodMatcher;
@@ -50,15 +51,9 @@ public String getDescription() {
5051
}
5152

5253
@Override
53-
protected JavaVisitor<ExecutionContext> getSingleSourceApplicableTest() {
54-
return new JavaIsoVisitor<ExecutionContext>() {
55-
@Override
56-
public J.CompilationUnit visitCompilationUnit(J.CompilationUnit cu, ExecutionContext executionContext) {
57-
doAfterVisit(new UsesJavaVersion<>(9));
58-
doAfterVisit(new UsesMethod<>(UNMODIFIABLE_LIST));
59-
return cu;
60-
}
61-
};
54+
protected TreeVisitor<?, ExecutionContext> getSingleSourceApplicableTest() {
55+
return Applicability.and(new UsesJavaVersion<>(9),
56+
new UsesMethod<>(UNMODIFIABLE_LIST));
6257
}
6358

6459
@Override

src/main/java/org/openrewrite/java/migrate/util/MigrateCollectionsUnmodifiableSet.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
*/
1616
package org.openrewrite.java.migrate.util;
1717

18+
import org.openrewrite.Applicability;
1819
import org.openrewrite.ExecutionContext;
1920
import org.openrewrite.Recipe;
20-
import org.openrewrite.java.JavaIsoVisitor;
21+
import org.openrewrite.TreeVisitor;
2122
import org.openrewrite.java.JavaTemplate;
2223
import org.openrewrite.java.JavaVisitor;
2324
import org.openrewrite.java.MethodMatcher;
@@ -50,15 +51,9 @@ public String getDescription() {
5051
}
5152

5253
@Override
53-
protected JavaVisitor<ExecutionContext> getSingleSourceApplicableTest() {
54-
return new JavaIsoVisitor<ExecutionContext>() {
55-
@Override
56-
public J.CompilationUnit visitCompilationUnit(J.CompilationUnit cu, ExecutionContext executionContext) {
57-
doAfterVisit(new UsesJavaVersion<>(9));
58-
doAfterVisit(new UsesMethod<>(UNMODIFIABLE_SET));
59-
return cu;
60-
}
61-
};
54+
protected TreeVisitor<?, ExecutionContext> getSingleSourceApplicableTest() {
55+
return Applicability.and(new UsesJavaVersion<>(9),
56+
new UsesMethod<>(UNMODIFIABLE_SET));
6257
}
6358

6459
@Override

src/main/java/org/openrewrite/java/migrate/util/UseEnumSetOf.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,10 @@
1515
*/
1616
package org.openrewrite.java.migrate.util;
1717

18-
import org.openrewrite.Cursor;
19-
import org.openrewrite.ExecutionContext;
20-
import org.openrewrite.Recipe;
21-
import org.openrewrite.TreeVisitor;
18+
import org.openrewrite.*;
2219
import org.openrewrite.internal.lang.Nullable;
2320
import org.openrewrite.java.JavaIsoVisitor;
2421
import org.openrewrite.java.JavaTemplate;
25-
import org.openrewrite.java.JavaVisitor;
2622
import org.openrewrite.java.MethodMatcher;
2723
import org.openrewrite.java.search.UsesJavaVersion;
2824
import org.openrewrite.java.search.UsesMethod;
@@ -54,15 +50,9 @@ public Duration getEstimatedEffortPerOccurrence() {
5450
}
5551

5652
@Override
57-
protected JavaVisitor<ExecutionContext> getSingleSourceApplicableTest() {
58-
return new JavaIsoVisitor<ExecutionContext>() {
59-
@Override
60-
public J.CompilationUnit visitCompilationUnit(J.CompilationUnit cu, ExecutionContext executionContext) {
61-
doAfterVisit(new UsesJavaVersion<>(9));
62-
doAfterVisit(new UsesMethod<>(SET_OF));
63-
return cu;
64-
}
65-
};
53+
protected TreeVisitor<?, ExecutionContext> getSingleSourceApplicableTest() {
54+
return Applicability.and(new UsesJavaVersion<>(9),
55+
new UsesMethod<>(SET_OF));
6656
}
6757

6858
@Override

src/test/kotlin/org/openrewrite/java/migrate/util/MigrateCollectionsSingletonListTest.kt

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,51 +17,56 @@ package org.openrewrite.java.migrate.util
1717

1818
import org.junit.jupiter.api.Test
1919
import org.openrewrite.Issue
20-
import org.openrewrite.Recipe
21-
import org.openrewrite.java.JavaRecipeTest
20+
import org.openrewrite.java.Assertions.java
21+
import org.openrewrite.java.Assertions.version
22+
import org.openrewrite.test.RecipeSpec
23+
import org.openrewrite.test.RewriteTest
2224

23-
class MigrateCollectionsSingletonListTest : JavaRecipeTest {
24-
override val recipe: Recipe
25-
get() = MigrateCollectionsSingletonList()
25+
class MigrateCollectionsSingletonListTest : RewriteTest {
26+
override fun defaults(spec: RecipeSpec) {
27+
spec.recipe(MigrateCollectionsSingletonList())
28+
}
2629

2730
@Issue("https://github.com/openrewrite/rewrite-migrate-java/issues/72")
2831
@Test
29-
fun singletonList() = assertChanged(
30-
before = """
32+
fun singletonList() = rewriteRun(
33+
version(
34+
java("""
3135
import java.util.*;
3236
3337
class Test {
3438
List<String> list = Collections.singletonList("ABC");
3539
}
3640
""",
37-
after = """
41+
"""
3842
import java.util.List;
3943
4044
class Test {
4145
List<String> list = List.of("ABC");
4246
}
43-
"""
47+
"""), 9)
4448
)
4549

4650
@Issue("https://github.com/openrewrite/rewrite-migrate-java/issues/72")
4751
@Test
48-
fun singletonListCustomType() = assertChanged(
49-
before = """
52+
fun singletonListCustomType() = rewriteRun(
53+
version(
54+
java("""
5055
import java.util.*;
5156
import java.time.LocalDate;
5257
5358
class Test {
5459
List<LocalDate> list = Collections.singletonList(LocalDate.now());
5560
}
5661
""",
57-
after = """
62+
"""
5863
import java.util.List;
5964
import java.time.LocalDate;
6065
6166
class Test {
6267
List<LocalDate> list = List.of(LocalDate.now());
6368
}
64-
"""
69+
"""), 9)
6570
)
6671

6772
}

0 commit comments

Comments
 (0)