diff options
Diffstat (limited to 'android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java')
-rw-r--r-- | android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java | 178 |
1 files changed, 32 insertions, 146 deletions
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java index 81f912361..f26a7a5c5 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java @@ -38,25 +38,21 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import com.livio.taskmaster.Taskmaster; import com.smartdevicelink.managers.BaseSubManager; +import com.smartdevicelink.managers.CompletionListener; import com.smartdevicelink.managers.ISdl; import com.smartdevicelink.managers.file.FileManager; -import com.smartdevicelink.proxy.rpc.ImageField; import com.smartdevicelink.proxy.rpc.KeyboardCapabilities; import com.smartdevicelink.proxy.rpc.KeyboardLayoutCapability; import com.smartdevicelink.proxy.rpc.KeyboardProperties; import com.smartdevicelink.proxy.rpc.SdlMsgVersion; -import com.smartdevicelink.proxy.rpc.TextField; import com.smartdevicelink.proxy.rpc.WindowCapability; import com.smartdevicelink.proxy.rpc.enums.HMILevel; -import com.smartdevicelink.proxy.rpc.enums.ImageFieldName; import com.smartdevicelink.proxy.rpc.enums.KeyboardInputMask; import com.smartdevicelink.proxy.rpc.enums.KeyboardLayout; import com.smartdevicelink.proxy.rpc.enums.KeypressMode; import com.smartdevicelink.proxy.rpc.enums.Language; import com.smartdevicelink.proxy.rpc.enums.SystemContext; -import com.smartdevicelink.proxy.rpc.enums.TextFieldName; import com.smartdevicelink.proxy.rpc.enums.TriggerSource; -import com.smartdevicelink.test.TestValues; import org.junit.After; import org.junit.Before; @@ -68,13 +64,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.List; import static junit.framework.TestCase.assertEquals; import static junit.framework.TestCase.assertFalse; import static junit.framework.TestCase.assertNotNull; -import static junit.framework.TestCase.assertNotSame; import static junit.framework.TestCase.assertNull; import static junit.framework.TestCase.assertTrue; import static org.mockito.Mockito.doReturn; @@ -103,16 +96,12 @@ public class ChoiceSetManagerTests { assertEquals(csm.getState(), BaseSubManager.SETTING_UP); assertEquals(csm.currentSystemContext, SystemContext.SYSCTXT_MAIN); assertEquals(csm.currentHMILevel, HMILevel.HMI_NONE); - assertEquals(csm.choiceCellIdMin, 1); - assertEquals(csm.nextChoiceId, 1); assertFalse(csm.isVROptional); assertNotNull(csm.fileManager); assertNotNull(csm.preloadedChoices); - assertNotNull(csm.pendingPreloadChoices); assertNotNull(csm.transactionQueue); assertNotNull(csm.hmiListener); assertNotNull(csm.onDisplayCapabilityListener); - assertNull(csm.pendingPresentOperation); } @After @@ -123,11 +112,8 @@ public class ChoiceSetManagerTests { assertNull(csm.currentHMILevel); assertNull(csm.currentSystemContext); assertNull(csm.defaultMainWindowCapability); - assertNull(csm.pendingPresentationSet); - assertNull(csm.pendingPresentOperation); assertEquals(csm.transactionQueue.getTasksAsList().size(), 0); - assertEquals(csm.nextChoiceId, 1); assertFalse(csm.isVROptional); @@ -160,12 +146,6 @@ public class ChoiceSetManagerTests { ChoiceSet choiceSet1 = new ChoiceSet("test", Collections.<ChoiceCell>emptyList(), choiceSetSelectionListener); assertFalse(csm.setUpChoiceSet(choiceSet1)); - // Identical cells will not be allowed - ChoiceCell cell1 = new ChoiceCell("test"); - ChoiceCell cell2 = new ChoiceCell("test"); - ChoiceSet choiceSet2 = new ChoiceSet("test", Arrays.asList(cell1, cell2), choiceSetSelectionListener); - assertFalse(csm.setUpChoiceSet(choiceSet2)); - // cells that have duplicate text will be allowed if there is another property to make them unique because a unique name will be assigned and used ChoiceCell cell3 = new ChoiceCell("test"); cell3.setSecondaryText("text 1"); @@ -208,103 +188,56 @@ public class ChoiceSetManagerTests { } @Test - public void testUpdateIdsOnChoices() { - + public void preloadChoicesAddsToQueue() { ChoiceCell cell1 = new ChoiceCell("test"); ChoiceCell cell2 = new ChoiceCell("test2"); ChoiceCell cell3 = new ChoiceCell("test3"); - LinkedHashSet<ChoiceCell> cellSet = new LinkedHashSet<>(); + ArrayList<ChoiceCell> cellSet = new ArrayList<>(); cellSet.add(cell1); cellSet.add(cell2); cellSet.add(cell3); - // Cells are initially set to MAX_ID - assertEquals(cell1.getChoiceId(), 2000000000); - assertEquals(cell2.getChoiceId(), 2000000000); - assertEquals(cell3.getChoiceId(), 2000000000); - csm.updateIdsOnChoices(cellSet); - // We are looking for unique IDs - assertNotSame(cell1.getChoiceId(), 2000000000); - assertNotSame(cell2.getChoiceId(), 2000000000); - assertNotSame(cell3.getChoiceId(), 2000000000); - } + csm.preloadChoices(cellSet, new CompletionListener() { + @Override + public void onComplete(boolean success) { - @Test - public void testAddUniqueNamesToCells() { - ChoiceCell cell1 = new ChoiceCell("McDonalds", "1 mile away", null, null, null, null); - ChoiceCell cell2 = new ChoiceCell("McDonalds", "2 mile away", null, null, null, null); - ChoiceCell cell3 = new ChoiceCell("Starbucks", "3 mile away", null, null, null, null); - ChoiceCell cell4 = new ChoiceCell("McDonalds", "4 mile away", null, null, null, null); - ChoiceCell cell5 = new ChoiceCell("Starbucks", "5 mile away", null, null, null, null); - ChoiceCell cell6 = new ChoiceCell("Meijer", "6 mile away", null, null, null, null); - List<ChoiceCell> cellList = new ArrayList<>(); - - cellList.add(cell1); - cellList.add(cell2); - cellList.add(cell3); - cellList.add(cell4); - cellList.add(cell5); - cellList.add(cell6); - - csm.addUniqueNamesToCells(cellList); - - assertEquals(cell1.getUniqueText(), "McDonalds"); - assertEquals(cell2.getUniqueText(), "McDonalds (2)"); - assertEquals(cell3.getUniqueText(), "Starbucks"); - assertEquals(cell4.getUniqueText(), "McDonalds (3)"); - assertEquals(cell5.getUniqueText(), "Starbucks (2)"); - assertEquals(cell6.getUniqueText(), "Meijer"); + } + }); + assertEquals(csm.transactionQueue.getTasksAsList().size(), 1); } @Test - public void testChoicesToBeRemovedFromPendingWithArray() { - - ChoiceCell cell1 = new ChoiceCell("test"); - ChoiceCell cell2 = new ChoiceCell("test2"); - ChoiceCell cell3 = new ChoiceCell("test3"); - - HashSet<ChoiceCell> pendingPreloadSet = new HashSet<>(); - pendingPreloadSet.add(cell1); - pendingPreloadSet.add(cell2); - pendingPreloadSet.add(cell3); - - csm.pendingPreloadChoices.clear(); - csm.pendingPreloadChoices = pendingPreloadSet; - - List<ChoiceCell> choices = new ArrayList<>(); - choices.add(cell2); - - HashSet<ChoiceCell> returnedChoices = csm.choicesToBeRemovedFromPendingWithArray(choices); + public void preloadChoicesQueueEmptyWhenNoChoiceCells() { + ArrayList<ChoiceCell> cellSet = new ArrayList<>(); + csm.preloadChoices(cellSet, new CompletionListener() { + @Override + public void onComplete(boolean success) { - assertEquals(returnedChoices.size(), 1); - for (ChoiceCell cell : returnedChoices) { - assertEquals(cell.getText(), "test2"); - } + } + }); + assertEquals(csm.transactionQueue.getTasksAsList().size(), 0); } @Test - public void testChoicesToBeUploadedWithArray() { - + public void testPreloadChoicesQueueEmptyIfFileManagerNull() { ChoiceCell cell1 = new ChoiceCell("test"); ChoiceCell cell2 = new ChoiceCell("test2"); ChoiceCell cell3 = new ChoiceCell("test3"); + ArrayList<ChoiceCell> cellSet = new ArrayList<>(); + cellSet.add(cell1); + cellSet.add(cell2); + cellSet.add(cell3); - HashSet<ChoiceCell> pendingDeleteSet = new HashSet<>(); - pendingDeleteSet.add(cell1); - pendingDeleteSet.add(cell2); - pendingDeleteSet.add(cell3); - - csm.preloadedChoices.clear(); - csm.preloadedChoices = pendingDeleteSet; - - List<ChoiceCell> choices = new ArrayList<>(); - choices.add(cell2); - - HashSet<ChoiceCell> returnedChoices = csm.choicesToBeDeletedWithArray(choices); + ISdl internalInterface = mock(ISdl.class); + when(internalInterface.getTaskmaster()).thenReturn(taskmaster); + FileManager fileManager = null; + ChoiceSetManager newCSM = new ChoiceSetManager(internalInterface, fileManager); + newCSM.preloadChoices(cellSet, new CompletionListener() { + @Override + public void onComplete(boolean success) { - assertEquals(returnedChoices.size(), 1); - for (ChoiceCell cell : returnedChoices) { - assertEquals(cell.getText(), "test2"); - } + } + }); + assertEquals(csm.transactionQueue.getTasksAsList().size(), 0); } @Test @@ -474,51 +407,4 @@ public class ChoiceSetManagerTests { verify(testKeyboardOp, times(0)).dismissKeyboard(); verify(testKeyboardOp2, times(1)).dismissKeyboard(); } - - @Test - public void testUniquenessForAvailableFields() { - WindowCapability windowCapability = new WindowCapability(); - TextField secondaryText = new TextField(); - secondaryText.setName(TextFieldName.secondaryText); - TextField tertiaryText = new TextField(); - tertiaryText.setName(TextFieldName.tertiaryText); - - List<TextField> textFields = new ArrayList<>(); - textFields.add(secondaryText); - textFields.add(tertiaryText); - windowCapability.setTextFields(textFields); - - ImageField choiceImage = new ImageField(); - choiceImage.setName(ImageFieldName.choiceImage); - ImageField choiceSecondaryImage = new ImageField(); - choiceSecondaryImage.setName(ImageFieldName.choiceSecondaryImage); - List<ImageField> imageFieldList = new ArrayList<>(); - imageFieldList.add(choiceImage); - imageFieldList.add(choiceSecondaryImage); - windowCapability.setImageFields(imageFieldList); - - csm.defaultMainWindowCapability = windowCapability; - - ChoiceCell cell1 = new ChoiceCell("Item 1", "null", "tertiaryText", null, TestValues.GENERAL_ARTWORK, TestValues.GENERAL_ARTWORK); - ChoiceCell cell2 = new ChoiceCell("Item 1", "null2", "tertiaryText2", null, null, null); - List<ChoiceCell> choiceCellList = new ArrayList<>(); - choiceCellList.add(cell1); - choiceCellList.add(cell2); - - List<ChoiceCell> removedProperties = csm.removeUnusedProperties(choiceCellList); - assertNotNull(removedProperties.get(0).getSecondaryText()); - - textFields.remove(secondaryText); - textFields.remove(tertiaryText); - imageFieldList.remove(choiceImage); - imageFieldList.remove(choiceSecondaryImage); - - removedProperties = csm.removeUnusedProperties(choiceCellList); - csm.addUniqueNamesBasedOnStrippedCells(removedProperties, choiceCellList); - assertEquals(choiceCellList.get(1).getUniqueText(), "Item 1 (2)"); - - - } - - } |