summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Kirk <askirk@umich.edu>2017-06-08 13:44:15 -0400
committerAustin Kirk <askirk@umich.edu>2017-06-08 13:44:15 -0400
commit180ef9e04e0020e3645130811e4b0a8bd902ed11 (patch)
tree220c9309d56338f4d9b5eba2fa2f7fa62032405a
parent12b978e9801f08320a2cc200456165a775da9fcc (diff)
downloadsdl_android-180ef9e04e0020e3645130811e4b0a8bd902ed11.tar.gz
Adding more tests cases and ensuring return null on Exception in RPCStructfeature/issue_513
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCMessageTests.java3
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCStructTests.java18
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/RPCStruct.java1
3 files changed, 22 insertions, 0 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCMessageTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCMessageTests.java
index e446b0d9d..51727bb66 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCMessageTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCMessageTests.java
@@ -83,6 +83,9 @@ public class RPCMessageTests extends TestCase {
testMessage.setParameters(longKey, testInt);
assertEquals(Test.MATCH, testMessage.getLong(longKey), new Long(testInt.longValue()));
+
+ testMessage.setParameters(longKey, testDouble);
+ assertNull(testMessage.getLong(longKey));
}
public void testGetObject(){
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCStructTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCStructTests.java
index 1dce94eb7..370d30979 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCStructTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCStructTests.java
@@ -82,6 +82,10 @@ public class RPCStructTests extends TestCase {
testStruct.setValue(longKey, testInt);
assertEquals(Test.MATCH, testStruct.getLong(longKey), new Long(testInt.longValue()));
+
+ testStruct.setValue(longKey, testDouble);
+
+ assertNull(testStruct.getLong(longKey));
}
public void testGetObject(){
@@ -137,4 +141,18 @@ public class RPCStructTests extends TestCase {
assertNull(testStruct.getObject(Image.class, keyAirbag)); // Test incorrect class
}
+
+ public void testGetObjectExceptions(){
+ String invalidKey = "invalid";
+ testStruct.setValue(invalidKey, new Hashtable<>());
+ assertNull(testStruct.getObject(Integer.class, invalidKey));
+
+ List<Hashtable<String, Object>> list = new ArrayList<>();
+ list.add(new Hashtable<String, Object>());
+ testStruct.setValue(invalidKey, list);
+ assertNull(testStruct.getObject(Integer.class, invalidKey));
+
+ testStruct.setValue(invalidKey, Test.GENERAL_STRING);
+ assertNull(testStruct.getObject(Integer.class, invalidKey));
+ }
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCStruct.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCStruct.java
index 7d3640c32..f1911b121 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCStruct.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCStruct.java
@@ -174,6 +174,7 @@ public class RPCStruct {
newList.add(constructor.newInstance((Hashtable<String, Object>)hashObj));
} catch (Exception e) {
e.printStackTrace();
+ return null;
}
}
return newList;