Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate ListUtil and Fields classes #2593

Merged
merged 3 commits into from Mar 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -16,13 +16,13 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

import org.mockito.exceptions.base.MockitoException;
import org.mockito.internal.configuration.injection.filter.MockCandidateFilter;
import org.mockito.internal.configuration.injection.filter.NameBasedCandidateFilter;
import org.mockito.internal.configuration.injection.filter.TerminalMockCandidateFilter;
import org.mockito.internal.configuration.injection.filter.TypeBasedCandidateFilter;
import org.mockito.internal.util.collections.ListUtil;
import org.mockito.internal.util.reflection.FieldInitializationReport;
import org.mockito.internal.util.reflection.FieldInitializer;

Expand Down Expand Up @@ -66,15 +66,6 @@ public class PropertyAndSetterInjection extends MockInjectionStrategy {
new TypeBasedCandidateFilter(
new NameBasedCandidateFilter(new TerminalMockCandidateFilter()));

private final ListUtil.Filter<Field> notFinalOrStatic =
new ListUtil.Filter<Field>() {
@Override
public boolean isOut(Field object) {
return Modifier.isFinal(object.getModifiers())
|| Modifier.isStatic(object.getModifiers());
}
};

@Override
public boolean processInjection(
Field injectMocksField, Object injectMocksFieldOwner, Set<Object> mockCandidates) {
Expand Down Expand Up @@ -146,9 +137,12 @@ private boolean injectMockCandidatesOnFields(
}

private List<Field> orderedInstanceFieldsFrom(Class<?> awaitingInjectionClazz) {
List<Field> declaredFields = Arrays.asList(awaitingInjectionClazz.getDeclaredFields());
declaredFields = ListUtil.filter(declaredFields, notFinalOrStatic);

return sortSuperTypesLast(declaredFields);
return sortSuperTypesLast(
Arrays.stream(awaitingInjectionClazz.getDeclaredFields())
.filter(
field ->
!Modifier.isFinal(field.getModifiers())
&& !Modifier.isStatic(field.getModifiers()))
.collect(Collectors.toList()));
}
}
Expand Up @@ -5,10 +5,10 @@
package org.mockito.internal.debugging;

import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;

import org.mockito.Mockito;
import org.mockito.internal.util.collections.ListUtil;
import org.mockito.invocation.Invocation;
import org.mockito.stubbing.Stubbing;

Expand Down Expand Up @@ -37,15 +37,10 @@ public String printInvocations(Object mock) {
}
}

LinkedList<Stubbing> unused =
ListUtil.filter(
stubbings,
new ListUtil.Filter<Stubbing>() {
@Override
public boolean isOut(Stubbing s) {
return s.wasUsed();
}
});
List<Stubbing> unused =
stubbings.stream()
.filter(stubbing -> !stubbing.wasUsed())
.collect(Collectors.toList());

if (unused.isEmpty()) {
return sb.toString();
Expand Down
Expand Up @@ -6,9 +6,8 @@

import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;

import org.mockito.internal.util.collections.ListUtil;
import org.mockito.internal.util.collections.ListUtil.Filter;
import org.mockito.internal.verification.api.InOrderContext;
import org.mockito.invocation.Invocation;
import org.mockito.invocation.Location;
Expand All @@ -20,15 +19,15 @@ private InvocationsFinder() {}

public static List<Invocation> findInvocations(
List<Invocation> invocations, MatchableInvocation wanted) {
return ListUtil.filter(invocations, new RemoveNotMatching(wanted));
return invocations.stream().filter(wanted::matches).collect(Collectors.toList());
}

public static List<Invocation> findAllMatchingUnverifiedChunks(
List<Invocation> invocations,
MatchableInvocation wanted,
InOrderContext orderingContext) {
List<Invocation> unverified = removeVerifiedInOrder(invocations, orderingContext);
return ListUtil.filter(unverified, new RemoveNotMatching(wanted));
return unverified.stream().filter(wanted::matches).collect(Collectors.toList());
}

/**
Expand Down Expand Up @@ -127,13 +126,13 @@ public static Location getLastLocation(List<Invocation> invocations) {

public static Invocation findPreviousVerifiedInOrder(
List<Invocation> invocations, InOrderContext context) {
LinkedList<Invocation> verifiedOnly =
ListUtil.filter(invocations, new RemoveUnverifiedInOrder(context));
List<Invocation> verifiedOnly =
invocations.stream().filter(context::isVerified).collect(Collectors.toList());

if (verifiedOnly.isEmpty()) {
return null;
} else {
return verifiedOnly.getLast();
return verifiedOnly.get(verifiedOnly.size() - 1);
}
}

Expand All @@ -158,32 +157,6 @@ public static List<Location> getAllLocations(List<Invocation> invocations) {
return locations;
}

private static class RemoveNotMatching implements Filter<Invocation> {
private final MatchableInvocation wanted;

private RemoveNotMatching(MatchableInvocation wanted) {
this.wanted = wanted;
}

@Override
public boolean isOut(Invocation invocation) {
return !wanted.matches(invocation);
}
}

private static class RemoveUnverifiedInOrder implements Filter<Invocation> {
private final InOrderContext orderingContext;

public RemoveUnverifiedInOrder(InOrderContext orderingContext) {
this.orderingContext = orderingContext;
}

@Override
public boolean isOut(Invocation invocation) {
return !orderingContext.isVerified(invocation);
}
}

/**
* i3 is unverified here:
*
Expand Down
Expand Up @@ -5,9 +5,8 @@
package org.mockito.internal.invocation.finder;

import java.util.List;
import java.util.stream.Collectors;

import org.mockito.internal.util.collections.ListUtil;
import org.mockito.internal.util.collections.ListUtil.Filter;
import org.mockito.invocation.Invocation;

/**
Expand All @@ -18,14 +17,8 @@ public class VerifiableInvocationsFinder {
private VerifiableInvocationsFinder() {}

public static List<Invocation> find(List<?> mocks) {
List<Invocation> invocations = AllInvocationsFinder.find(mocks);
return ListUtil.filter(invocations, new RemoveIgnoredForVerification());
}

private static class RemoveIgnoredForVerification implements Filter<Invocation> {
@Override
public boolean isOut(Invocation invocation) {
return invocation.isIgnoredForVerification();
}
return AllInvocationsFinder.find(mocks).stream()
.filter(invocation -> !invocation.isIgnoredForVerification())
.collect(Collectors.toList());
}
}
Expand Up @@ -4,18 +4,15 @@
*/
package org.mockito.internal.junit;

import static org.mockito.internal.util.collections.ListUtil.filter;

import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;

import org.mockito.internal.invocation.finder.AllInvocationsFinder;
import org.mockito.internal.stubbing.UnusedStubbingReporting;
import org.mockito.internal.util.collections.ListUtil.Filter;
import org.mockito.invocation.Invocation;
import org.mockito.stubbing.Stubbing;

Expand All @@ -29,19 +26,10 @@ public class UnusedStubbingsFinder {
* Stubbings explicitily marked as LENIENT are not included.
*/
public UnusedStubbings getUnusedStubbings(Iterable<Object> mocks) {
Set<Stubbing> stubbings = AllInvocationsFinder.findStubbings(mocks);

List<Stubbing> unused =
filter(
stubbings,
new Filter<Stubbing>() {
@Override
public boolean isOut(Stubbing s) {
return !UnusedStubbingReporting.shouldBeReported(s);
}
});

return new UnusedStubbings(unused);
return new UnusedStubbings(
AllInvocationsFinder.findStubbings(mocks).stream()
.filter(UnusedStubbingReporting::shouldBeReported)
.collect(Collectors.toList()));
}

/**
Expand Down
45 changes: 0 additions & 45 deletions src/main/java/org/mockito/internal/util/collections/ListUtil.java

This file was deleted.