Skip to content

Predicates.and and Predicates.or can have more than two parameters #893

@lredor

Description

@lredor

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

No one assigned

    Labels

    bugSomething isn't workingguavarecipeRecipe requested

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions