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