| /* |
| * Copyright (C) 2017 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.support.transition; |
| |
| import static org.hamcrest.MatcherAssert.assertThat; |
| import static org.hamcrest.Matchers.hasItem; |
| import static org.hamcrest.Matchers.hasSize; |
| import static org.hamcrest.Matchers.is; |
| import static org.hamcrest.Matchers.sameInstance; |
| |
| import android.support.test.filters.MediumTest; |
| import android.support.transition.test.R; |
| import android.view.View; |
| |
| import org.junit.Before; |
| import org.junit.Test; |
| |
| @MediumTest |
| public class TransitionSetTest extends BaseTest { |
| |
| private final TransitionSet mTransitionSet = new TransitionSet(); |
| private final Transition mTransition = new TransitionTest.EmptyTransition(); |
| |
| @Before |
| public void setUp() { |
| // mTransitionSet has 1 item from the start |
| mTransitionSet.addTransition(mTransition); |
| } |
| |
| @Test |
| public void testOrdering() { |
| assertThat(mTransitionSet.getOrdering(), is(TransitionSet.ORDERING_TOGETHER)); |
| assertThat(mTransitionSet.setOrdering(TransitionSet.ORDERING_SEQUENTIAL), |
| is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getOrdering(), is(TransitionSet.ORDERING_SEQUENTIAL)); |
| } |
| |
| @Test |
| public void testAddAndRemoveTransition() { |
| assertThat(mTransitionSet.getTransitionCount(), is(1)); |
| assertThat(mTransitionSet.getTransitionAt(0), is(sameInstance(mTransition))); |
| Transition anotherTransition = new TransitionTest.EmptyTransition(); |
| assertThat(mTransitionSet.addTransition(anotherTransition), |
| is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getTransitionCount(), is(2)); |
| assertThat(mTransitionSet.getTransitionAt(0), is(sameInstance(mTransition))); |
| assertThat(mTransitionSet.getTransitionAt(1), is(sameInstance(anotherTransition))); |
| assertThat(mTransitionSet.removeTransition(mTransition), |
| is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getTransitionCount(), is(1)); |
| } |
| |
| @Test |
| public void testSetDuration() { |
| assertThat(mTransitionSet.setDuration(123), is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getDuration(), is(123L)); |
| assertThat(mTransition.getDuration(), is(123L)); |
| } |
| |
| @Test |
| public void testTargetId() { |
| assertThat(mTransitionSet.addTarget(R.id.view0), is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getTargetIds(), hasItem(R.id.view0)); |
| assertThat(mTransitionSet.getTargetIds(), hasSize(1)); |
| assertThat(mTransition.getTargetIds(), hasItem(R.id.view0)); |
| assertThat(mTransition.getTargetIds(), hasSize(1)); |
| assertThat(mTransitionSet.removeTarget(R.id.view0), is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getTargetIds(), hasSize(0)); |
| assertThat(mTransition.getTargetIds(), hasSize(0)); |
| } |
| |
| @Test |
| public void testTargetView() { |
| final View view = new View(rule.getActivity()); |
| assertThat(mTransitionSet.addTarget(view), is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getTargets(), hasItem(view)); |
| assertThat(mTransitionSet.getTargets(), hasSize(1)); |
| assertThat(mTransition.getTargets(), hasItem(view)); |
| assertThat(mTransition.getTargets(), hasSize(1)); |
| assertThat(mTransitionSet.removeTarget(view), is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getTargets(), hasSize(0)); |
| assertThat(mTransition.getTargets(), hasSize(0)); |
| } |
| |
| @Test |
| public void testTargetName() { |
| assertThat(mTransitionSet.addTarget("abc"), is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getTargetNames(), hasItem("abc")); |
| assertThat(mTransitionSet.getTargetNames(), hasSize(1)); |
| assertThat(mTransition.getTargetNames(), hasItem("abc")); |
| assertThat(mTransition.getTargetNames(), hasSize(1)); |
| assertThat(mTransitionSet.removeTarget("abc"), is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getTargetNames(), hasSize(0)); |
| assertThat(mTransition.getTargetNames(), hasSize(0)); |
| } |
| |
| @Test |
| public void testTargetClass() { |
| assertThat(mTransitionSet.addTarget(View.class), is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getTargetTypes(), hasItem(View.class)); |
| assertThat(mTransitionSet.getTargetTypes(), hasSize(1)); |
| assertThat(mTransition.getTargetTypes(), hasItem(View.class)); |
| assertThat(mTransition.getTargetTypes(), hasSize(1)); |
| assertThat(mTransitionSet.removeTarget(View.class), is(sameInstance(mTransitionSet))); |
| assertThat(mTransitionSet.getTargetTypes(), hasSize(0)); |
| assertThat(mTransition.getTargetTypes(), hasSize(0)); |
| } |
| |
| @Test |
| public void testSetPropagation() { |
| final TransitionPropagation propagation = new SidePropagation(); |
| mTransitionSet.setPropagation(propagation); |
| assertThat(mTransitionSet.getPropagation(), is(propagation)); |
| assertThat(mTransition.getPropagation(), is(propagation)); |
| } |
| |
| } |