summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenigan <rheniga1@MGC12Z921DLVCG.fbpld77.ford.com>2020-12-03 12:41:05 -0500
committerHenigan <rheniga1@MGC12Z921DLVCG.fbpld77.ford.com>2020-12-03 12:41:05 -0500
commit24ffb27b87d1864eb20e380eaa2c00ce9f212469 (patch)
treeb66a15c8d5e1e35740e607f058b977333e445026
parentf5833a1f8f5cd82712e03f681cb684e58b920fbe (diff)
downloadsdl_android-feature/issue_811.tar.gz
Add unit tests for menu managerfeature/issue_811
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java50
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java2
2 files changed, 51 insertions, 1 deletions
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java
index 961af1f97..63646b8a3 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java
@@ -492,6 +492,31 @@ public class MenuManagerTests {
}
@Test
+ public void testSettingUniqueMenuCells() {
+ // call open Menu
+ List<MenuCell> testCells = createTestCellsWithMatchingNames();
+ menuManager.currentHMILevel = HMILevel.HMI_FULL;
+ menuManager.sdlMsgVersion = new SdlMsgVersion(6, 0);
+ // has to get success response to be true
+ menuManager.setMenuCells(testCells);
+ assertEquals(menuManager.uniqueNamedMenuCells.get(0).getTitle(), "testCell(1)");
+ assertEquals(menuManager.uniqueNamedMenuCells.get(1).getTitle(), "testCell2(1)");
+ assertEquals(menuManager.uniqueNamedMenuCells.get(2).getTitle(), "testCell(2)");
+ assertEquals(menuManager.uniqueNamedMenuCells.get(3).getTitle(), "testCell2(2)");
+ assertEquals(menuManager.uniqueNamedMenuCells.get(4).getTitle(), "testCell2(3)");
+ assertEquals(menuManager.uniqueNamedMenuCells.get(5).getTitle(), "testCell3");
+ assertEquals(menuManager.uniqueNamedMenuCells.get(6).getTitle(), "testCell4");
+
+ assertEquals(menuManager.menuCells.get(0).getTitle(), "testCell");
+ assertEquals(menuManager.menuCells.get(1).getTitle(), "testCell2");
+ assertEquals(menuManager.menuCells.get(2).getTitle(), "testCell");
+ assertEquals(menuManager.menuCells.get(3).getTitle(), "testCell2");
+ assertEquals(menuManager.menuCells.get(4).getTitle(), "testCell2");
+ assertEquals(menuManager.menuCells.get(5).getTitle(), "testCell3");
+ assertEquals(menuManager.menuCells.get(6).getTitle(), "testCell4");
+ }
+
+ @Test
public void testOpeningMainMenu() {
// call open Menu
MenuManager mockMenuManager = mock(MenuManager.class);
@@ -758,4 +783,29 @@ public class MenuManagerTests {
}
+ private List<MenuCell> createTestCellsWithMatchingNames() {
+
+ MenuSelectionListener menuSelectionListenerA = mock(MenuSelectionListener.class);
+ MenuSelectionListener menuSelectionListenerB = mock(MenuSelectionListener.class);
+ MenuSelectionListener menuSelectionListenerC = mock(MenuSelectionListener.class);
+ MenuSelectionListener menuSelectionListenerD = mock(MenuSelectionListener.class);
+
+ MenuCell A = new MenuCell("testCell", null, null, menuSelectionListenerA);
+
+ MenuCell B = new MenuCell("testCell2", null, null, menuSelectionListenerB);
+
+ MenuCell C = new MenuCell("testCell", null, null, menuSelectionListenerC);
+
+ MenuCell D = new MenuCell("testCell2", null, null, menuSelectionListenerD);
+
+ MenuCell E = new MenuCell("testCell2", null, null, menuSelectionListenerD);
+
+ MenuCell F = new MenuCell("testCell3", null, null, menuSelectionListenerD);
+
+ MenuCell G = new MenuCell("testCell4", null, null, menuSelectionListenerD);
+
+
+ return Arrays.asList(A, B, C, D, E, F, G);
+
+ }
}
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java
index b0e1cb3da..2d3b4d04e 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java
@@ -200,7 +200,7 @@ abstract class BaseMenuManager extends BaseSubManager {
if (clonedCells != null && !clonedCells.isEmpty()) {
menuCells.addAll(clonedCells);
if (sdlMsgVersion.getMajorVersion() < 7) {
- uniqueNamedMenuCells.addAll(clonedCells);
+ uniqueNamedMenuCells = cloneMenuCellsList(clonedCells);
createUniqueNameMenuCells();
}
}