    @Test
    public void shouldCorrectlyCallback_whenOnRequestPermissionResultCalledFromActivity() {

        EasyPermissions.onRequestPermissionsResult(TestActivity.REQUEST_CODE, ALL_PERMS, SMS_DENIED_RESULT, spyActivity);

        verify(spyActivity, times(1))
                .onPermissionsGranted(integerCaptor.capture(), listCaptor.capture());
        assertThat(integerCaptor.getValue()).isEqualTo(TestActivity.REQUEST_CODE);
        assertThat(listCaptor.getValue())
                .containsAllIn(new ArrayList<>(Collections.singletonList(Manifest.permission.ACCESS_FINE_LOCATION)));

        verify(spyActivity, times(1))
                .onPermissionsDenied(integerCaptor.capture(), listCaptor.capture());
        assertThat(integerCaptor.getValue()).isEqualTo(TestActivity.REQUEST_CODE);
        assertThat(listCaptor.getValue())
                .containsAllIn(new ArrayList<>(Collections.singletonList(Manifest.permission.READ_SMS)));

        verify(spyActivity, never()).afterPermissionGranted();
    }