diff options
author | Joey Grover <joeygrover@gmail.com> | 2017-09-21 16:01:00 -0400 |
---|---|---|
committer | Joey Grover <joeygrover@gmail.com> | 2017-09-21 16:01:00 -0400 |
commit | 3f5db1af4f4f049ea0c63ee72472643801343261 (patch) | |
tree | 81d52e32507c2b324225432b1e2e2d6681b4d445 | |
parent | 36df1a9fa9ac8e7c0e54a5a919e7603e7f51905e (diff) | |
download | sdl_android-3f5db1af4f4f049ea0c63ee72472643801343261.tar.gz |
Add new static method to SCM that converts Object into List<?> and test for method
2 files changed, 34 insertions, 2 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java index c602e200a..d8c9c5055 100644 --- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java +++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java @@ -25,6 +25,8 @@ import com.smartdevicelink.util.CorrelationIdGenerator; import java.util.List; +import static android.R.id.list; + public class SystemCapabilityManagerTests extends AndroidTestCase { public static final String TAG = "SystemCapabilityManagerTests"; public static SystemCapabilityManager systemCapabilityManager; @@ -39,8 +41,8 @@ public class SystemCapabilityManagerTests extends AndroidTestCase { super.tearDown(); } - public void testParseRAI() { - systemCapabilityManager = new SystemCapabilityManager(new SystemCapabilityManager.ISystemCapabilityManager() { + public SystemCapabilityManager createSampleManager(){ + SystemCapabilityManager systemCapabilityManager = new SystemCapabilityManager(new SystemCapabilityManager.ISystemCapabilityManager() { @Override public void onSendPacketRequest(RPCRequest message) { @@ -59,6 +61,11 @@ public class SystemCapabilityManagerTests extends AndroidTestCase { raiResponse.setSpeechCapabilities(Test.GENERAL_SPEECHCAPABILITIES_LIST); systemCapabilityManager.parseRAIResponse(raiResponse); + return systemCapabilityManager; + } + + public void testParseRAI() { + systemCapabilityManager = createSampleManager(); assertTrue(Test.TRUE, Validator.validateHMICapabilities(Test.GENERAL_HMICAPABILITIES, (HMICapabilities) systemCapabilityManager.getCapability(SystemCapabilityType.HMI))); @@ -116,5 +123,15 @@ public class SystemCapabilityManagerTests extends AndroidTestCase { }); } + public void testListConversion(){ + SystemCapabilityManager systemCapabilityManager = createSampleManager(); + Object capability = systemCapabilityManager.getCapability(SystemCapabilityType.SOFTBUTTON); + assertNotNull(capability); + List<SoftButtonCapabilities> list = (List<SoftButtonCapabilities>)SystemCapabilityManager.convertToList(capability); + assertNotNull(list); + + + } + } diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java index 6776f15cb..43abd153f 100644 --- a/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java +++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java @@ -9,6 +9,7 @@ import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener; import com.smartdevicelink.util.CorrelationIdGenerator; import java.util.HashMap; +import java.util.List; public class SystemCapabilityManager { HashMap<SystemCapabilityType, Object> cachedSystemCapabilities = new HashMap<>(); @@ -86,4 +87,18 @@ public class SystemCapabilityManager { callback.onSendPacketRequest(request); } + + /** + * Converts a capability object into a list. + * @param object the capability that needs to be converted + * @return a List of capabilities if object is instance of List, otherwise it will return null. + */ + @SuppressWarnings({"unchecked"}) + public static List<?> convertToList(Object object){ + if(object instanceof List<?>){ + return (List<?>) object; + }else{ + return null; + } + } } |