diff options
author | Mikayla Ray <mikayla@livioconnect.com> | 2015-04-20 15:29:04 -0400 |
---|---|---|
committer | Mikayla Ray <mikayla@livioconnect.com> | 2015-04-20 15:29:04 -0400 |
commit | 816b235854e26905d9659f262e66c3cae45f1c7d (patch) | |
tree | 081911e77aa2a792d6c3ea0aebd6934a621f1bb6 | |
parent | 868f912f9a2834574c19e87b3d117d82cee653f8 (diff) | |
download | sdl_android-816b235854e26905d9659f262e66c3cae45f1c7d.tar.gz |
Added unit testing for RPCMessage class.
-rw-r--r-- | sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java | 4 | ||||
-rw-r--r-- | sdl_android_tests/src/com/smartdevicelink/test/proxy/RPCMessageTests.java | 59 |
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 |