summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Henigan <robert.henigan@livio.io>2020-09-17 16:43:54 -0400
committerGitHub <noreply@github.com>2020-09-17 16:43:54 -0400
commitcc044f0869f23fbf3198b0ecf11ffb25f7a56288 (patch)
tree0061b9486bdbdc59465e8267a43e7c3b8418a231
parent33d48a40a5625db0967bed780654fce8b1abbd5c (diff)
parent696d3dc8f91fd9b35f521af2cd79f501913ad5af (diff)
downloadsdl_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.java17
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