### Question:
Fade extends Visibility { @Override public void captureStartValues(@NonNull TransitionValues transitionValues) { super.captureStartValues(transitionValues); transitionValues.values.put(PROPNAME_TRANSITION_ALPHA, ViewUtils.getTransitionAlpha(transitionValues.view)); } Fade(int fadingMode);  Fade();  Fade(Context context, AttributeSet attrs); @Override void captureStartValues(@NonNull TransitionValues transitionValues); @Override Animator onAppear(ViewGroup sceneRoot, View view,
            TransitionValues startValues,
            TransitionValues endValues); @Override Animator onDisappear(ViewGroup sceneRoot, final View view, TransitionValues startValues,
            TransitionValues endValues); static final int IN; static final int OUT; }### Answer:
@Test @UiThreadTest public void testDisappear() { final Fade fade = new Fade(); final TransitionValues startValues = new TransitionValues(); startValues.view = mView; fade.captureStartValues(startValues); mView.setVisibility(View.INVISIBLE); final TransitionValues endValues = new TransitionValues(); endValues.view = mView; fade.captureEndValues(endValues); Animator animator = fade.createAnimator(mRoot, startValues, endValues); assertThat(animator, is(notNullValue())); }
@Test @UiThreadTest public void testAppear() { mView.setVisibility(View.INVISIBLE); final Fade fade = new Fade(); final TransitionValues startValues = new TransitionValues(); startValues.view = mView; fade.captureStartValues(startValues); mView.setVisibility(View.VISIBLE); final TransitionValues endValues = new TransitionValues(); endValues.view = mView; fade.captureEndValues(endValues); Animator animator = fade.createAnimator(mRoot, startValues, endValues); assertThat(animator, is(notNullValue())); }
@Test @UiThreadTest public void testNoChange() { final Fade fade = new Fade(); final TransitionValues startValues = new TransitionValues(); startValues.view = mView; fade.captureStartValues(startValues); final TransitionValues endValues = new TransitionValues(); endValues.view = mView; fade.captureEndValues(endValues); Animator animator = fade.createAnimator(mRoot, startValues, endValues); assertThat(animator, is(nullValue())); }