diff options
author | Peter Li <pyli@google.com> | 2021-05-25 05:58:06 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-05-25 05:58:06 +0000 |
commit | 34eb7405f314fe033c7bf5bdce97392e896058b6 (patch) | |
tree | 7004d6e6918aa2f207ac8b44f788dacad0f234fa | |
parent | da2056eb2082ac725299fabb001f53adf5b797a0 (diff) | |
parent | 799129d4a8a59283b6d8346304ddeabf0da735ff (diff) | |
download | Dialer-34eb7405f314fe033c7bf5bdce97392e896058b6.tar.gz |
Merge "Migrate CallDetailLiveData unit tests" into sc-dev
-rw-r--r-- | tests/unittests/src/com/android/car/dialer/livedata/CallDetailLiveDataTest.java (renamed from tests/robotests/src/com/android/car/dialer/livedata/CallDetailLiveDataTest.java) | 58 |
1 files changed, 12 insertions, 46 deletions
diff --git a/tests/robotests/src/com/android/car/dialer/livedata/CallDetailLiveDataTest.java b/tests/unittests/src/com/android/car/dialer/livedata/CallDetailLiveDataTest.java index ba4d50d1..29ac861a 100644 --- a/tests/robotests/src/com/android/car/dialer/livedata/CallDetailLiveDataTest.java +++ b/tests/unittests/src/com/android/car/dialer/livedata/CallDetailLiveDataTest.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 The Android Open Source Project + * Copyright (C) 2021 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. @@ -18,12 +18,8 @@ package com.android.car.dialer.livedata; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doNothing; 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 android.net.Uri; @@ -34,9 +30,10 @@ import android.telecom.GatewayInfo; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LifecycleRegistry; +import androidx.lifecycle.Observer; +import androidx.test.annotation.UiThreadTest; +import androidx.test.ext.junit.runners.AndroidJUnit4; -import com.android.car.dialer.CarDialerRobolectricTestRunner; -import com.android.car.dialer.LiveDataObserver; import com.android.car.telephony.common.CallDetail; import org.junit.Before; @@ -47,7 +44,7 @@ import org.mockito.Captor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -@RunWith(CarDialerRobolectricTestRunner.class) +@RunWith(AndroidJUnit4.class) public class CallDetailLiveDataTest { private CallDetailLiveData mCallDetailLiveData; @@ -57,7 +54,7 @@ public class CallDetailLiveDataTest { @Mock private LifecycleOwner mMockLifecycleOwner; @Mock - private LiveDataObserver<Integer> mMockObserver; + private Observer<CallDetail> mMockObserver; @Captor private ArgumentCaptor<Call.Callback> mCallbackCaptor; @@ -65,34 +62,20 @@ public class CallDetailLiveDataTest { public void setup() { MockitoAnnotations.initMocks(this); - doNothing().when(mMockCall).registerCallback(mCallbackCaptor.capture()); - mCallDetailLiveData = new CallDetailLiveData(); - mCallDetailLiveData.setTelecomCall(mMockCall); + doNothing().when(mMockCall).registerCallback(mCallbackCaptor.capture()); mLifecycleRegistry = new LifecycleRegistry(mMockLifecycleOwner); when(mMockLifecycleOwner.getLifecycle()).thenReturn(mLifecycleRegistry); } @Test - public void testOnActiveRegistry() { - mCallDetailLiveData.observe(mMockLifecycleOwner, (value) -> mMockObserver.onChanged(value)); - verify(mMockObserver, never()).onChanged(any()); - assertThat(mCallDetailLiveData.hasObservers()).isTrue(); - assertThat(mCallDetailLiveData.hasActiveObservers()).isFalse(); - - reset(mMockCall); - mLifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START); - - assertThat(mCallDetailLiveData.hasActiveObservers()).isTrue(); - verify(mMockObserver).onChanged(any()); - verify(mMockCall).registerCallback(any()); - } - - @Test + @UiThreadTest public void testOnDetailsChanged() { + mCallDetailLiveData.setTelecomCall(mMockCall); ArgumentCaptor<CallDetail> valueCaptor = ArgumentCaptor.forClass(CallDetail.class); doNothing().when(mMockObserver).onChanged(valueCaptor.capture()); - startObserving(); + mCallDetailLiveData.observe(mMockLifecycleOwner, (value) -> mMockObserver.onChanged(value)); + mLifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START); // Set up updated details String number = "6505551234"; @@ -106,8 +89,8 @@ public class CallDetailLiveDataTest { when(updatedDetails.getDisconnectCause()).thenReturn(disconnectCause); when(updatedDetails.getGatewayInfo()).thenReturn(gatewayInfo); when(updatedDetails.getConnectTimeMillis()).thenReturn(connectTimeMillis); - when(mMockCall.getDetails()).thenReturn(updatedDetails); + mCallbackCaptor.getValue().onDetailsChanged(mMockCall, updatedDetails); CallDetail observedValue = valueCaptor.getValue(); @@ -116,21 +99,4 @@ public class CallDetailLiveDataTest { assertThat(observedValue.getDisconnectCause()).isEqualTo(label); assertThat(observedValue.getGatewayInfoOriginalAddress()).isEqualTo(uri); } - - @Test - public void testOnInactiveUnregister() { - startObserving(); - - reset(mMockCall); - mLifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY); - - verify(mMockCall).unregisterCallback(mCallbackCaptor.getValue()); - assertThat(mCallDetailLiveData.hasObservers()).isFalse(); - assertThat(mCallDetailLiveData.hasActiveObservers()).isFalse(); - } - - private void startObserving() { - mCallDetailLiveData.observe(mMockLifecycleOwner, (value) -> mMockObserver.onChanged(value)); - mLifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START); - } } |