summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBretty <brettywhite@users.noreply.github.com>2018-07-16 11:22:03 -0400
committerJoey Grover <joeygrover@gmail.com>2018-07-16 11:22:03 -0400
commit641370971f169459c5193365298286f435c4c81d (patch)
treebd651d5dc801a69b3acc4ec5bb56320c7ecbbd36
parentb5573a9ae7ef7adb5489a6b4f1714afd95b7ac61 (diff)
downloadsdl_android-641370971f169459c5193365298286f435c4c81d.tar.gz
Add SDL Manager Tests (#812)
* start of sdlmanager tests. add manager builder method and test required params * add test contacts and refactor to allow access to protected methods * set all builder parameters in sdlmanagertests * add protected getters to sdlmanager class * start method to test manager setters * finished testing sdlmanager setters * collapse getters to match other getter methods in sdlmanager * added one getter test that was missed * remove local variable that was a class var
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/api/SdlManagerTests.java121
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java3
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/LockScreenManagerTest.java2
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java24
4 files changed, 148 insertions, 2 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/api/SdlManagerTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/api/SdlManagerTests.java
new file mode 100644
index 000000000..714f99abd
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/api/SdlManagerTests.java
@@ -0,0 +1,121 @@
+package com.smartdevicelink.api;
+
+import android.content.Context;
+import android.test.AndroidTestCase;
+
+import com.smartdevicelink.proxy.rpc.TTSChunk;
+import com.smartdevicelink.proxy.rpc.TemplateColorScheme;
+import com.smartdevicelink.proxy.rpc.enums.AppHMIType;
+import com.smartdevicelink.proxy.rpc.enums.Language;
+import com.smartdevicelink.proxy.rpc.enums.VrCapabilities;
+import com.smartdevicelink.test.Test;
+import com.smartdevicelink.transport.BaseTransportConfig;
+import com.smartdevicelink.transport.TCPTransportConfig;
+
+import java.util.Vector;
+
+/**
+ * This is a unit test class for the SmartDeviceLink library manager class :
+ * {@link com.smartdevicelink.api.SdlManager}
+ */
+public class SdlManagerTests extends AndroidTestCase {
+
+ public static final String TAG = "SdlManagerTests";
+ public static BaseTransportConfig transport = null;
+ private Context mTestContext;
+ private Vector<AppHMIType> appType;
+ private TemplateColorScheme templateColorScheme;
+
+ // transport related
+ @SuppressWarnings("FieldCanBeLocal")
+ private int TCP_PORT = 12345;
+ @SuppressWarnings("FieldCanBeLocal")
+ private String DEV_MACHINE_IP_ADDRESS = "0.0.0.0";
+
+ @Override
+ public void setUp() throws Exception{
+ super.setUp();
+
+ // set transport
+ transport = new TCPTransportConfig(TCP_PORT, DEV_MACHINE_IP_ADDRESS, true);
+
+ // add AppTypes
+ appType = new Vector<>();
+ appType.add(AppHMIType.DEFAULT);
+
+ // Color Scheme
+ templateColorScheme = new TemplateColorScheme();
+ templateColorScheme.setBackgroundColor(Test.GENERAL_RGBCOLOR);
+ templateColorScheme.setPrimaryColor(Test.GENERAL_RGBCOLOR);
+ templateColorScheme.setSecondaryColor(Test.GENERAL_RGBCOLOR);
+ }
+
+ @Override
+ public void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ // SETUP / HELPERS
+
+ private Context getTestContext() {
+ return mTestContext;
+ }
+
+ private SdlManager createSampleManager(String appName, String appId){
+
+ // build manager object - use all setters, will test using getters below
+ SdlManager.Builder builder = new SdlManager.Builder();
+ builder.setAppId(appId);
+ builder.setAppName(appName);
+ builder.setShortAppName(appName);
+ builder.setAppTypes(appType);
+ builder.setTransportType(transport);
+ builder.setContext(getTestContext());
+ builder.setLanguage(Language.EN_US);
+ builder.setDayColorScheme(templateColorScheme);
+ builder.setNightColorScheme(templateColorScheme);
+ builder.setVrSynonyms(Test.GENERAL_VECTOR_STRING);
+ builder.setTtsName(Test.GENERAL_VECTOR_TTS_CHUNKS);
+
+ return builder.build();
+ }
+
+ // TESTS
+
+ public void testNotNull(){
+ assertNotNull(createSampleManager("app","123456"));
+ }
+
+ public void testMissingAppName() {
+ try {
+ createSampleManager(null,"123456");
+ } catch (IllegalArgumentException ex) {
+ assertSame(ex.getMessage(), "You must specify an app name by calling setAppName");
+ }
+ }
+
+ public void testMissingAppId() {
+ try {
+ createSampleManager("app",null);
+ } catch (IllegalArgumentException ex) {
+ assertSame(ex.getMessage(), "You must specify an app ID by calling setAppId");
+ }
+ }
+
+ public void testManagerSetters() {
+
+ SdlManager manager = createSampleManager("heyApp", "123456");
+
+ assertEquals("123456", manager.getAppId());
+ assertEquals("heyApp", manager.getAppName());
+ assertEquals("heyApp", manager.getShortAppName());
+ assertEquals(appType, manager.getAppTypes());
+ assertEquals(Language.EN_US, manager.getHmiLanguage());
+ assertEquals(transport, manager.getTransport());
+ assertEquals(templateColorScheme, manager.getDayColorScheme());
+ assertEquals(templateColorScheme, manager.getNightColorScheme());
+ assertEquals(Test.GENERAL_VECTOR_STRING, manager.getVrSynonyms());
+ assertEquals(Test.GENERAL_VECTOR_TTS_CHUNKS, manager.getTtsChunks());
+ }
+
+}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java
index 7be0f805c..7af11b1fa 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java
@@ -137,6 +137,7 @@ import org.json.JSONObject;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Vector;
public class Test {
@@ -315,6 +316,8 @@ public class Test {
public static final List<VentilationMode> GENERAL_VENTILATIONMODE_LIST = Arrays.asList(new VentilationMode[]{VentilationMode.LOWER, VentilationMode.UPPER});
public static final List<ClimateControlCapabilities> GENERAL_CLIMATECONTROLCAPABILITIES_LIST = new ArrayList<ClimateControlCapabilities>(1);
public static final List<RadioControlCapabilities> GENERAL_RADIOCONTROLCAPABILITIES_LIST = new ArrayList<RadioControlCapabilities>(1);
+ public static final Vector<String> GENERAL_VECTOR_STRING = new Vector<>(Arrays.asList(new String[] { "a", "b"}));
+ public static final Vector<TTSChunk> GENERAL_VECTOR_TTS_CHUNKS = new Vector<>(Arrays.asList(TTSChunkFactory.createChunk(SpeechCapabilities.TEXT, "Welcome to the jungle")));
public static final JSONArray JSON_TURNS = new JSONArray();
public static final JSONArray JSON_CHOICES = new JSONArray();
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/LockScreenManagerTest.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/LockScreenManagerTest.java
index ceba82f36..1d02875b1 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/LockScreenManagerTest.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/LockScreenManagerTest.java
@@ -12,7 +12,7 @@ import com.smartdevicelink.test.Test;
* This is a unit test class for the SmartDeviceLink library project class :
* {@link com.smartdevicelink.proxy.LockScreenManager}
*/
-public class LockScreenManagerTest extends TestCase{
+public class LockScreenManagerTest extends TestCase {
/**
* This is a unit test for the following methods :
diff --git a/sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java b/sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java
index be51ebb41..5c2516969 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java
@@ -166,7 +166,7 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
* Sets the TemplateColorScheme for nighttime
* @param nightColorScheme
*/
- public Builder setnightColorScheme(final TemplateColorScheme nightColorScheme){
+ public Builder setNightColorScheme(final TemplateColorScheme nightColorScheme){
sdlManager.nightColorScheme = nightColorScheme;
return this;
}
@@ -289,6 +289,28 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
return permissionManager;
}*/
+ // PROTECTED GETTERS
+
+ protected String getAppName() { return appName; }
+
+ protected String getAppId() { return appId; }
+
+ protected String getShortAppName() { return shortAppName; }
+
+ protected Language getHmiLanguage() { return hmiLanguage; }
+
+ protected TemplateColorScheme getDayColorScheme() { return dayColorScheme; }
+
+ protected TemplateColorScheme getNightColorScheme() { return nightColorScheme; }
+
+ protected Vector<AppHMIType> getAppTypes() { return hmiTypes; }
+
+ protected Vector<String> getVrSynonyms() { return vrSynonyms; }
+
+ protected Vector<TTSChunk> getTtsChunks() { return ttsChunks; }
+
+ protected BaseTransportConfig getTransport() { return transport; }
+
// SENDING REQUESTS
/**