/*
* 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);
}
}