Home | History | Annotate | Download | only in verification
      1 /*
      2  * Copyright (c) 2007 Mockito contributors
      3  * This program is made available under the terms of the MIT License.
      4  */
      5 package org.mockito.verification;
      6 
      7 import static org.mockito.internal.exceptions.Reporter.atMostAndNeverShouldNotBeUsedWithTimeout;
      8 
      9 import org.mockito.internal.util.Timer;
     10 import org.mockito.internal.verification.VerificationModeFactory;
     11 import org.mockito.internal.verification.VerificationOverTimeImpl;
     12 import org.mockito.internal.verification.VerificationWrapper;
     13 
     14 /**
     15  * See the javadoc for {@link VerificationWithTimeout}
     16  * <p>
     17  * Typically, you won't use this class explicitly. Instead use timeout() method on Mockito class.
     18  * See javadoc for {@link VerificationWithTimeout}
     19  */
     20 public class Timeout extends VerificationWrapper<VerificationOverTimeImpl> implements VerificationWithTimeout {
     21 
     22     /**
     23      * See the javadoc for {@link VerificationWithTimeout}
     24      * <p>
     25      * Typically, you won't use this class explicitly. Instead use timeout() method on Mockito class.
     26      * See javadoc for {@link VerificationWithTimeout}
     27      */
     28     public Timeout(long millis, VerificationMode delegate) {
     29         this(10, millis, delegate);
     30     }
     31 
     32     /**
     33      * See the javadoc for {@link VerificationWithTimeout}
     34      */
     35     Timeout(long pollingPeriodMillis, long millis, VerificationMode delegate) {
     36         this(new VerificationOverTimeImpl(pollingPeriodMillis, millis, delegate, true));
     37     }
     38 
     39     /**
     40      * See the javadoc for {@link VerificationWithTimeout}
     41      */
     42     Timeout(long pollingPeriodMillis, VerificationMode delegate, Timer timer) {
     43         this(new VerificationOverTimeImpl(pollingPeriodMillis, delegate, true, timer));
     44     }
     45 
     46     Timeout(VerificationOverTimeImpl verificationOverTime) {
     47         super(verificationOverTime);
     48     }
     49 
     50     @Override
     51     protected VerificationMode copySelfWithNewVerificationMode(VerificationMode newVerificationMode) {
     52         return new Timeout(wrappedVerification.copyWithVerificationMode(newVerificationMode));
     53     }
     54 
     55     public VerificationMode atMost(int maxNumberOfInvocations) {
     56         throw atMostAndNeverShouldNotBeUsedWithTimeout();
     57     }
     58 
     59     public VerificationMode never() {
     60         throw atMostAndNeverShouldNotBeUsedWithTimeout();
     61     }
     62 
     63     @Override
     64     public VerificationMode description(String description) {
     65         return VerificationModeFactory.description(this, description);
     66     }
     67 
     68 }
     69