summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett W <geekman3454@protonmail.com>2017-08-25 13:44:01 -0400
committerBrett W <geekman3454@protonmail.com>2017-08-25 13:44:01 -0400
commit1972801da2ec8ca89ff692631fa8e61fde59e751 (patch)
tree8a0cba223a3d121f26c8b535c7e49a737059135e
parentea4455dcf501f33edb75cbcd44f2474d4b9de3b7 (diff)
downloadsdl_android-feature/sdl_0075_specific_HID_support.tar.gz
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java5
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java28
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/HapticRectTests.java29
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SendHapticDataTests.java37
4 files changed, 83 insertions, 16 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java
index b87881b0d..dd0984127 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java
@@ -11,6 +11,7 @@ import com.smartdevicelink.proxy.rpc.DIDResult;
import com.smartdevicelink.proxy.rpc.DeviceInfo;
import com.smartdevicelink.proxy.rpc.DisplayCapabilities;
import com.smartdevicelink.proxy.rpc.HMIPermissions;
+import com.smartdevicelink.proxy.rpc.HapticRect;
import com.smartdevicelink.proxy.rpc.Image;
import com.smartdevicelink.proxy.rpc.ImageField;
import com.smartdevicelink.proxy.rpc.ImageResolution;
@@ -217,6 +218,7 @@ public class Test {
public static final VideoStreamingCapability GENERAL_VIDEOSTREAMINGCAPABILITY = new VideoStreamingCapability();
public static final VideoStreamingFormat GENERAL_VIDEOSTREAMINGFORMAT = new VideoStreamingFormat();
public static final Rectangle GENERAL_RECTANGLE = new Rectangle();
+ public static final HapticRect GENERAL_HAPTIC_RECT = new HapticRect();
public static final List<Long> GENERAL_LONG_LIST = Arrays.asList(new Long[]{ 1L, 2L });
public static final List<Turn> GENERAL_TURN_LIST = new ArrayList<Turn>();
@@ -490,6 +492,9 @@ public class Test {
GENERAL_RECTANGLE.setY(GENERAL_FLOAT);
GENERAL_RECTANGLE.setWidth(GENERAL_FLOAT);
GENERAL_RECTANGLE.setHeight(GENERAL_FLOAT);
+
+ GENERAL_HAPTIC_RECT.setId(GENERAL_INTEGER);
+ GENERAL_HAPTIC_RECT.setRect(GENERAL_RECTANGLE);
try {
JSON_HMIPERMISSIONS.put(HMIPermissions.KEY_ALLOWED, GENERAL_HMILEVEL_LIST);
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
index ae64ec28b..966370e54 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
@@ -35,6 +35,7 @@ import com.smartdevicelink.proxy.rpc.OasisAddress;
import com.smartdevicelink.proxy.rpc.ParameterPermissions;
import com.smartdevicelink.proxy.rpc.PermissionItem;
import com.smartdevicelink.proxy.rpc.PresetBankCapabilities;
+import com.smartdevicelink.proxy.rpc.Rectangle;
import com.smartdevicelink.proxy.rpc.ScreenParams;
import com.smartdevicelink.proxy.rpc.SdlMsgVersion;
import com.smartdevicelink.proxy.rpc.SingleTireStatus;
@@ -320,6 +321,33 @@ public class Validator{
return true;
}
+ public static boolean validateRectangle(Rectangle c1, Rectangle c2){
+ if(c1 == null){
+ return ( c2 == null );
+ }
+ if(c2 == null){
+ return ( c1 == null );
+ }
+
+ if(c1.getX() != c2.getX()){
+ return false;
+ }
+
+ if(c1.getY() != c2.getY()){
+ return false;
+ }
+
+ if(c1.getWidth() != c2.getWidth()){
+ return false;
+ }
+
+ if(c1.getHeight() != c2.getHeight()){
+ return false;
+ }
+
+ return true;
+ }
+
public static boolean validateOasisAddress(OasisAddress a1, OasisAddress a2){
if(a1 == null){
return ( a2 == null );
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/HapticRectTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/HapticRectTests.java
index 649d5d954..c72204640 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/HapticRectTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/HapticRectTests.java
@@ -1,11 +1,17 @@
package com.smartdevicelink.test.rpc.datatypes;
+import com.smartdevicelink.marshal.JsonRPCMarshaller;
import com.smartdevicelink.proxy.rpc.HapticRect;
import com.smartdevicelink.proxy.rpc.Rectangle;
+import com.smartdevicelink.test.JsonUtils;
import com.smartdevicelink.test.Test;
+import com.smartdevicelink.test.Validator;
import junit.framework.TestCase;
+import org.json.JSONException;
+import org.json.JSONObject;
+
/**
* Created by brettywhite on 8/24/17.
*/
@@ -41,4 +47,27 @@ public class HapticRectTests extends TestCase {
assertNull(Test.NULL, msg.getId());
assertNull(Test.NULL, msg.getRect());
}
+
+ public void testJson(){
+ JSONObject reference = new JSONObject();
+
+ try{
+ reference.put(HapticRect.KEY_ID, Test.GENERAL_INTEGER);
+ reference.put(HapticRect.KEY_RECT, Test.GENERAL_RECTANGLE);
+
+ JSONObject underTest = msg.serializeJSON();
+ assertEquals(Test.MATCH, reference.length(), underTest.length());
+
+ assertEquals(Test.MATCH, JsonUtils.readIntegerFromJsonObject(reference, HapticRect.KEY_ID),
+ JsonUtils.readIntegerFromJsonObject(underTest, HapticRect.KEY_ID));
+
+ assertTrue(Validator.validateRectangle(
+ (Rectangle) JsonUtils.readObjectFromJsonObject(reference, HapticRect.KEY_RECT),
+ new Rectangle(JsonRPCMarshaller.deserializeJSONObject( (JSONObject) JsonUtils.readObjectFromJsonObject(underTest, HapticRect.KEY_RECT))))
+ );
+
+ } catch(JSONException e){
+ fail(Test.JSON_FAIL);
+ }
+ }
}
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
index b89c46358..7c3b0ed90 100644
--- 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
@@ -1,13 +1,14 @@
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.HapticRect;
import com.smartdevicelink.proxy.rpc.SendHapticData;
-import com.smartdevicelink.proxy.rpc.Rectangle;
import com.smartdevicelink.test.BaseRpcTests;
import com.smartdevicelink.test.Test;
+import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -20,20 +21,16 @@ import java.util.List;
public class SendHapticDataTests extends BaseRpcTests {
- private HapticRect hapticRect;
- private ArrayList<HapticRect> hapticArray;
+ private SendHapticData msg;
@Override
protected RPCMessage createMessage(){
- hapticRect = new HapticRect();
- hapticRect.setId(Test.GENERAL_INTEGER);
- hapticRect.setRect(Test.GENERAL_RECTANGLE);
+ msg = new SendHapticData();
- hapticArray = new ArrayList<HapticRect>();
- hapticArray.add(0,hapticRect);
+ List<HapticRect> list = new ArrayList<>();
+ list.add(Test.GENERAL_HAPTIC_RECT);
- SendHapticData msg = new SendHapticData();
- msg.setHapticRectData(hapticArray);
+ msg.setHapticRectData(list);
return msg;
}
@@ -52,10 +49,17 @@ public class SendHapticDataTests extends BaseRpcTests {
protected JSONObject getExpectedParameters(int sdlVersion){
JSONObject result = new JSONObject();
- try{
- result.put(SendHapticData.KEY_HAPTIC_RECT_DATA, hapticArray);
- }catch(JSONException e){
- fail(Test.JSON_FAIL);
+ JSONArray jsonArray = new JSONArray();
+ try {
+ jsonArray.put(JsonRPCMarshaller.serializeHashtable(Test.GENERAL_HAPTIC_RECT.getStore()));
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ try {
+ result.put(SendHapticData.KEY_HAPTIC_RECT_DATA, jsonArray);
+ } catch (JSONException e) {
+ e.printStackTrace();
}
return result;
@@ -66,10 +70,11 @@ public class SendHapticDataTests extends BaseRpcTests {
*/
public void testRpcValues () {
// Test Values
- List<HapticRect> hapticArray = ((SendHapticData) msg).getHapticRectData();
+ List<HapticRect> list = msg.getHapticRectData();
// Valid Tests
- assertEquals(Test.MATCH, hapticRect, hapticArray.get(0));
+ assertEquals(Test.MATCH, Test.GENERAL_HAPTIC_RECT, list.get(0));
+
// Invalid/Null Tests
SendHapticData msg = new SendHapticData();
assertNotNull(Test.NOT_NULL, msg);