blob: c918d0fbc1c72122c3908d7ac6147498d89148b5 [file] [log] [blame]
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.verification;
import static org.mockito.internal.exceptions.Reporter.atMostAndNeverShouldNotBeUsedWithTimeout;
import org.mockito.internal.util.Timer;
import org.mockito.internal.verification.VerificationModeFactory;
import org.mockito.internal.verification.VerificationOverTimeImpl;
import org.mockito.internal.verification.VerificationWrapper;
/**
* See the javadoc for {@link VerificationWithTimeout}
* <p>
* Typically, you won't use this class explicitly. Instead use timeout() method on Mockito class.
* See javadoc for {@link VerificationWithTimeout}
*/
public class Timeout extends VerificationWrapper<VerificationOverTimeImpl> implements VerificationWithTimeout {
/**
* See the javadoc for {@link VerificationWithTimeout}
* <p>
* Typically, you won't use this class explicitly. Instead use timeout() method on Mockito class.
* See javadoc for {@link VerificationWithTimeout}
*/
public Timeout(long millis, VerificationMode delegate) {
this(10, millis, delegate);
}
/**
* See the javadoc for {@link VerificationWithTimeout}
*/
Timeout(long pollingPeriodMillis, long millis, VerificationMode delegate) {
this(new VerificationOverTimeImpl(pollingPeriodMillis, millis, delegate, true));
}
/**
* See the javadoc for {@link VerificationWithTimeout}
*/
Timeout(long pollingPeriodMillis, VerificationMode delegate, Timer timer) {
this(new VerificationOverTimeImpl(pollingPeriodMillis, delegate, true, timer));
}
Timeout(VerificationOverTimeImpl verificationOverTime) {
super(verificationOverTime);
}
@Override
protected VerificationMode copySelfWithNewVerificationMode(VerificationMode newVerificationMode) {
return new Timeout(wrappedVerification.copyWithVerificationMode(newVerificationMode));
}
public VerificationMode atMost(int maxNumberOfInvocations) {
throw atMostAndNeverShouldNotBeUsedWithTimeout();
}
public VerificationMode never() {
throw atMostAndNeverShouldNotBeUsedWithTimeout();
}
@Override
public VerificationMode description(String description) {
return VerificationModeFactory.description(this, description);
}
}