diff options
author | Justin Klaassen <justinklaassen@google.com> | 2018-04-03 23:21:57 -0400 |
---|---|---|
committer | Justin Klaassen <justinklaassen@google.com> | 2018-04-03 23:21:57 -0400 |
commit | 4d01eeaffaa720e4458a118baa137a11614f00f7 (patch) | |
tree | 66751893566986236788e3c796a7cc5e90d05f52 /android/arch/lifecycle/ReflectiveGenericLifecycleObserverTest.java | |
parent | a192cc2a132cb0ee8588e2df755563ec7008c179 (diff) | |
download | android-28-4d01eeaffaa720e4458a118baa137a11614f00f7.tar.gz |
Import Android SDK Platform P [4697573]
/google/data/ro/projects/android/fetch_artifact \
--bid 4697573 \
--target sdk_phone_armv7-win_sdk \
sdk-repo-linux-sources-4697573.zip
AndroidVersion.ApiLevel has been modified to appear as 28
Change-Id: If80578c3c657366cc9cf75f8db13d46e2dd4e077
Diffstat (limited to 'android/arch/lifecycle/ReflectiveGenericLifecycleObserverTest.java')
-rw-r--r-- | android/arch/lifecycle/ReflectiveGenericLifecycleObserverTest.java | 365 |
1 files changed, 0 insertions, 365 deletions
diff --git a/android/arch/lifecycle/ReflectiveGenericLifecycleObserverTest.java b/android/arch/lifecycle/ReflectiveGenericLifecycleObserverTest.java deleted file mode 100644 index 68f04e8d..00000000 --- a/android/arch/lifecycle/ReflectiveGenericLifecycleObserverTest.java +++ /dev/null @@ -1,365 +0,0 @@ -/* - * 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.arch.lifecycle; - -import static android.arch.lifecycle.Lifecycle.Event.ON_ANY; -import static android.arch.lifecycle.Lifecycle.Event.ON_CREATE; -import static android.arch.lifecycle.Lifecycle.Event.ON_DESTROY; -import static android.arch.lifecycle.Lifecycle.Event.ON_PAUSE; -import static android.arch.lifecycle.Lifecycle.Event.ON_RESUME; -import static android.arch.lifecycle.Lifecycle.Event.ON_START; -import static android.arch.lifecycle.Lifecycle.Event.ON_STOP; -import static android.arch.lifecycle.Lifecycle.State.CREATED; -import static android.arch.lifecycle.Lifecycle.State.INITIALIZED; -import static android.arch.lifecycle.Lifecycle.State.RESUMED; -import static android.arch.lifecycle.Lifecycle.State.STARTED; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.core.Is.is; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.reset; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; -import org.mockito.Matchers; - -@RunWith(JUnit4.class) -public class ReflectiveGenericLifecycleObserverTest { - private LifecycleOwner mOwner; - private Lifecycle mLifecycle; - - @Before - public void initMocks() { - mOwner = mock(LifecycleOwner.class); - mLifecycle = mock(Lifecycle.class); - when(mOwner.getLifecycle()).thenReturn(mLifecycle); - } - - @Test - public void anyState() { - AnyStateListener obj = mock(AnyStateListener.class); - ReflectiveGenericLifecycleObserver observer = new ReflectiveGenericLifecycleObserver(obj); - when(mLifecycle.getCurrentState()).thenReturn(STARTED); - observer.onStateChanged(mOwner, ON_CREATE); - verify(obj).onAnyState(mOwner, ON_CREATE); - reset(obj); - - observer.onStateChanged(mOwner, ON_START); - verify(obj).onAnyState(mOwner, ON_START); - reset(obj); - - observer.onStateChanged(mOwner, ON_RESUME); - verify(obj).onAnyState(mOwner, ON_RESUME); - reset(obj); - - observer.onStateChanged(mOwner, ON_PAUSE); - verify(obj).onAnyState(mOwner, ON_PAUSE); - reset(obj); - - observer.onStateChanged(mOwner, ON_STOP); - verify(obj).onAnyState(mOwner, ON_STOP); - reset(obj); - - observer.onStateChanged(mOwner, ON_DESTROY); - verify(obj).onAnyState(mOwner, ON_DESTROY); - reset(obj); - } - - private static class AnyStateListener implements LifecycleObserver { - @OnLifecycleEvent(ON_ANY) - void onAnyState(LifecycleOwner owner, Lifecycle.Event event) { - - } - } - - @Test - public void singleMethod() { - CreatedStateListener obj = mock(CreatedStateListener.class); - ReflectiveGenericLifecycleObserver observer = new ReflectiveGenericLifecycleObserver(obj); - when(mLifecycle.getCurrentState()).thenReturn(CREATED); - observer.onStateChanged(mOwner, ON_CREATE); - verify(obj).onCreated(); - verify(obj).onCreated(mOwner); - } - - private static class CreatedStateListener implements LifecycleObserver { - @OnLifecycleEvent(ON_CREATE) - void onCreated() { - - } - @SuppressWarnings("UnusedParameters") - @OnLifecycleEvent(ON_CREATE) - void onCreated(LifecycleOwner provider) { - - } - } - - @Test - public void eachEvent() { - AllMethodsListener obj = mock(AllMethodsListener.class); - ReflectiveGenericLifecycleObserver observer = new ReflectiveGenericLifecycleObserver(obj); - when(mLifecycle.getCurrentState()).thenReturn(CREATED); - - observer.onStateChanged(mOwner, ON_CREATE); - verify(obj).created(); - reset(obj); - - when(mLifecycle.getCurrentState()).thenReturn(STARTED); - observer.onStateChanged(mOwner, ON_START); - verify(obj).started(); - reset(obj); - - when(mLifecycle.getCurrentState()).thenReturn(RESUMED); - observer.onStateChanged(mOwner, ON_RESUME); - verify(obj).resumed(); - reset(obj); - - when(mLifecycle.getCurrentState()).thenReturn(STARTED); - observer.onStateChanged(mOwner, ON_PAUSE); - verify(obj).paused(); - reset(obj); - - when(mLifecycle.getCurrentState()).thenReturn(CREATED); - observer.onStateChanged(mOwner, ON_STOP); - verify(obj).stopped(); - reset(obj); - - when(mLifecycle.getCurrentState()).thenReturn(INITIALIZED); - observer.onStateChanged(mOwner, ON_DESTROY); - verify(obj).destroyed(); - reset(obj); - } - - - private static class AllMethodsListener implements LifecycleObserver { - @OnLifecycleEvent(ON_CREATE) - void created() {} - - @OnLifecycleEvent(ON_START) - void started() {} - - @OnLifecycleEvent(ON_RESUME) - void resumed() {} - - @OnLifecycleEvent(ON_PAUSE) - void paused() {} - - @OnLifecycleEvent(ON_STOP) - void stopped() {} - - @OnLifecycleEvent(ON_DESTROY) - void destroyed() { - } - } - - @Test - public void testFailingObserver() { - class UnprecedentedError extends Error { - } - - LifecycleObserver obj = new LifecycleObserver() { - @OnLifecycleEvent(ON_START) - void started() { - throw new UnprecedentedError(); - } - }; - ReflectiveGenericLifecycleObserver observer = new ReflectiveGenericLifecycleObserver(obj); - try { - observer.onStateChanged(mOwner, ON_START); - } catch (Exception e) { - assertThat("exception cause is wrong", - e.getCause() instanceof UnprecedentedError); - } - } - - @Test - public void testPrivateObserverMethods() { - class ObserverWithPrivateMethod implements LifecycleObserver { - boolean mCalled = false; - @OnLifecycleEvent(ON_START) - private void started() { - mCalled = true; - } - } - - ObserverWithPrivateMethod obj = mock(ObserverWithPrivateMethod.class); - ReflectiveGenericLifecycleObserver observer = new ReflectiveGenericLifecycleObserver(obj); - observer.onStateChanged(mOwner, ON_START); - assertThat(obj.mCalled, is(true)); - } - - @Test(expected = IllegalArgumentException.class) - public void testWrongFirstParam1() { - LifecycleObserver observer = new LifecycleObserver() { - @OnLifecycleEvent(ON_START) - private void started(Lifecycle.Event e) { - } - }; - new ReflectiveGenericLifecycleObserver(observer); - } - - @Test(expected = IllegalArgumentException.class) - public void testWrongFirstParam2() { - LifecycleObserver observer = new LifecycleObserver() { - @OnLifecycleEvent(ON_ANY) - private void started(Lifecycle l, Lifecycle.Event e) { - } - }; - new ReflectiveGenericLifecycleObserver(observer); - } - - @Test(expected = IllegalArgumentException.class) - public void testWrongSecondParam() { - LifecycleObserver observer = new LifecycleObserver() { - @OnLifecycleEvent(ON_START) - private void started(LifecycleOwner owner, Lifecycle l) { - } - }; - new ReflectiveGenericLifecycleObserver(observer); - } - - @Test(expected = IllegalArgumentException.class) - public void testThreeParams() { - LifecycleObserver observer = new LifecycleObserver() { - @OnLifecycleEvent(ON_ANY) - private void started(LifecycleOwner owner, Lifecycle.Event e, int i) { - } - }; - new ReflectiveGenericLifecycleObserver(observer); - } - - class BaseClass1 implements LifecycleObserver { - @OnLifecycleEvent(ON_START) - void foo(LifecycleOwner owner) { - } - } - - class DerivedClass1 extends BaseClass1 { - @OnLifecycleEvent(ON_STOP) - void foo(LifecycleOwner owner) { - } - } - - @Test(expected = IllegalArgumentException.class) - public void testInvalidSuper1() { - new ReflectiveGenericLifecycleObserver(new DerivedClass1()); - } - - class BaseClass2 implements LifecycleObserver { - @OnLifecycleEvent(ON_START) - void foo(LifecycleOwner owner) { - } - } - - class DerivedClass2 extends BaseClass1 { - @OnLifecycleEvent(ON_STOP) - void foo() { - } - } - - @Test - public void testValidSuper1() { - DerivedClass2 obj = mock(DerivedClass2.class); - ReflectiveGenericLifecycleObserver observer = new ReflectiveGenericLifecycleObserver(obj); - observer.onStateChanged(mock(LifecycleOwner.class), ON_START); - verify(obj).foo(Matchers.<LifecycleOwner>any()); - verify(obj, never()).foo(); - reset(obj); - observer.onStateChanged(mock(LifecycleOwner.class), ON_STOP); - verify(obj).foo(); - verify(obj, never()).foo(Matchers.<LifecycleOwner>any()); - } - - class BaseClass3 implements LifecycleObserver { - @OnLifecycleEvent(ON_START) - void foo(LifecycleOwner owner) { - } - } - - interface Interface3 extends LifecycleObserver { - @OnLifecycleEvent(ON_STOP) - void foo(LifecycleOwner owner); - } - - class DerivedClass3 extends BaseClass3 implements Interface3 { - @Override - public void foo(LifecycleOwner owner) { - } - } - - @Test(expected = IllegalArgumentException.class) - public void testInvalidSuper2() { - new ReflectiveGenericLifecycleObserver(new DerivedClass3()); - } - - class BaseClass4 implements LifecycleObserver { - @OnLifecycleEvent(ON_START) - void foo(LifecycleOwner owner) { - } - } - - interface Interface4 extends LifecycleObserver { - @OnLifecycleEvent(ON_START) - void foo(LifecycleOwner owner); - } - - class DerivedClass4 extends BaseClass4 implements Interface4 { - @Override - @OnLifecycleEvent(ON_START) - public void foo(LifecycleOwner owner) { - } - - @OnLifecycleEvent(ON_START) - public void foo() { - } - } - - @Test - public void testValidSuper2() { - DerivedClass4 obj = mock(DerivedClass4.class); - ReflectiveGenericLifecycleObserver observer = new ReflectiveGenericLifecycleObserver(obj); - observer.onStateChanged(mock(LifecycleOwner.class), ON_START); - verify(obj).foo(Matchers.<LifecycleOwner>any()); - verify(obj).foo(); - } - - interface InterfaceStart extends LifecycleObserver { - @OnLifecycleEvent(ON_START) - void foo(LifecycleOwner owner); - } - - interface InterfaceStop extends LifecycleObserver { - @OnLifecycleEvent(ON_STOP) - void foo(LifecycleOwner owner); - } - - class DerivedClass5 implements InterfaceStart, InterfaceStop { - @Override - public void foo(LifecycleOwner owner) { - } - } - - @Test(expected = IllegalArgumentException.class) - public void testInvalidSuper3() { - new ReflectiveGenericLifecycleObserver(new DerivedClass5()); - } -} |