1/*
2 * Copyright (c) 2016 Mockito contributors
3 * This program is made available under the terms of the MIT License.
4 */
5package org.mockito.verification;
6
7import org.mockito.internal.verification.VerificationModeFactory;
8import org.mockito.internal.verification.VerificationOverTimeImpl;
9import org.mockito.internal.verification.VerificationWrapper;
10
11/**
12 * See the javadoc for {@link VerificationAfterDelay}
13 * <p>
14 * Typically, you won't use this class explicitly. Instead use timeout() method on Mockito class.
15 * See javadoc for {@link VerificationWithTimeout}
16 */
17public class After extends VerificationWrapper<VerificationOverTimeImpl> implements VerificationAfterDelay {
18
19    /**
20     * See the javadoc for {@link VerificationAfterDelay}
21     * <p>
22     * Typically, you won't use this class explicitly. Instead use timeout() method on Mockito class.
23     * See javadoc for {@link VerificationWithTimeout}
24     */
25    public After(long delayMillis, VerificationMode verificationMode) {
26        this(10, delayMillis, verificationMode);
27    }
28
29    After(long pollingPeriod, long delayMillis, VerificationMode verificationMode) {
30        this(new VerificationOverTimeImpl(pollingPeriod, delayMillis, verificationMode, false));
31    }
32
33    After(VerificationOverTimeImpl verificationOverTime) {
34        super(verificationOverTime);
35    }
36
37    @Override
38    protected VerificationMode copySelfWithNewVerificationMode(VerificationMode verificationMode) {
39        return new After(wrappedVerification.copyWithVerificationMode(verificationMode));
40    }
41
42    @Override
43    public VerificationMode description(String description) {
44        return VerificationModeFactory.description(this, description);
45    }
46}
47