summaryrefslogtreecommitdiff
path: root/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/ChoiceSetManagerTests.java
diff options
context:
space:
mode:
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.java178
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)");
-
-
- }
-
-
}