• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.verification;
6 
7 import static org.mockito.Mockito.*;
8 
9 import java.util.HashMap;
10 import java.util.List;
11 import java.util.Map;
12 import java.util.Set;
13 
14 import org.junit.Test;
15 import org.mockito.Mockito;
16 import org.mockitoutil.TestBase;
17 
18 @SuppressWarnings("unchecked")
19 public class VerificationOnMultipleMocksUsingMatchersTest extends TestBase {
20 
21     @Test
shouldVerifyUsingMatchers()22     public void shouldVerifyUsingMatchers() throws Exception {
23         List<Object> list = Mockito.mock(List.class);
24         HashMap<Object, Object> map = Mockito.mock(HashMap.class);
25 
26         list.add("test");
27         list.add(1, "test two");
28 
29         map.put("test", 100);
30         map.put("test two", 200);
31 
32         verify(list).add(any());
33         verify(list).add(anyInt(), eq("test two"));
34 
35         verify(map, times(2)).put(any(), any());
36         verify(map).put(eq("test two"), eq(200));
37 
38         verifyNoMoreInteractions(list, map);
39     }
40 
41     @Test
shouldVerifyMultipleMocks()42     public void shouldVerifyMultipleMocks() throws Exception {
43         List<String> list = mock(List.class);
44         Map<Object, Integer> map = mock(Map.class);
45         Set<?> set = mock(Set.class);
46 
47         list.add("one");
48         list.add("one");
49         list.add("two");
50 
51         map.put("one", 1);
52         map.put("one", 1);
53 
54         verify(list, times(2)).add("one");
55         verify(list, times(1)).add("two");
56         verify(list, times(0)).add("three");
57 
58         verify(map, times(2)).put(any(), anyInt());
59 
60         verifyNoMoreInteractions(list, map);
61         verifyNoInteractions(set);
62     }
63 }
64