diff options
author | Bretty <brettywhite@users.noreply.github.com> | 2018-07-16 11:22:03 -0400 |
---|---|---|
committer | Joey Grover <joeygrover@gmail.com> | 2018-07-16 11:22:03 -0400 |
commit | 641370971f169459c5193365298286f435c4c81d (patch) | |
tree | bd651d5dc801a69b3acc4ec5bb56320c7ecbbd36 | |
parent | b5573a9ae7ef7adb5489a6b4f1714afd95b7ac61 (diff) | |
download | sdl_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
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 /** |