summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikayla Ray <mikayla@livioconnect.com>2015-04-20 15:29:04 -0400
committerMikayla Ray <mikayla@livioconnect.com>2015-04-20 15:29:04 -0400
commit816b235854e26905d9659f262e66c3cae45f1c7d (patch)
tree081911e77aa2a792d6c3ea0aebd6934a621f1bb6
parent868f912f9a2834574c19e87b3d117d82cee653f8 (diff)
downloadsdl_android-816b235854e26905d9659f262e66c3cae45f1c7d.tar.gz
Added unit testing for RPCMessage class.
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java4
-rw-r--r--sdl_android_tests/src/com/smartdevicelink/test/proxy/RPCMessageTests.java59
2 files changed, 63 insertions, 0 deletions
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java b/sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java
index 000672488..1e633bf4a 100644
--- a/sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java
@@ -15,6 +15,10 @@ public class RPCStruct {
protected Hashtable<String, Object> store = null;
+ public boolean getStoreValue(String key) { // for unit testing
+ return store.contains(key);
+ }
+
public RPCStruct() {
store = new Hashtable<String, Object>();
}
diff --git a/sdl_android_tests/src/com/smartdevicelink/test/proxy/RPCMessageTests.java b/sdl_android_tests/src/com/smartdevicelink/test/proxy/RPCMessageTests.java
new file mode 100644
index 000000000..92b8ac744
--- /dev/null
+++ b/sdl_android_tests/src/com/smartdevicelink/test/proxy/RPCMessageTests.java
@@ -0,0 +1,59 @@
+package com.smartdevicelink.test.proxy;
+
+import java.util.Hashtable;
+
+import com.smartdevicelink.proxy.RPCMessage;
+
+import junit.framework.TestCase;
+
+public class RPCMessageTests extends TestCase {
+
+ private static RPCMessage msg = null;
+
+ public void testRPCMessage () {
+
+ assertNull("Null declared RPCMessage returned a value.", msg);
+
+ // Test -- RPCMessage(String functionName)
+ String testFunctionName = "FunctionName";
+ msg = new RPCMessage(testFunctionName);
+ assertNotNull("RPCMessage returned null", msg);
+ assertSame("Function name did not match expected value.", msg.getFunctionName(), testFunctionName);
+ assertTrue("Message type did not match expected value.", msg.getStoreValue(RPCMessage.KEY_REQUEST));
+
+ // Test -- RPCMessage(String functionName, String messageType)
+ msg = new RPCMessage(testFunctionName, RPCMessage.KEY_REQUEST);
+ assertNotNull("RPCMessage returned null", msg);
+ assertSame("Function name did not match expected value.", msg.getFunctionName(), testFunctionName);
+ assertSame("Message type did not match expected value.", RPCMessage.KEY_REQUEST, msg.getMessageType());
+ assertTrue("Message type was not valid, it should be.", msg.getStoreValue(RPCMessage.KEY_REQUEST));
+
+ msg = new RPCMessage(testFunctionName, RPCMessage.KEY_RESPONSE);
+ assertNotNull("RPCMessage returned null", msg);
+ assertSame("Function name did not match expected value.", msg.getFunctionName(), testFunctionName);
+ assertSame("Message type did not match expected value.", RPCMessage.KEY_RESPONSE, msg.getMessageType());
+ assertTrue("Message type was not valid, it should be.", msg.getStoreValue(RPCMessage.KEY_RESPONSE));
+
+ msg = new RPCMessage(testFunctionName, RPCMessage.KEY_NOTIFICATION);
+ assertNotNull("RPCMessage returned null", msg);
+ assertSame("Function name did not match expected value.", msg.getFunctionName(), testFunctionName);
+ assertSame("Message type did not match expected value.", RPCMessage.KEY_NOTIFICATION, msg.getMessageType());
+ assertTrue("Message type was not valid, it should be.", msg.getStoreValue(RPCMessage.KEY_NOTIFICATION));
+
+ // NOTE: There is no verification for function type or message type variables,
+ // so we cannot check against invalid data, including null values as it will
+ // crash in it's attempt to assign a null key in the hashtable.
+ // Function name and Message type should both have a check against null or invalid values.
+
+ // Test -- RPCMessage(Hashtable<String, Object> hash)
+ Hashtable<String, Object> testHash = new Hashtable<String, Object>();
+ testHash.put(RPCMessage.KEY_REQUEST, testFunctionName);
+ testHash.put(RPCMessage.KEY_FUNCTION_NAME, testFunctionName);
+ msg = new RPCMessage(testHash);
+ assertNotNull("RPCMessage returned null", msg);
+ assertSame("Function name did not match expected value.", msg.getFunctionName(), testFunctionName);
+ assertSame("Message type did not match expected value.", RPCMessage.KEY_REQUEST, msg.getMessageType());
+ assertTrue("Message type was not valid, it should be.", msg.getStoreValue(RPCMessage.KEY_REQUEST));
+
+ }
+} \ No newline at end of file