diff options
author | Brett W <geekman3454@protonmail.com> | 2017-08-25 13:44:01 -0400 |
---|---|---|
committer | Brett W <geekman3454@protonmail.com> | 2017-08-25 13:44:01 -0400 |
commit | 1972801da2ec8ca89ff692631fa8e61fde59e751 (patch) | |
tree | 8a0cba223a3d121f26c8b535c7e49a737059135e | |
parent | ea4455dcf501f33edb75cbcd44f2474d4b9de3b7 (diff) | |
download | sdl_android-feature/sdl_0075_specific_HID_support.tar.gz |
completed unit testsfeature/sdl_0075_specific_HID_support
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); |