diff options
author | Brett W <geekman3454@protonmail.com> | 2017-08-09 16:52:50 -0400 |
---|---|---|
committer | Brett W <geekman3454@protonmail.com> | 2017-08-09 16:52:50 -0400 |
commit | 06b184c3b5f1d123c7d7343132f5fdf49f7cf5c1 (patch) | |
tree | 767af638902ac8f0240b9e8040aa65c4633acdce | |
parent | 9636a1977e5e3b9413fd46766ba0f988209cdac1 (diff) | |
download | sdl_android-06b184c3b5f1d123c7d7343132f5fdf49f7cf5c1.tar.gz |
start of tests, not quite working
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); |