blob: d32fab221defd7894651f7684a6dd0e59d6ce736 [file] [log] [blame]
package org.mockito.verification;
import org.mockito.internal.verification.VerificationModeFactory;
import org.mockito.internal.verification.api.VerificationData;
public abstract class VerificationWrapper<WrapperType extends VerificationMode> implements VerificationMode {
protected final WrapperType wrappedVerification;
public VerificationWrapper(WrapperType wrappedVerification) {
this.wrappedVerification = wrappedVerification;
}
public void verify(VerificationData data) {
wrappedVerification.verify(data);
}
protected abstract VerificationMode copySelfWithNewVerificationMode(VerificationMode verificationMode);
public VerificationMode times(int wantedNumberOfInvocations) {
return copySelfWithNewVerificationMode(VerificationModeFactory.times(wantedNumberOfInvocations));
}
public VerificationMode never() {
return copySelfWithNewVerificationMode(VerificationModeFactory.atMost(0));
}
public VerificationMode atLeastOnce() {
return copySelfWithNewVerificationMode(VerificationModeFactory.atLeastOnce());
}
public VerificationMode atLeast(int minNumberOfInvocations) {
return copySelfWithNewVerificationMode(VerificationModeFactory.atLeast(minNumberOfInvocations));
}
public VerificationMode atMost(int maxNumberOfInvocations) {
return copySelfWithNewVerificationMode(VerificationModeFactory.atMost(maxNumberOfInvocations));
}
public VerificationMode only() {
return copySelfWithNewVerificationMode(VerificationModeFactory.only());
}
}