package fr.ippon.tatami.test;
import org.mockito.internal.util.MockUtil;
import java.util.concurrent.Callable;
public class MockUtils {
/**
* @param mock a Mockito mock
* @return
*/
public static int getNumberOfInvocation(Object mock) {
// WARNING : we use internal mockito code here :
return new MockUtil().getMockHandler(mock).getInvocationContainer().getInvocations().size();
}
/**
* To be used with Awaitility.await().until(xxx)
*
* @param mock
* @param minInvocationCount
* @return
*/
public static Callable<Boolean> mockCalledCallable(final Object mock, final int minInvocationCount) {
return new Callable<Boolean>() {
public Boolean call() throws Exception {
int nbCalls = getNumberOfInvocation(mock);
return nbCalls >= minInvocationCount;
}
};
}
}