Search in sources :

Example 1 with Discrepancy

use of org.mockito.internal.reporting.Discrepancy in project mockito by mockito.

the class NumberOfInvocationsInOrderChecker method check.

public void check(List<Invocation> invocations, MatchableInvocation wanted, int wantedCount, InOrderContext context) {
    List<Invocation> chunk = findMatchingChunk(invocations, wanted, wantedCount, context);
    int actualCount = chunk.size();
    if (wantedCount > actualCount) {
        Location lastInvocation = getLastLocation(chunk);
        throw tooLittleActualInvocationsInOrder(new Discrepancy(wantedCount, actualCount), wanted, lastInvocation);
    }
    if (wantedCount < actualCount) {
        Location firstUndesired = chunk.get(wantedCount).getLocation();
        throw tooManyActualInvocationsInOrder(wantedCount, actualCount, wanted, firstUndesired);
    }
    markVerifiedInOrder(chunk, wanted, context);
}
Also used : Discrepancy(org.mockito.internal.reporting.Discrepancy) Invocation(org.mockito.invocation.Invocation) MatchableInvocation(org.mockito.invocation.MatchableInvocation) InvocationsFinder.getLastLocation(org.mockito.internal.invocation.InvocationsFinder.getLastLocation) Location(org.mockito.invocation.Location)

Example 2 with Discrepancy

use of org.mockito.internal.reporting.Discrepancy in project mockito by mockito.

the class NumberOfInvocationsChecker method checkNumberOfInvocations.

public static void checkNumberOfInvocations(List<Invocation> invocations, MatchableInvocation wanted, int wantedCount) {
    List<Invocation> actualInvocations = findInvocations(invocations, wanted);
    int actualCount = actualInvocations.size();
    if (wantedCount > actualCount) {
        Location lastInvocation = getLastLocation(actualInvocations);
        throw tooLittleActualInvocations(new Discrepancy(wantedCount, actualCount), wanted, lastInvocation);
    }
    if (wantedCount == 0 && actualCount > 0) {
        Location firstUndesired = actualInvocations.get(wantedCount).getLocation();
        throw neverWantedButInvoked(wanted, firstUndesired);
    }
    if (wantedCount < actualCount) {
        Location firstUndesired = actualInvocations.get(wantedCount).getLocation();
        throw tooManyActualInvocations(wantedCount, actualCount, wanted, firstUndesired);
    }
    markVerified(actualInvocations, wanted);
}
Also used : Discrepancy(org.mockito.internal.reporting.Discrepancy) Invocation(org.mockito.invocation.Invocation) MatchableInvocation(org.mockito.invocation.MatchableInvocation) InvocationsFinder.findFirstMatchingUnverifiedInvocation(org.mockito.internal.invocation.InvocationsFinder.findFirstMatchingUnverifiedInvocation) Location(org.mockito.invocation.Location) InvocationsFinder.getLastLocation(org.mockito.internal.invocation.InvocationsFinder.getLastLocation)

Example 3 with Discrepancy

use of org.mockito.internal.reporting.Discrepancy in project mockito by mockito.

the class NumberOfInvocationsChecker method checkNumberOfInvocationsNonGreedy.

public static void checkNumberOfInvocationsNonGreedy(List<Invocation> invocations, MatchableInvocation wanted, int wantedCount, InOrderContext context) {
    int actualCount = 0;
    Location lastLocation = null;
    while (actualCount < wantedCount) {
        Invocation next = findFirstMatchingUnverifiedInvocation(invocations, wanted, context);
        if (next == null) {
            throw tooLittleActualInvocationsInOrder(new Discrepancy(wantedCount, actualCount), wanted, lastLocation);
        }
        markVerified(next, wanted);
        context.markVerified(next);
        lastLocation = next.getLocation();
        actualCount++;
    }
}
Also used : Discrepancy(org.mockito.internal.reporting.Discrepancy) Invocation(org.mockito.invocation.Invocation) MatchableInvocation(org.mockito.invocation.MatchableInvocation) InvocationsFinder.findFirstMatchingUnverifiedInvocation(org.mockito.internal.invocation.InvocationsFinder.findFirstMatchingUnverifiedInvocation) Location(org.mockito.invocation.Location) InvocationsFinder.getLastLocation(org.mockito.internal.invocation.InvocationsFinder.getLastLocation)

Example 4 with Discrepancy

use of org.mockito.internal.reporting.Discrepancy in project mockito by mockito.

the class NumberOfInvocationsChecker method checkNumberOfInvocations.

public static void checkNumberOfInvocations(List<Invocation> invocations, MatchableInvocation wanted, int wantedCount, InOrderContext context) {
    List<Invocation> chunk = findMatchingChunk(invocations, wanted, wantedCount, context);
    int actualCount = chunk.size();
    if (wantedCount > actualCount) {
        Location lastInvocation = getLastLocation(chunk);
        throw tooLittleActualInvocationsInOrder(new Discrepancy(wantedCount, actualCount), wanted, lastInvocation);
    }
    if (wantedCount < actualCount) {
        Location firstUndesired = chunk.get(wantedCount).getLocation();
        throw tooManyActualInvocationsInOrder(wantedCount, actualCount, wanted, firstUndesired);
    }
    markVerifiedInOrder(chunk, wanted, context);
}
Also used : Discrepancy(org.mockito.internal.reporting.Discrepancy) Invocation(org.mockito.invocation.Invocation) MatchableInvocation(org.mockito.invocation.MatchableInvocation) InvocationsFinder.findFirstMatchingUnverifiedInvocation(org.mockito.internal.invocation.InvocationsFinder.findFirstMatchingUnverifiedInvocation) Location(org.mockito.invocation.Location) InvocationsFinder.getLastLocation(org.mockito.internal.invocation.InvocationsFinder.getLastLocation)

Aggregations

InvocationsFinder.getLastLocation (org.mockito.internal.invocation.InvocationsFinder.getLastLocation)4 Discrepancy (org.mockito.internal.reporting.Discrepancy)4 Invocation (org.mockito.invocation.Invocation)4 Location (org.mockito.invocation.Location)4 MatchableInvocation (org.mockito.invocation.MatchableInvocation)4 InvocationsFinder.findFirstMatchingUnverifiedInvocation (org.mockito.internal.invocation.InvocationsFinder.findFirstMatchingUnverifiedInvocation)3