if (layoutState.getTransitions() != null) { allTransitions.addAll(layoutState.getTransitions());
when(layoutState.getTransitions()) .thenReturn(transitions != null ? transitions.getChildren() : null); when(layoutState.getTransitionIdMapping()).thenReturn(transitionIdMapping);
@Test public void testCollectsWrappingTransitions() { ComponentContext c = new ComponentContext(application); LayoutState layoutState = LayoutState.calculate( c, mWrappingContentWithTransition, ComponentTree.generateComponentTreeId(), View.MeasureSpec.makeMeasureSpec(100, View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(100, View.MeasureSpec.EXACTLY), LayoutState.CalculateLayoutSource.TEST); assertThat(layoutState.getTransitions()).hasSize(2); } }
allTransitions.addAll(next.getTransitions()); allTransitions.addAll(transitionsFromStateUpdate);
allTransitions.addAll(next.getTransitions()); allTransitions.addAll(mountTimeTransitions); mTransitionManager.setupTransitions(
@Test public void testKeyDoesntExist() { final LayoutState current = createMockLayoutState( Transition.parallel(), createMockLayoutOutput("test", 0, 0)); final LayoutState next = createMockLayoutState( Transition.parallel( Transition.create(Transition.TransitionKeyType.GLOBAL, "test", "keydoesntexist") .animate(AnimatedProperties.X, AnimatedProperties.Y) .animator(mTestVerificationAnimator)), createMockLayoutOutput("test", 10, 0)); mTransitionManager.setupTransitions( current, next, TransitionManager.getRootTransition(next.getTransitions())); assertThat(mCreatedAnimations).containsExactlyInAnyOrder( createPropertyAnimation("test", AnimatedProperties.X, 10)); }
@Test public void testCreateMultiPropAnimationWithNonChangingProp() { final LayoutState current = createMockLayoutState( Transition.parallel(), createMockLayoutOutput("test", 0, 0)); final LayoutState next = createMockLayoutState( Transition.parallel( Transition.create(Transition.TransitionKeyType.GLOBAL, "test") .animate(AnimatedProperties.X, AnimatedProperties.Y) .animator(mTestVerificationAnimator)), createMockLayoutOutput("test", 10, 0)); mTransitionManager.setupTransitions( current, next, TransitionManager.getRootTransition(next.getTransitions())); assertThat(mCreatedAnimations).containsExactlyInAnyOrder( createPropertyAnimation("test", AnimatedProperties.X, 10)); }
@Test public void testCreateSingleAnimation() { final LayoutState current = createMockLayoutState( Transition.parallel(), createMockLayoutOutput("test", 0, 0)); final LayoutState next = createMockLayoutState( Transition.parallel( Transition.create(Transition.TransitionKeyType.GLOBAL, "test") .animate(AnimatedProperties.X) .animator(mTestVerificationAnimator)), createMockLayoutOutput("test", 10, 10)); mTransitionManager.setupTransitions( current, next, TransitionManager.getRootTransition(next.getTransitions())); assertThat(mCreatedAnimations).containsExactlyInAnyOrder( createPropertyAnimation("test", AnimatedProperties.X, 10)); }
@Test public void testCreateMultiPropAnimation() { final LayoutState current = createMockLayoutState( Transition.parallel(), createMockLayoutOutput("test", 0, 0)); final LayoutState next = createMockLayoutState( Transition.parallel( Transition.create(Transition.TransitionKeyType.GLOBAL, "test") .animate(AnimatedProperties.X, AnimatedProperties.Y) .animator(mTestVerificationAnimator)), createMockLayoutOutput("test", 10, 10)); mTransitionManager.setupTransitions( current, next, TransitionManager.getRootTransition(next.getTransitions())); assertThat(mCreatedAnimations).containsExactlyInAnyOrder( createPropertyAnimation("test", AnimatedProperties.X, 10), createPropertyAnimation("test", AnimatedProperties.Y, 10)); }
@Test public void testNoPreviousLayoutState() { final LayoutState next = createMockLayoutState( Transition.parallel( Transition.create(Transition.TransitionKeyType.GLOBAL, "test", "keydoesntexist") .animate(AnimatedProperties.X, AnimatedProperties.Y) .animator(mTestVerificationAnimator), Transition.create(Transition.TransitionKeyType.GLOBAL, "appearing") .animate(AnimatedProperties.X) .appearFrom(0) .animator(mTestVerificationAnimator)), createMockLayoutOutput("test", 10, 0), createMockLayoutOutput("appearing", 20, 0)); mTransitionManager.setupTransitions( null, next, TransitionManager.getRootTransition(next.getTransitions())); assertThat(mCreatedAnimations) .containsExactlyInAnyOrder(createPropertyAnimation("appearing", AnimatedProperties.X, 20)); }
@Test public void testCreateMultiComponentAnimation() { final LayoutState current = createMockLayoutState( Transition.parallel(), createMockLayoutOutput("test1", 0, 0), createMockLayoutOutput("test2", 0, 0)); final LayoutState next = createMockLayoutState( Transition.parallel( Transition.create(Transition.TransitionKeyType.GLOBAL, "test1", "test2") .animate(AnimatedProperties.X) .animator(mTestVerificationAnimator)), createMockLayoutOutput("test1", 10, 10), createMockLayoutOutput("test2", -10, -10)); mTransitionManager.setupTransitions( current, next, TransitionManager.getRootTransition(next.getTransitions())); assertThat(mCreatedAnimations).containsExactlyInAnyOrder( createPropertyAnimation("test1", AnimatedProperties.X, 10), createPropertyAnimation("test2", AnimatedProperties.X, -10)); }
@Test public void testSetsOfComponentsAndPropertiesAnimation() { final LayoutState current = createMockLayoutState( Transition.parallel(), createMockLayoutOutput("test1", 0, 0), createMockLayoutOutput("test2", 0, 0)); final LayoutState next = createMockLayoutState( Transition.parallel( Transition.create(Transition.TransitionKeyType.GLOBAL, "test1", "test2") .animate(AnimatedProperties.X, AnimatedProperties.Y) .animator(mTestVerificationAnimator)), createMockLayoutOutput("test1", 10, 10), createMockLayoutOutput("test2", -10, -10)); mTransitionManager.setupTransitions( current, next, TransitionManager.getRootTransition(next.getTransitions())); assertThat(mCreatedAnimations).containsExactlyInAnyOrder( createPropertyAnimation("test1", AnimatedProperties.X, 10), createPropertyAnimation("test1", AnimatedProperties.Y, 10), createPropertyAnimation("test2", AnimatedProperties.X, -10), createPropertyAnimation("test2", AnimatedProperties.Y, -10)); }
@Test public void testAutoLayoutAnimation() { final LayoutState current = createMockLayoutState( Transition.parallel(), createMockLayoutOutput("test1", 0, 0), createMockLayoutOutput("test2", 0, 0)); final LayoutState next = createMockLayoutState( Transition.parallel(Transition.allLayout().animator(mTestVerificationAnimator)), createMockLayoutOutput("test1", 10, 20, 200, 150), createMockLayoutOutput("test2", -10, -20, 50, 80)); mTransitionManager.setupTransitions( current, next, TransitionManager.getRootTransition(next.getTransitions())); assertThat(mCreatedAnimations) .containsExactlyInAnyOrder( createPropertyAnimation("test1", AnimatedProperties.X, 10), createPropertyAnimation("test1", AnimatedProperties.Y, 20), createPropertyAnimation("test1", AnimatedProperties.WIDTH, 200), createPropertyAnimation("test1", AnimatedProperties.HEIGHT, 150), createPropertyAnimation("test2", AnimatedProperties.X, -10), createPropertyAnimation("test2", AnimatedProperties.Y, -20), createPropertyAnimation("test2", AnimatedProperties.WIDTH, 50), createPropertyAnimation("test2", AnimatedProperties.HEIGHT, 80)); }