diff options
author | Henigan <rheniga1@MGC12Z921DLVCG.fbpld77.ford.com> | 2020-12-03 12:41:05 -0500 |
---|---|---|
committer | Henigan <rheniga1@MGC12Z921DLVCG.fbpld77.ford.com> | 2020-12-03 12:41:05 -0500 |
commit | 24ffb27b87d1864eb20e380eaa2c00ce9f212469 (patch) | |
tree | b66a15c8d5e1e35740e607f058b977333e445026 | |
parent | f5833a1f8f5cd82712e03f681cb684e58b920fbe (diff) | |
download | sdl_android-feature/issue_811.tar.gz |
Add unit tests for menu managerfeature/issue_811
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(); } } |