-
Notifications
You must be signed in to change notification settings - Fork 109
Closed
Labels
Description
- PR Convert Guava
Predicates.andand.or#885 fixes issuePredicatesis not correctly handed by PreferJavaUtilPredicate recipe #884 by handling theandandormethods when they have two parameters.
However, these methods can actually take any number of parameters : com.google.common.base.Predicates.and(Predicate<? super T>...)com.google.common.base.Predicates.or(Predicate<? super T>...)
The test NoGuavaPredicatesAndOrTest can be completed with
@Test
void replacePredicatesAndWithMoreThanTwoParameters() {
//language=java
rewriteRun(
java(
"""
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
class Test {
Predicate<String> isNotNull = s -> s != null;
Predicate<String> isNotEmpty = s -> !s.isEmpty();
Predicate<String> containsA = s -> s.contains("A");
Predicate<String> combined = Predicates.and(isNotNull, isNotEmpty, containsA);
}
""",
"""
import com.google.common.base.Predicate;
class Test {
Predicate<String> isNotNull = s -> s != null;
Predicate<String> isNotEmpty = s -> !s.isEmpty();
Predicate<String> containsA = s -> s.contains("A");
Predicate<String> combined = isNotNull.and(isNotEmpty).and(containsA);
}
"""
)
);
}
@Test
void replacePredicatesOrWithMoreThanTwoParameters() {
//language=java
rewriteRun(
java(
"""
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
class Test {
Predicate<String> isNotNull = s -> s != null;
Predicate<String> isNotEmpty = s -> !s.isEmpty();
Predicate<String> containsA = s -> s.contains("A");
Predicate<String> combined = Predicates.or(isNotNull, isNotEmpty, containsA);
}
""",
"""
import com.google.common.base.Predicate;
class Test {
Predicate<String> isNotNull = s -> s != null;
Predicate<String> isNotEmpty = s -> !s.isEmpty();
Predicate<String> containsA = s -> s.contains("A");
Predicate<String> combined = isNotNull.or(isNotEmpty).or(containsA);
}
"""
)
);
}Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done