• 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.matchers;
6 
7 import static org.assertj.core.api.Assertions.assertThatThrownBy;
8 import static org.junit.Assert.assertEquals;
9 import static org.mockito.ArgumentMatchers.*;
10 import static org.mockito.Mockito.verify;
11 import static org.mockito.Mockito.when;
12 
13 import java.util.*;
14 
15 import org.assertj.core.api.ThrowableAssert;
16 import org.junit.Test;
17 import org.mockito.Mock;
18 import org.mockito.exceptions.verification.opentest4j.ArgumentsAreDifferent;
19 import org.mockitousage.IMethods;
20 import org.mockitoutil.TestBase;
21 
22 public class MoreMatchersTest extends TestBase {
23 
24     @Mock private IMethods mock;
25 
26     @Test
should_help_out_with_unnecessary_casting()27     public void should_help_out_with_unnecessary_casting() {
28         when(mock.objectArgMethod(any(String.class))).thenReturn("string");
29 
30         assertEquals("string", mock.objectArgMethod("foo"));
31     }
32 
33     @Test
any_class_should_be_actual_alias_to_isA()34     public void any_class_should_be_actual_alias_to_isA() {
35         mock.simpleMethod(new ArrayList());
36 
37         verify(mock).simpleMethod(isA(List.class));
38         verify(mock).simpleMethod(any(List.class));
39 
40         mock.simpleMethod((String) null);
41 
42         assertThatThrownBy(
43                         new ThrowableAssert.ThrowingCallable() {
44                             @Override
45                             public void call() {
46                                 verify(mock).simpleMethod(isA(String.class));
47                             }
48                         })
49                 .isInstanceOf(ArgumentsAreDifferent.class);
50 
51         assertThatThrownBy(
52                         new ThrowableAssert.ThrowingCallable() {
53                             @Override
54                             public void call() {
55                                 verify(mock).simpleMethod(any(String.class));
56                             }
57                         })
58                 .isInstanceOf(ArgumentsAreDifferent.class);
59     }
60 }
61