diff options
author | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2020-02-20 14:36:34 -0500 |
---|---|---|
committer | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2020-02-20 14:36:34 -0500 |
commit | 079d9197e733a3a27dde2ed4543c1f51b5f4e2b7 (patch) | |
tree | 27eab40ce8595ca6c5742d242c4c8022b3a336d9 | |
parent | 49d20093f838fcc119e1210668281baf33e0d621 (diff) | |
download | sdl_android-079d9197e733a3a27dde2ed4543c1f51b5f4e2b7.tar.gz |
Add more unit tests for DISPLAYS capability
-rw-r--r-- | android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java index 8625acddd..3eca71e8b 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java @@ -578,6 +578,41 @@ public class SystemCapabilityManagerTests extends AndroidTestCase2 { verify(onSystemCapabilityListener3, times(4)).onCapabilityRetrieved(any(Object.class)); } + public void testGetAndAddListenerForDisplaysCapability() { + ISdl internalInterface; + SystemCapabilityManager scm; + OnSystemCapabilityListener onSystemCapabilityListener; + DisplayCapabilities retrievedCapability; + + + // Test case 1 (capability cached, listener not null, forceUpdate true) + // Force updating DISPLAYS capability should call onError() + internalInterface = mock(ISdl.class); + scm = new SystemCapabilityManager(internalInterface); + onSystemCapabilityListener = mock(OnSystemCapabilityListener.class); + doAnswer(createOnSendGetSystemCapabilityAnswer(true, null)).when(internalInterface).sendRPC(any(GetSystemCapability.class)); + scm.setCapability(SystemCapabilityType.DISPLAYS, new DisplayCapabilities()); + retrievedCapability = (DisplayCapabilities) scm.getCapability(SystemCapabilityType.DISPLAYS, onSystemCapabilityListener, true); + assertNotNull(retrievedCapability); + verify(internalInterface, times(0)).sendRPC(any(GetSystemCapability.class)); + verify(onSystemCapabilityListener, times(0)).onCapabilityRetrieved(any(Object.class)); + verify(onSystemCapabilityListener, times(1)).onError(any(String.class)); + + + // Test case 2 (Add listener) + // When the first DISPLAYS listener is added, GetSystemCapability request should not go out + OnSystemCapabilityListener onSystemCapabilityListener1 = mock(OnSystemCapabilityListener.class); + scm.addOnSystemCapabilityListener(SystemCapabilityType.DISPLAYS, onSystemCapabilityListener1); + verify(internalInterface, times(0)).sendRPC(any(GetSystemCapability.class)); + verify(onSystemCapabilityListener1, times(1)).onCapabilityRetrieved(any(Object.class)); + + + // Test case 3 (Remove listener) + // When the last DISPLAY listener is removed, GetSystemCapability request should not go out + scm.removeOnSystemCapabilityListener(SystemCapabilityType.DISPLAYS, onSystemCapabilityListener1); + verify(internalInterface, times(0)).sendRPC(any(GetSystemCapability.class)); + } + public void testListConversion(){ SystemCapabilityManager systemCapabilityManager = createSampleManager(); Object capability = systemCapabilityManager.getCapability(SystemCapabilityType.SOFTBUTTON); |