1/* 2 * Copyright (c) 2007 Mockito contributors 3 * This program is made available under the terms of the MIT License. 4 */ 5 6package org.mockito.internal.verification.checkers; 7 8import java.util.List; 9 10import org.mockito.exceptions.Reporter; 11import org.mockito.internal.invocation.InvocationMatcher; 12import org.mockito.internal.invocation.InvocationMarker; 13import org.mockito.internal.invocation.InvocationsFinder; 14import org.mockito.invocation.Invocation; 15import org.mockito.invocation.Location; 16 17public class AtLeastXNumberOfInvocationsChecker { 18 19 Reporter reporter = new Reporter(); 20 InvocationsFinder finder = new InvocationsFinder(); 21 InvocationMarker invocationMarker = new InvocationMarker(); 22 23 public void check(List<Invocation> invocations, InvocationMatcher wanted, int wantedCount) { 24 List<Invocation> actualInvocations = finder.findInvocations(invocations, wanted); 25 26 int actualCount = actualInvocations.size(); 27 if (wantedCount > actualCount) { 28 Location lastLocation = finder.getLastLocation(actualInvocations); 29 reporter.tooLittleActualInvocations(new AtLeastDiscrepancy(wantedCount, actualCount), wanted, lastLocation); 30 } 31 32 invocationMarker.markVerified(actualInvocations, wanted); 33 } 34}