import static org.mockito.Mockito.*; public class OutgoingCallReceiverTest extends AndroidTestCase { private OutgoingCallReceiver mReceiver; private Context mContext; @Override protected void setUp() throws Exception { super.setUp(); //To make mockito work System.setProperty("dexmaker.dexcache", mContext.getCacheDir().toString()); mReceiver = new OutgoingCallReceiver(); mContext = mock(Context.class); } public void testStartActivity() { Intent intent = new Intent(Intent.ACTION_NEW_OUTGOING_CALL); intent.putExtra(Intent.EXTRA_PHONE_NUMBER, "01234567890"); mReceiver.onReceive(mContext, intent); assertNull(mReceiver.getResultData()); ArgumentCaptor<Intent> argument = ArgumentCaptor.forClass(Intent.class); verify(mContext, times(1)).startActivity(argument.capture()); Intent receivedIntent = argument.getValue(); assertNull(receivedIntent.getAction()); assertEquals("01234567890", receivedIntent.getStringExtra("phoneNum")); assertTrue((receivedIntent.getFlags() & Intent.FLAG_ACTIVITY_NEW_TASK) != 0); } } |
|