diff options
author | Kostiantyn Boskin <kostyaboskin@gmail.com> | 2020-08-11 21:31:18 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-11 14:31:18 -0400 |
commit | b40de485d587ddeac9be65ba91c142a125e976cd (patch) | |
tree | a565a6d346c4ddc140ed7737e8a7e90f9b5ecc88 /android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java | |
parent | 569aadfb5b9b20809080faedde0534f61e270283 (diff) | |
download | sdl_android-b40de485d587ddeac9be65ba91c142a125e976cd.tar.gz |
New vehicle data WindowStatus (#1396)
* [0261]
- Implement WindowState/WindowStatus structs
- Implement changes in proper requests responses related to new structs
* [0261]
- Fix tests
- Add new tests for WindowStatus/WindowState
- Fix updated Structs according to specification
* [0256]
- Update tests data after code review
- Add WindowStatus in Test.java
- Remove @NonNull from OnVehicleData
- Rename setVehicleDataResult --> setWindowStatus
* [0261]
- Extend testJsonConstructor with new tests
* [0261]
- Update tests after code review
* [0261]
- ValidateWindowStatuses --> ValidateWindowStatus
* [0261]
- Test --> TestValues
* [0261]
- 6.0.0 --> 7.0.0
* [0261]
- Regenerate using Generator
- Fix tests
* [0261]
- Rollback of formatting changes
* [0261]
- Fix compilation errors on merge
* [0261]
- Update javadoc
* Revert LF to CRLF line separators
Co-authored-by: kboskin <kboskin>
Co-authored-by: Vladyslav Mustafin <vmustafin@luxoft.com>
Diffstat (limited to 'android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java')
-rw-r--r-- | android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java index 990efa920..e13fac19b 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java @@ -17,6 +17,7 @@ import com.smartdevicelink.proxy.rpc.HeadLampStatus; import com.smartdevicelink.proxy.rpc.MyKey; import com.smartdevicelink.proxy.rpc.SingleTireStatus; import com.smartdevicelink.proxy.rpc.TireStatus; +import com.smartdevicelink.proxy.rpc.WindowStatus; import com.smartdevicelink.proxy.rpc.enums.TurnSignal; import com.smartdevicelink.test.BaseRpcTests; import com.smartdevicelink.test.JsonUtils; @@ -98,6 +99,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{ result.put(GetVehicleDataResponse.KEY_FUEL_RANGE, VehicleDataHelper.JSON_FUEL_RANGE); result.put(GetVehicleDataResponse.KEY_TURN_SIGNAL, VehicleDataHelper.TURN_SIGNAL); result.put(GetVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS); + result.put(GetVehicleDataResponse.KEY_WINDOW_STATUS, VehicleDataHelper.WINDOW_STATUS_LIST); result.put(GetVehicleDataResponse.KEY_HANDS_OFF_STEERING, VehicleDataHelper.HANDS_OFF_STEERING); result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE); } catch(JSONException e){ @@ -124,8 +126,10 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{ JSONObject clusterModeStatusObj = new JSONObject(); JSONObject myKeyObj = new JSONObject(); JSONObject fuelRangeObj = new JSONObject(); + JSONObject windowStatusObj = new JSONObject(); JSONArray fuelRangeArrayObj = new JSONArray(); - + JSONArray windowStatusArrayObj = new JSONArray(); + try { //set up the JSONObject to represent GetVehicleDataResponse //TIRE_PRESSURE @@ -250,6 +254,11 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{ fuelRangeObj.put(FuelRange.KEY_RANGE, VehicleDataHelper.FUEL_RANGE_RANGE); fuelRangeArrayObj.put(fuelRangeObj); + // WINDOW_STATUS + windowStatusObj.put(WindowStatus.KEY_LOCATION, VehicleDataHelper.LOCATION_GRID); + windowStatusObj.put(WindowStatus.KEY_STATE, VehicleDataHelper.WINDOW_STATE); + windowStatusArrayObj.put(windowStatusObj); + reference.put(GetVehicleDataResponse.KEY_SPEED, VehicleDataHelper.SPEED); reference.put(GetVehicleDataResponse.KEY_RPM, VehicleDataHelper.RPM); reference.put(GetVehicleDataResponse.KEY_EXTERNAL_TEMPERATURE, VehicleDataHelper.EXTERNAL_TEMPERATURE); @@ -279,8 +288,10 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{ reference.put(GetVehicleDataResponse.KEY_FUEL_RANGE, fuelRangeArrayObj); reference.put(GetVehicleDataResponse.KEY_TURN_SIGNAL, TurnSignal.OFF); reference.put(GetVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS); + reference.put(GetVehicleDataResponse.KEY_WINDOW_STATUS, windowStatusArrayObj); reference.put(GetVehicleDataResponse.KEY_HANDS_OFF_STEERING, VehicleDataHelper.HANDS_OFF_STEERING); reference.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE); + JSONObject underTest = msg.serializeJSON(); //go inside underTest and only return the JSONObject inside the parameters key inside the response key @@ -417,6 +428,26 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{ fuelRangeRefereceList, fuelRangeUnderTestList)); } + else if (key.equals(GetVehicleDataResponse.KEY_WINDOW_STATUS)) { + JSONArray windowStatusArrayObjReference = JsonUtils.readJsonArrayFromJsonObject(reference, key); + List<WindowStatus> windowStatusReferenceList = new ArrayList<>(); + for (int index = 0; index < windowStatusArrayObjReference.length(); index++) { + WindowStatus windowStatus = new WindowStatus(JsonRPCMarshaller.deserializeJSONObject( (JSONObject)windowStatusArrayObjReference.get(index) )); + windowStatusReferenceList.add(windowStatus); + } + + JSONArray windowStatusArrayObjTest = JsonUtils.readJsonArrayFromJsonObject(underTest, key); + List<WindowStatus> windowStatusUnderTestList = new ArrayList<>(); + for (int index = 0; index < windowStatusArrayObjTest.length(); index++) { + WindowStatus windowStatus = new WindowStatus(JsonRPCMarshaller.deserializeJSONObject( (JSONObject)windowStatusArrayObjTest.get(index) )); + windowStatusUnderTestList.add(windowStatus); + } + + assertTrue("JSON value didn't match expected value for key \"" + key + "\".", + Validator.validateWindowStatuses( + windowStatusReferenceList, + windowStatusUnderTestList)); + } else { assertEquals("JSON value didn't match expected value for key \"" + key + "\".", JsonUtils.readObjectFromJsonObject(reference, key), @@ -463,6 +494,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{ assertEquals(TestValues.MATCH, VehicleDataHelper.MY_KEY, ( (GetVehicleDataResponse) msg ).getMyKey()); assertEquals(TestValues.MATCH, VehicleDataHelper.TURN_SIGNAL, ( (GetVehicleDataResponse) msg ).getTurnSignal()); assertEquals(TestValues.MATCH, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS, ( (GetVehicleDataResponse) msg ).getElectronicParkBrakeStatus()); + assertEquals(TestValues.MATCH, VehicleDataHelper.WINDOW_STATUS_LIST, ( (GetVehicleDataResponse) msg ).getWindowStatus()); assertEquals(TestValues.MATCH, VehicleDataHelper.HANDS_OFF_STEERING, ( (GetVehicleDataResponse) msg ).getHandsOffSteering()); assertEquals(TestValues.MATCH, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE, ( (GetVehicleDataResponse) msg ).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME)); @@ -499,6 +531,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{ assertNull(TestValues.NULL, msg.getTurnSignal()); assertNull(TestValues.NULL, msg.getElectronicParkBrakeStatus()); assertNull(TestValues.NULL, msg.getHandsOffSteering()); + assertNull(TestValues.NULL, msg.getWindowStatus()); assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME)); } @@ -587,6 +620,15 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{ MyKey myKey = new MyKey(JsonRPCMarshaller.deserializeJSONObject(myKeyObj)); assertTrue(TestValues.TRUE, Validator.validateMyKey(myKey, cmd.getMyKey()) ); + JSONArray windowStatusArray = JsonUtils.readJsonArrayFromJsonObject(parameters, GetVehicleDataResponse.KEY_WINDOW_STATUS); + + List<WindowStatus> windowStatus = new ArrayList<>(); + for (int index = 0; index < windowStatusArray.length(); index++) { + WindowStatus status = new WindowStatus(JsonRPCMarshaller.deserializeJSONObject( (JSONObject)windowStatusArray.get(index)) ); + windowStatus.add(status); + } + assertTrue(TestValues.TRUE, Validator.validateWindowStatuses(windowStatus, cmd.getWindowStatus()) ); + assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, GetVehicleDataResponse.KEY_TURN_SIGNAL), cmd.getTurnSignal().toString()); assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, GetVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS), cmd.getElectronicParkBrakeStatus().toString()); assertEquals(TestValues.MATCH, JsonUtils.readStringFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME), cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME)); |