/* * Copyright (c) 2007 Mockito contributors * This program is made available under the terms of the MIT License. */ package org.mockitousage.bugs; import org.junit.After; import org.junit.Test; import org.mockito.Mock; import org.mockitousage.IMethods; import org.mockitoutil.TestBase; import static org.mockito.Matchers.*; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; public class NPEWithCertainMatchersTest extends TestBase { @Mock IMethods mock; @After public void clearState() { this.resetState(); } @Test public void shouldNotThrowNPEWhenIntegerPassed() { mock.intArgumentMethod(100); verify(mock).intArgumentMethod(isA(Integer.class)); } @Test public void shouldNotThrowNPEWhenIntPassed() { mock.intArgumentMethod(100); verify(mock).intArgumentMethod(isA(Integer.class)); } @Test public void shouldNotThrowNPEWhenIntegerPassedToEq() { mock.intArgumentMethod(100); verify(mock).intArgumentMethod(eq(new Integer(100))); } @Test public void shouldNotThrowNPEWhenIntegerPassedToSame() { mock.intArgumentMethod(100); verify(mock, never()).intArgumentMethod(same(new Integer(100))); } @Test(expected = AssertionError.class) public void shouldNotThrowNPEWhenNullPassedToEq() { mock.objectArgMethod("not null"); verify(mock).objectArgMethod(eq(null)); } @Test(expected = AssertionError.class) public void shouldNotThrowNPEWhenNullPassedToSame() { mock.objectArgMethod("not null"); verify(mock).objectArgMethod(same(null)); } }