Home | History | Annotate | Download | only in misuse
      1 /*
      2  * Copyright (c) 2007 Mockito contributors
      3  * This program is made available under the terms of the MIT License.
      4  */
      5 package org.mockitousage.misuse;
      6 
      7 import org.junit.Test;
      8 import org.mockito.InOrder;
      9 import org.mockito.Mock;
     10 import org.mockito.exceptions.misusing.MissingMethodInvocationException;
     11 import org.mockitousage.IMethods;
     12 import org.mockitoutil.TestBase;
     13 
     14 import static junit.framework.TestCase.fail;
     15 import static org.mockito.Mockito.*;
     16 
     17 public class CleaningUpPotentialStubbingTest extends TestBase {
     18 
     19     @Mock private IMethods mock;
     20 
     21     @Test
     22     public void shouldResetOngoingStubbingOnVerify() {
     23         // first test
     24         mock.booleanReturningMethod();
     25         verify(mock).booleanReturningMethod();
     26 
     27         // second test
     28         assertOngoingStubbingIsReset();
     29     }
     30 
     31     @Test
     32     public void shouldResetOngoingStubbingOnInOrder() {
     33         mock.booleanReturningMethod();
     34         InOrder inOrder = inOrder(mock);
     35         inOrder.verify(mock).booleanReturningMethod();
     36         assertOngoingStubbingIsReset();
     37     }
     38 
     39     @Test
     40     public void shouldResetOngoingStubbingOnDoReturn() {
     41         mock.booleanReturningMethod();
     42         doReturn(false).when(mock).booleanReturningMethod();
     43         assertOngoingStubbingIsReset();
     44     }
     45 
     46     private void assertOngoingStubbingIsReset() {
     47         try {
     48             //In real, there might be a call to real object or a final method call
     49             //I'm modelling it with null
     50             when(null).thenReturn("anything");
     51             fail();
     52         } catch (MissingMethodInvocationException e) {}
     53     }
     54 }
     55