summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett W <geekman3454@protonmail.com>2017-08-09 16:52:50 -0400
committerBrett W <geekman3454@protonmail.com>2017-08-09 16:52:50 -0400
commit06b184c3b5f1d123c7d7343132f5fdf49f7cf5c1 (patch)
tree767af638902ac8f0240b9e8040aa65c4633acdce
parent9636a1977e5e3b9413fd46766ba0f988209cdac1 (diff)
downloadsdl_android-06b184c3b5f1d123c7d7343132f5fdf49f7cf5c1.tar.gz
start of tests, not quite working
-rw-r--r--sdl_android/src/androidTest/assets/json/SendHapticData.json19
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SendHapticDataTests.java106
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/protocol/enums/FunctionID.java2
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SendHapticData.java3
4 files changed, 127 insertions, 3 deletions
diff --git a/sdl_android/src/androidTest/assets/json/SendHapticData.json b/sdl_android/src/androidTest/assets/json/SendHapticData.json
new file mode 100644
index 000000000..cde0d1d6c
--- /dev/null
+++ b/sdl_android/src/androidTest/assets/json/SendHapticData.json
@@ -0,0 +1,19 @@
+{
+ "request":{
+ "name":"SendHapticData",
+ "correlationID":1234,
+ "parameters":{
+ "hapticSpatialData":{
+ "height":100,
+ "x":100,
+ "width":100,
+ "y":100,
+ "id":100
+ }
+ }
+ },
+ "response":{
+ "name":"SendHapticData",
+ "correlationID":1234
+ }
+} \ No newline at end of file
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SendHapticDataTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SendHapticDataTests.java
new file mode 100644
index 000000000..797428387
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SendHapticDataTests.java
@@ -0,0 +1,106 @@
+package com.smartdevicelink.test.rpc.requests;
+
+import com.smartdevicelink.marshal.JsonRPCMarshaller;
+import com.smartdevicelink.protocol.enums.FunctionID;
+import com.smartdevicelink.proxy.RPCMessage;
+import com.smartdevicelink.proxy.rpc.SendHapticData;
+import com.smartdevicelink.proxy.rpc.SpatialStruct;
+import com.smartdevicelink.test.BaseRpcTests;
+import com.smartdevicelink.test.JsonUtils;
+import com.smartdevicelink.test.Test;
+import com.smartdevicelink.test.json.rpc.JsonFileReader;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.Hashtable;
+
+/**
+ * Created by brettywhite on 8/9/17.
+ */
+
+public class SendHapticDataTests extends BaseRpcTests {
+
+ private SpatialStruct spatialStruct;
+
+ @Override
+ protected RPCMessage createMessage(){
+ spatialStruct = new SpatialStruct();
+ spatialStruct.setID(Test.GENERAL_INT);
+ spatialStruct.setX(Test.GENERAL_FLOAT);
+ spatialStruct.setY(Test.GENERAL_FLOAT);
+ spatialStruct.setWidth(Test.GENERAL_FLOAT);
+ spatialStruct.setHeight(Test.GENERAL_FLOAT);
+
+ SendHapticData msg = new SendHapticData();
+ msg.setHapticSpatialData(spatialStruct);
+
+ return msg;
+ }
+
+ @Override
+ protected String getMessageType(){
+ return RPCMessage.KEY_REQUEST;
+ }
+
+ @Override
+ protected String getCommandType(){
+ return FunctionID.SEND_HAPTIC_DATA.toString();
+ }
+
+ @Override
+ protected JSONObject getExpectedParameters(int sdlVersion){
+ JSONObject result = new JSONObject();
+
+ try{
+ result.put(SendHapticData.KEY_HAPTIC_SPATIAL_DATA, spatialStruct.serializeJSON());
+ }catch(JSONException e){
+ fail(Test.JSON_FAIL);
+ }
+
+ return result;
+ }
+
+ /**
+ * Tests the expected values of the RPC message.
+ */
+ public void testRpcValues () {
+ // Test Values
+ SpatialStruct testSpatialStruct = ((SendHapticData) msg).getHapticSpatialData();
+
+ // Valid Tests
+ assertEquals(Test.MATCH, spatialStruct, testSpatialStruct);
+ // Invalid/Null Tests
+ SendHapticData msg = new SendHapticData();
+ assertNotNull(Test.NOT_NULL, msg);
+ testNullBase(msg);
+
+ assertNull(Test.NULL, msg.getHapticSpatialData());
+ }
+
+
+ /**
+ * Tests a valid JSON construction of this RPC message.
+ */
+ public void testJsonConstructor () {
+ JSONObject commandJson = JsonFileReader.readId(this.mContext, getCommandType(), getMessageType());
+ assertNotNull(Test.NOT_NULL, commandJson);
+
+ try {
+ Hashtable<String, Object> hash = JsonRPCMarshaller.deserializeJSONObject(commandJson);
+ SendHapticData cmd = new SendHapticData(hash);
+ JSONObject body = JsonUtils.readJsonObjectFromJsonObject(commandJson, getMessageType());
+ assertNotNull(Test.NOT_NULL, body);
+
+ // Test everything in the json body.
+ assertEquals(Test.MATCH, JsonUtils.readStringFromJsonObject(body, RPCMessage.KEY_FUNCTION_NAME), cmd.getFunctionName());
+ assertEquals(Test.MATCH, JsonUtils.readIntegerFromJsonObject(body, RPCMessage.KEY_CORRELATION_ID), cmd.getCorrelationID());
+
+ JSONObject parameters = JsonUtils.readJsonObjectFromJsonObject(body, RPCMessage.KEY_PARAMETERS);
+ assertEquals(Test.MATCH, JsonUtils.readStringFromJsonObject(parameters, SendHapticData.KEY_HAPTIC_SPATIAL_DATA), cmd.getHapticSpatialData().serializeJSON());
+ } catch (JSONException e) {
+ fail(Test.JSON_FAIL);
+ }
+ }
+
+}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/protocol/enums/FunctionID.java b/sdl_android/src/main/java/com/smartdevicelink/protocol/enums/FunctionID.java
index 5077041b3..06116c5b9 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/protocol/enums/FunctionID.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/protocol/enums/FunctionID.java
@@ -57,7 +57,7 @@ public enum FunctionID{
SUBSCRIBE_WAY_POINTS(46, "SubscribeWayPoints"),
UNSUBSCRIBE_WAY_POINTS(47, "UnsubscribeWayPoints"),
GET_SYSTEM_CAPABILITY(48, "GetSystemCapability"),
- SEND_HAPTIC_DATA(49, "SendHapticData");
+ SEND_HAPTIC_DATA(49, "SendHapticData"),
// NOTIFICATIONS
ON_HMI_STATUS(32768, "OnHMIStatus"),
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SendHapticData.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SendHapticData.java
index 3d5161c0c..b839eb30b 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SendHapticData.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SendHapticData.java
@@ -19,8 +19,7 @@ public class SendHapticData extends RPCRequest {
* Constructs a new SendHapticData object indicated by the Hashtable parameter
* </p>
*
- * @param hash
- * The Hashtable to use
+ * @param hash The Hashtable to use
*/
public SendHapticData(Hashtable<String, Object> hash){
super(hash);