diff options
author | Robert Henigan <robert.henigan@livio.io> | 2020-09-17 16:43:54 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-17 16:43:54 -0400 |
commit | cc044f0869f23fbf3198b0ecf11ffb25f7a56288 (patch) | |
tree | 0061b9486bdbdc59465e8267a43e7c3b8418a231 | |
parent | 33d48a40a5625db0967bed780654fce8b1abbd5c (diff) | |
parent | 696d3dc8f91fd9b35f521af2cd79f501913ad5af (diff) | |
download | sdl_android-cc044f0869f23fbf3198b0ecf11ffb25f7a56288.tar.gz |
Merge pull request #1504 from smartdevicelink/feature/fix_tests
Fix HapticInterfaceManagerTest
-rw-r--r-- | android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/video/HapticInterfaceManagerTest.java (renamed from android/sdl_android/src/test/java/com/smartdevicelink/managers/video/HapticInterfaceManagerTest.java) | 70 | ||||
-rw-r--r-- | android/sdl_android/src/test/java/com/smartdevicelink/ExampleUnitTest.java | 17 |
2 files changed, 36 insertions, 51 deletions
diff --git a/android/sdl_android/src/test/java/com/smartdevicelink/managers/video/HapticInterfaceManagerTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/video/HapticInterfaceManagerTest.java index 1e147a728..9c01986a7 100644 --- a/android/sdl_android/src/test/java/com/smartdevicelink/managers/video/HapticInterfaceManagerTest.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/video/HapticInterfaceManagerTest.java @@ -23,8 +23,15 @@ package com.smartdevicelink.managers.video; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.test.platform.app.InstrumentationRegistry; import com.smartdevicelink.managers.ISdl; +import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener; +import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager; import com.smartdevicelink.proxy.rpc.HapticRect; import com.smartdevicelink.proxy.rpc.Rectangle; import com.smartdevicelink.proxy.rpc.SendHapticData; @@ -40,6 +47,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; import org.mockito.junit.MockitoJUnitRunner; import org.mockito.stubbing.Answer; @@ -47,8 +55,12 @@ import org.mockito.stubbing.Answer; import java.util.ArrayList; import java.util.List; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; import static org.mockito.Mockito.any; import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -60,7 +72,7 @@ import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.Strict.class) public class HapticInterfaceManagerTest extends TestCase { @Mock - private ISdl mockProxy; + private ISdl interalInterface; @Captor private ArgumentCaptor<SendHapticData> captor; @@ -69,7 +81,7 @@ public class HapticInterfaceManagerTest extends TestCase { @Before public void setUp() throws Exception { - hapticMgr = new HapticInterfaceManager(mockProxy); + hapticMgr = new HapticInterfaceManager(interalInterface); } @After @@ -89,14 +101,14 @@ public class HapticInterfaceManagerTest extends TestCase { hRect.setRect(rect); rects.add(hRect); hapticMgr.setHapticData(rects); - verify(mockProxy).sendRPCRequest(any(SendHapticData.class)); + verify(interalInterface).sendRPC(any(SendHapticData.class)); } @Test public void testRefreshHapticData() throws Exception { View root = createViews(); hapticMgr.refreshHapticData(root); - verify(mockProxy).sendRPC(captor.capture()); + verify(interalInterface).sendRPC(captor.capture()); SendHapticData data = captor.getValue(); assertNotNull("SendHapticData RPC", data); List<HapticRect> list = data.getHapticRectData(); @@ -107,11 +119,11 @@ public class HapticInterfaceManagerTest extends TestCase { @Test public void testRefreshHapticDataNull() throws Exception { hapticMgr.refreshHapticData(null); - verify(mockProxy).sendRPC(captor.capture()); + verify(interalInterface).sendRPC(captor.capture()); SendHapticData data = captor.getValue(); assertNotNull("SendHapticData RPC", data); List<HapticRect> list = data.getHapticRectData(); - assertNull("List", list); + assertTrue("List", list.isEmpty()); } @Test @@ -206,11 +218,11 @@ public class HapticInterfaceManagerTest extends TestCase { hRect.setRect(rect); rects.add(hRect); hapticMgr.setHapticData(rects); - verify(mockProxy).sendRPCRequest(any(SendHapticData.class)); + verify(interalInterface).sendRPC(any(SendHapticData.class)); View root = createViews(); hapticMgr.refreshHapticData(root); - verify(mockProxy, times(1)).sendRPCRequest(any(SendHapticData.class)); + verify(interalInterface, times(1)).sendRPC(any(SendHapticData.class)); } private View createViews() { @@ -232,55 +244,45 @@ public class HapticInterfaceManagerTest extends TestCase { when(parent2.getChildAt(0)).thenReturn(view); when(parent2.getChildAt(1)).thenReturn(view); - when(view.isFocusable()).then(new Answer<Boolean>() { - private int count = 0; - @Override - public Boolean answer(InvocationOnMock invocation) throws Throwable { - int curCount = count++; - return (curCount == 1) || (curCount == 2) || (curCount == 3); - } - }); - when(view.isClickable()).then(new Answer<Boolean>() { + doAnswer(new Answer<Boolean>() { private int count = 0; @Override public Boolean answer(InvocationOnMock invocation) throws Throwable { int curCount = count++; - return (curCount == 0) || (curCount == 3); + return (curCount >= 1) && (curCount <= 4); } - }); + }).when(view).isClickable(); return parent1; } private View createView(final int x, final int y, int w, int h) { - View button = mock(View.class); - when(button.isFocusable()).thenReturn(true); - doAnswer(new Answer() { + View button = new Button(InstrumentationRegistry.getInstrumentation().getContext()) { @Override - public int[] answer(InvocationOnMock invocation) throws Throwable { - int[] args = (int[])(invocation.getArguments()[0]); - args[0] = x; - args[1] = y; - return args; + public void getLocationOnScreen(int[] outLocation) { + super.getLocationOnScreen(outLocation); + outLocation[0] = x; + outLocation[1] = y; } - }).when(button).getLocationOnScreen(any(int[].class)); - - when(button.getWidth()).thenReturn(w); - when(button.getHeight()).thenReturn(h); + }; + button.setClickable(true); + button.setRight(w); + button.setBottom(h); return button; } private void assertViewWithCapability(int x, int y, int w, int h, Rectangle expected, VideoStreamingCapability capability) { - when(mockProxy.getCapability(SystemCapabilityType.VIDEO_STREAMING)).thenReturn(capability); + SystemCapabilityManager systemCapabilityManager = mock(SystemCapabilityManager.class); + when(systemCapabilityManager.getCapability(eq(SystemCapabilityType.VIDEO_STREAMING), (OnSystemCapabilityListener) isNull(), anyBoolean())).thenReturn(capability); + doReturn(systemCapabilityManager).when(interalInterface).getSystemCapabilityManager(); View button = createView(x, y, w, h); - hapticMgr.refreshHapticData(button); - verify(mockProxy).sendRPC(captor.capture()); + verify(interalInterface).sendRPC(captor.capture()); SendHapticData data = captor.getValue(); List<HapticRect> list = data.getHapticRectData(); diff --git a/android/sdl_android/src/test/java/com/smartdevicelink/ExampleUnitTest.java b/android/sdl_android/src/test/java/com/smartdevicelink/ExampleUnitTest.java deleted file mode 100644 index b6f81205c..000000000 --- a/android/sdl_android/src/test/java/com/smartdevicelink/ExampleUnitTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.smartdevicelink; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -/** - * Example local unit test, which will execute on the development machine (host). - * - * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> - */ -public class ExampleUnitTest { - @Test - public void addition_isCorrect() throws Exception { - assertEquals(4, 2 + 2); - } -}
\ No newline at end of file |