/* * Copyright (c) 2007 Mockito contributors * This program is made available under the terms of the MIT License. */ package org.mockito.verification; import org.mockito.Mockito; /** * VerificationWithTimeout is a {@link VerificationMode} that allows combining existing verification modes with 'timeout'. E.g: * *

 * verify(mock, timeout(100).times(5)).foo();
 * 
 * verify(mock, timeout(100).never()).bar();
 * 
 * verify(mock, timeout(200).atLeastOnce()).baz();
 * 
* *

* See examples in javadoc for {@link Mockito#verify(Object, VerificationMode)} */ public interface VerificationWithTimeout extends VerificationMode { /** * Allows verifying exact number of invocations within given timeout *


     *   verify(mock, timeout(100).times(2)).someMethod("some arg");
     * 
* * See examples in javadoc for {@link Mockito} class * * @param wantedNumberOfInvocations wanted number of invocations * * @return verification mode */ public VerificationMode times(int wantedNumberOfInvocations); /** * Alias to times(0), see {@link #times(int)} *

* Verifies that interaction did not happen within given timeout. E.g: *


     *   verify(mock, timeout(100).never()).someMethod();
     * 
* *

* If you want to verify there were NO interactions with the mock * check out {@link Mockito#verifyNoMoreInteractions(Object...)} *

* See examples in javadoc for {@link Mockito} class * * @return verification mode */ public VerificationMode never(); /** * Allows at-least-once verification withing given timeout. E.g: *


     *   verify(mock, timeout(100).atLeastOnce()).someMethod("some arg");
     * 
* Alias to atLeast(1) *

* See examples in javadoc for {@link Mockito} class * * @return verification mode */ public VerificationMode atLeastOnce(); /** * Allows at-least-x verification withing given timeout. E.g: *


     *   verify(mock, timeout(100).atLeast(3)).someMethod("some arg");
     * 
* * See examples in javadoc for {@link Mockito} class * * @param minNumberOfInvocations minimum number of invocations * * @return verification mode */ public VerificationMode atLeast(int minNumberOfInvocations); /** * @deprecated * * Deprecated * validation with timeout combined with atMost simply does not make sense... * The test would have passed immediately in the concurrent environment *

* To avoid compilation erros upon upgrade the method is deprecated and it throws a "friendly reminder" exception. *

* In future release we will remove timeout(x).atMost(y) from the API. *

* Do you want to find out more? See issue 235 * * @return verification mode */ @Deprecated public VerificationMode atMost(int maxNumberOfInvocations); /** * Allows checking if given method was the only one invoked. E.g: *


     *   verify(mock, only()).someMethod();
     *   //above is a shorthand for following 2 lines of code:
     *   verify(mock).someMethod();
     *   verifyNoMoreInvocations(mock);
     * 
* *

* See also {@link Mockito#verifyNoMoreInteractions(Object...)} *

* See examples in javadoc for {@link Mockito} class * * @return verification mode */ public VerificationMode only(); }