@Test
  public void withIntent() {
    final LoginFragment fragment = new LoginFragment();
    final SupportFragmentController<LoginFragment> controller =
        SupportFragmentController.of(fragment, LoginActivity.class);

    Intent intent = new Intent("test_action");
    intent.putExtra("test_key", "test_value");
    controller.withIntent(intent).create();

    Intent intentInFragment = controller.get().getActivity().getIntent();
    assertThat(intentInFragment.getAction()).isEqualTo("test_action");
    assertThat(intentInFragment.getExtras().getString("test_key")).isEqualTo("test_value");
  }
  @Test
  public void attachedAfterCreate() {
    final LoginFragment fragment = new LoginFragment();
    SupportFragmentController.of(fragment).create();

    assertThat(fragment.getActivity()).isNotNull();
    assertThat(fragment.isAdded()).isTrue();
    assertThat(fragment.isResumed()).isFalse();
  }
  @Test
  public void initialNotAttached_customActivity() {
    final LoginFragment fragment = new LoginFragment();
    SupportFragmentController.of(fragment, LoginActivity.class);

    assertThat(fragment.getView()).isNull();
    assertThat(fragment.getActivity()).isNull();
    assertThat(fragment.isAdded()).isFalse();
  }
  @Test
  public void isResumed() {
    final LoginFragment fragment = new LoginFragment();
    SupportFragmentController.of(fragment, LoginActivity.class).create().start().resume();

    assertThat(fragment.getView()).isNotNull();
    assertThat(fragment.getActivity()).isNotNull();
    assertThat(fragment.isAdded()).isTrue();
    assertThat(fragment.isResumed()).isTrue();
    assertThat(fragment.getView().findViewById(R.id.tacos)).isNotNull();
  }
  @Test
  public void isPaused() {
    final LoginFragment fragment = spy(new LoginFragment());
    SupportFragmentController.of(fragment, LoginActivity.class).create().start().resume().pause();

    assertThat(fragment.getView()).isNotNull();
    assertThat(fragment.getActivity()).isNotNull();
    assertThat(fragment.isAdded()).isTrue();
    assertThat(fragment.isResumed()).isFalse();

    verify(fragment).onResume();
    verify(fragment).onPause();
  }