@Test public void callOnXxxMethods_shouldCallProtectedVersions() throws Exception { final Transcript transcript = new Transcript(); Activity activity = new OnMethodTestActivity(transcript); ShadowActivity shadowActivity = shadowOf(activity); Bundle bundle = new Bundle(); bundle.putString("key", "value"); shadowActivity.callOnCreate(bundle); transcript.assertEventsSoFar("onCreate was called with value"); shadowActivity.callOnStart(); transcript.assertEventsSoFar("onStart was called"); shadowActivity.callOnRestoreInstanceState(null); transcript.assertEventsSoFar("onRestoreInstanceState was called"); shadowActivity.callOnPostCreate(null); transcript.assertEventsSoFar("onPostCreate was called"); shadowActivity.callOnRestart(); transcript.assertEventsSoFar("onRestart was called"); shadowActivity.callOnResume(); transcript.assertEventsSoFar("onResume was called"); shadowActivity.callOnPostResume(); transcript.assertEventsSoFar("onPostResume was called"); Intent intent = new Intent("some action"); shadowActivity.callOnNewIntent(intent); transcript.assertEventsSoFar("onNewIntent was called with " + intent); shadowActivity.callOnSaveInstanceState(null); transcript.assertEventsSoFar("onSaveInstanceState was called"); shadowActivity.callOnPause(); transcript.assertEventsSoFar("onPause was called"); shadowActivity.callOnUserLeaveHint(); transcript.assertEventsSoFar("onUserLeaveHint was called"); shadowActivity.callOnStop(); transcript.assertEventsSoFar("onStop was called"); shadowActivity.callOnDestroy(); transcript.assertEventsSoFar("onDestroy was called"); }