Skip to content

Commit 494fee5

Browse files
kboskinVladyslav MustafinJulianKast
authored
[0253] New vehicle data StabilityControlsStatus (#1394)
* [0253] - VehicleDataType - Add StabilityControlsStatus - Implement changes in proper requests responses related to new structs * [0253] - Fix tests - Add new tests for StabilityControlsStatus - Fix updated Structs according to specification * [0253] - Add specific struct tests * [0253] - Rename StabilityControlStatus --> StabilityControlsStatus - Update missing tests - Remove useless constructor * [0266] - Test --> TestValues in multiple files * [0253] - Regenerate using generator - Fix formatting * [0253] - Rollback formatting changes - Change order of methods to make the diff clear * [0253] - Rollback of UnsubscribeVehicleDataResponse * [0253] - Rollback of UnsubscribeVehicleData * [0253] - Rollback of SubscribeVehicleDataResponse * [0253] - Rollback of SubscribeVehicleData * [0253] - Rollback of OnVehicleData * [0253] - Rollback of GetVehicleDataResponse * [0253] - Rollback of GetVehicleData * [0253] - Rollback of VehicleDataType * [0253] - Rollback of UnsubscribeVehicleData * [0253] - Fix VehicleDataType * [0253] - Fix compilation errors on merge * Revert LF to CRLF line separators * [0253] - Fix errors after merging dev * Update base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/StabilityControlsStatus.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/StabilityControlsStatus.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/StabilityControlsStatus.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/StabilityControlsStatus.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/StabilityControlsStatus.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/StabilityControlsStatus.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/StabilityControlsStatus.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * [0253] - Rename trailerSWayControl -> trailersWayControl Co-authored-by: kboskin <kboskin> Co-authored-by: Vladyslav Mustafin <vmustafin@luxoft.com> Co-authored-by: Julian Kast <Julian.kast@livio.io>
1 parent 35e14c2 commit 494fee5

24 files changed

Lines changed: 516 additions & 5 deletions

android/sdl_android/src/androidTest/assets/json/GetVehicleData.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@
3434
"electronicParkBrakeStatus":true,
3535
"gearStatus": true,
3636
"oemCustomVehicleDataName":true,
37-
"windowStatus": true
37+
"windowStatus": true,
38+
"stabilityControlsStatus": true
3839
}
3940
},
4041
"response":{
@@ -172,6 +173,10 @@
172173
"range":10.0
173174
}
174175
],
176+
"stabilityControlsStatus": {
177+
"escSystem": "ON",
178+
"trailerSwayControl": "OFF"
179+
},
175180
"oemCustomVehicleDataName":"oemCustomVehicleDataState",
176181
"gearStatus": {
177182
"userSelectedGear": "PARK",

android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"fuelRange":true,
3232
"turnSignal":true,
3333
"electronicParkBrakeStatus":true,
34+
"stabilityControlsStatus": true,
3435
"gearStatus": true,
3536
"oemCustomVehicleDataName":true,
3637
"windowStatus": true,
@@ -157,6 +158,10 @@
157158
"dataType":"VEHICLEDATA_HANDSOFFSTEERING",
158159
"resultCode":"SUCCESS"
159160
},
161+
"stabilityControlsStatus":{
162+
"dataType":"VEHICLEDATA_STABILITYCONTROLSSTATUS",
163+
"resultCode":"SUCCESS"
164+
},
160165
"gearStatus":{
161166
"dataType":"VEHICLEDATA_GEARSTATUS",
162167
"resultCode":"SUCCESS"

android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"fuelRange":true,
3232
"turnSignal":true,
3333
"electronicParkBrakeStatus":true,
34+
"stabilityControlsStatus": true,
3435
"handsOffSteering": true,
3536
"gearStatus": true,
3637
"oemCustomVehicleDataName":true,
@@ -161,6 +162,10 @@
161162
"dataType":"VEHICLEDATA_GEARSTATUS",
162163
"resultCode":"SUCCESS"
163164
},
165+
"stabilityControlsStatus":{
166+
"dataType":"VEHICLEDATA_STABILITYCONTROLSSTATUS",
167+
"resultCode":"SUCCESS"
168+
},
164169
"oemCustomVehicleDataName":{
165170
"oemCustomDataType":"oemCustomVehicleDataName",
166171
"resultCode":"SUCCESS"

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
import com.smartdevicelink.proxy.rpc.SisData;
9090
import com.smartdevicelink.proxy.rpc.SoftButton;
9191
import com.smartdevicelink.proxy.rpc.SoftButtonCapabilities;
92+
import com.smartdevicelink.proxy.rpc.StabilityControlsStatus;
9293
import com.smartdevicelink.proxy.rpc.StartTime;
9394
import com.smartdevicelink.proxy.rpc.StationIDNumber;
9495
import com.smartdevicelink.proxy.rpc.SystemCapability;
@@ -446,6 +447,9 @@ public class TestValues {
446447
public static final Grid GENERAL_GRID = new Grid();
447448
public static final SeatLocation GENERAL_SEAT_LOCATION = new SeatLocation();
448449
public static final ModuleInfo GENERAL_MODULE_INFO = new ModuleInfo();
450+
public static final StabilityControlsStatus GENERAL_STABILITY_CONTROL_STATUS = new StabilityControlsStatus();
451+
public static final VehicleDataStatus GENERAL_ESC_SYSTEM = VehicleDataStatus.ON;
452+
public static final VehicleDataStatus GENERAL_S_WAY_CONTROL = VehicleDataStatus.OFF;
449453
public static final WindowType GENERAL_WINDOWTYPE = WindowType.MAIN;
450454
public static final GearStatus GENERAL_GEAR_STATUS = new GearStatus();
451455
public static final PRNDL GENERAL_USER_SELECTED_GEAR = PRNDL.NEUTRAL;
@@ -1145,6 +1149,8 @@ public void onVoiceCommandSelected() {
11451149

11461150
GENERAL_WINDOW_STATUS.setLocation(TestValues.GENERAL_GRID);
11471151
GENERAL_WINDOW_STATUS.setState(TestValues.GENERAL_WINDOW_STATE);
1152+
GENERAL_STABILITY_CONTROL_STATUS.setEscSystem(GENERAL_ESC_SYSTEM);
1153+
GENERAL_STABILITY_CONTROL_STATUS.setTrailerSwayControl(GENERAL_S_WAY_CONTROL);
11481154

11491155
try {
11501156
JSON_HMIPERMISSIONS.put(HMIPermissions.KEY_ALLOWED, GENERAL_HMILEVEL_LIST);

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3907,4 +3907,24 @@ public static boolean validateWindowStates (WindowState item1, WindowState item2
39073907

39083908
return approxPosition1.equals(approxPosition2) && deviation1.equals(deviation2);
39093909
}
3910+
3911+
public static boolean validateStabilityControlStatus(StabilityControlsStatus status1, StabilityControlsStatus status2) {
3912+
if (status1 == null) {
3913+
return (status2 == null);
3914+
}
3915+
if (status2 == null) {
3916+
return (status2 == null);
3917+
}
3918+
return status1.getEscSystem().equals(status2.getEscSystem()) && status1.getTrailerSwayControl().equals(status2.getTrailerSwayControl());
3919+
}
3920+
3921+
public static boolean validateStabilityControlStatus(VehicleDataResult status1, VehicleDataResult status2) {
3922+
if (status1 == null) {
3923+
return (status2 == null);
3924+
}
3925+
if (status2 == null) {
3926+
return (status2 == null);
3927+
}
3928+
return status1.getDataType().equals(status2.getDataType()) && status1.getResultCode().equals(status2.getResultCode());
3929+
}
39103930
}

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.smartdevicelink.proxy.rpc.MyKey;
1717
import com.smartdevicelink.proxy.rpc.OnVehicleData;
1818
import com.smartdevicelink.proxy.rpc.SingleTireStatus;
19+
import com.smartdevicelink.proxy.rpc.StabilityControlsStatus;
1920
import com.smartdevicelink.proxy.rpc.TireStatus;
2021
import com.smartdevicelink.proxy.rpc.WindowState;
2122
import com.smartdevicelink.proxy.rpc.WindowStatus;
@@ -85,6 +86,7 @@ public class VehicleDataHelper{
8586
public static final List<FuelRange> FUEL_RANGE_LIST = new ArrayList<FuelRange>(1);
8687
public static final TurnSignal TURN_SIGNAL = TurnSignal.OFF;
8788
public static final ElectronicParkBrakeStatus ELECTRONIC_PARK_BRAKE_STATUS = ElectronicParkBrakeStatus.CLOSED;
89+
public static final StabilityControlsStatus STABILITY_CONTROLS_STATUS = new StabilityControlsStatus();
8890
public static final String OEM_CUSTOM_VEHICLE_DATA_STATE = "oemCustomVehicleDataState";
8991
public static final Boolean HANDS_OFF_STEERING = Boolean.TRUE;
9092

@@ -213,6 +215,10 @@ public class VehicleDataHelper{
213215
public static final Grid LOCATION_GRID = TestValues.GENERAL_LOCATION_GRID;
214216
public static final WindowState WINDOW_STATE = TestValues.GENERAL_WINDOW_STATE;
215217

218+
// stability control status
219+
public static final VehicleDataStatus ESC_SYSTEM = VehicleDataStatus.ON;
220+
public static final VehicleDataStatus S_WAY_TRAILER = VehicleDataStatus.OFF;
221+
216222
public static final JSONArray JSON_FUEL_RANGE = new JSONArray();
217223

218224
//the OnVehicleData which stores all the information above
@@ -358,6 +364,10 @@ public class VehicleDataHelper{
358364
e.printStackTrace();
359365
}
360366

367+
// STABILITY_CONTROLS_STATUS
368+
STABILITY_CONTROLS_STATUS.setEscSystem(VehicleDataStatus.ON);
369+
STABILITY_CONTROLS_STATUS.setTrailerSwayControl(VehicleDataStatus.OFF);
370+
361371
// GEAR_STATUS
362372
GEAR_STATUS.setTransmissionType(TRANSMISSION_TYPE);
363373
GEAR_STATUS.setUserSelectedGear(USER_SELECTED_GEAR);
@@ -395,6 +405,7 @@ public class VehicleDataHelper{
395405
VEHICLE_DATA.setElectronicParkBrakeStatus(ELECTRONIC_PARK_BRAKE_STATUS);
396406
VEHICLE_DATA.setGearStatus(GEAR_STATUS);
397407
VEHICLE_DATA.setWindowStatus(WINDOW_STATUS_LIST);
408+
VEHICLE_DATA.setStabilityControlsStatus(STABILITY_CONTROLS_STATUS);
398409
VEHICLE_DATA.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, OEM_CUSTOM_VEHICLE_DATA_STATE);
399410
VEHICLE_DATA.setHandsOffSteering(HANDS_OFF_STEERING);
400411
//set up the GetVehicleDataResponse object
@@ -429,6 +440,7 @@ public class VehicleDataHelper{
429440
VEHICLE_DATA_RESPONSE.setElectronicParkBrakeStatus(ELECTRONIC_PARK_BRAKE_STATUS);
430441
VEHICLE_DATA_RESPONSE.setGearStatus(GEAR_STATUS);
431442
VEHICLE_DATA_RESPONSE.setWindowStatus(WINDOW_STATUS_LIST);
443+
VEHICLE_DATA_RESPONSE.setStabilityControlsStatus(STABILITY_CONTROLS_STATUS);
432444
VEHICLE_DATA_RESPONSE.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, OEM_CUSTOM_VEHICLE_DATA_STATE);
433445
VEHICLE_DATA_RESPONSE.setHandsOffSteering(HANDS_OFF_STEERING);
434446
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package com.smartdevicelink.test.rpc.datatypes;
2+
3+
import com.smartdevicelink.proxy.rpc.StabilityControlsStatus;
4+
import com.smartdevicelink.proxy.rpc.enums.VehicleDataStatus;
5+
import com.smartdevicelink.test.JsonUtils;
6+
import com.smartdevicelink.test.TestValues;
7+
8+
import junit.framework.TestCase;
9+
10+
import org.json.JSONException;
11+
import org.json.JSONObject;
12+
13+
import java.util.Iterator;
14+
15+
public class StabilityControlsStatusTests extends TestCase {
16+
private StabilityControlsStatus msg;
17+
18+
@Override
19+
public void setUp() {
20+
msg = new StabilityControlsStatus();
21+
22+
msg.setEscSystem(TestValues.GENERAL_ESC_SYSTEM);
23+
msg.setTrailerSwayControl(TestValues.GENERAL_S_WAY_CONTROL);
24+
}
25+
26+
/**
27+
* Tests the expected values of the RPC message.
28+
*/
29+
public void testRpcValues () {
30+
// Test Values
31+
VehicleDataStatus esc = msg.getEscSystem();
32+
VehicleDataStatus sTrailer = msg.getTrailerSwayControl();
33+
34+
// Valid Tests
35+
assertEquals(TestValues.MATCH, TestValues.GENERAL_ESC_SYSTEM, esc);
36+
assertEquals(TestValues.MATCH, TestValues.GENERAL_S_WAY_CONTROL, sTrailer);
37+
}
38+
39+
public void testJson() {
40+
JSONObject reference = new JSONObject();
41+
42+
try {
43+
reference.put(StabilityControlsStatus.KEY_TRAILER_SWAY_CONTROL, TestValues.GENERAL_S_WAY_CONTROL);
44+
reference.put(StabilityControlsStatus.KEY_ESC_SYSTEM, TestValues.GENERAL_ESC_SYSTEM);
45+
46+
JSONObject underTest = msg.serializeJSON();
47+
assertEquals(TestValues.MATCH, reference.length(), underTest.length());
48+
49+
Iterator<?> iterator = reference.keys();
50+
while (iterator.hasNext()) {
51+
String key = (String) iterator.next();
52+
assertEquals(TestValues.MATCH, JsonUtils.readObjectFromJsonObject(reference, key), JsonUtils.readObjectFromJsonObject(underTest, key));
53+
}
54+
} catch (JSONException e) {
55+
fail(TestValues.JSON_FAIL);
56+
}
57+
}
58+
}

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public void testValidEnums () {
8888
VehicleDataType enumVehicleDataGearStatus= VehicleDataType.valueForString(example);
8989
example = "VEHICLEDATA_WINDOWSTATUS";
9090
VehicleDataType enumVehicleDataTypeWindowStatus= VehicleDataType.valueForString(example);
91+
example = "VEHICLEDATA_STABILITYCONTROLSSTATUS";
92+
VehicleDataType enumVehicleDataStabilityControlsStatus = VehicleDataType.valueForString(example);
9193

9294
assertNotNull("VEHICLEDATA_GPS returned null", enumVehicleDataGps);
9395
assertNotNull("VEHICLEDATA_SPEED returned null", enumVehicleDataSpeed);
@@ -124,6 +126,7 @@ public void testValidEnums () {
124126
assertNotNull("VEHICLEDATA_HANDSOFFSTEERING returned null", enumVehicleDataHandsOffSteeringType);
125127
assertNotNull("VEHICLEDATA_WINDOWSTATUS returned null", enumVehicleDataTypeWindowStatus);
126128
assertNotNull("VEHICLEDATA_GEARSTATUS returned null", enumVehicleDataGearStatus);
129+
assertNotNull("VEHICLEDATA_STABILITYCONTROLSSTATUS returned null", enumVehicleDataStabilityControlsStatus);
127130
}
128131

129132
/**
@@ -196,6 +199,7 @@ public void testListEnum() {
196199
enumTestList.add(VehicleDataType.VEHICLEDATA_HANDSOFFSTEERING);
197200
enumTestList.add(VehicleDataType.VEHICLEDATA_WINDOWSTATUS);
198201
enumTestList.add(VehicleDataType.VEHICLEDATA_GEARSTATUS);
202+
enumTestList.add(VehicleDataType.VEHICLEDATA_STABILITYCONTROLSSTATUS);
199203

200204
assertTrue("Enum value list does not match enum class list",
201205
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@
1313
import com.smartdevicelink.proxy.rpc.FuelRange;
1414
import com.smartdevicelink.proxy.rpc.GPSData;
1515
import com.smartdevicelink.proxy.rpc.GearStatus;
16+
import com.smartdevicelink.proxy.rpc.GetVehicleDataResponse;
1617
import com.smartdevicelink.proxy.rpc.HeadLampStatus;
1718
import com.smartdevicelink.proxy.rpc.MyKey;
1819
import com.smartdevicelink.proxy.rpc.OnVehicleData;
1920
import com.smartdevicelink.proxy.rpc.SingleTireStatus;
21+
import com.smartdevicelink.proxy.rpc.StabilityControlsStatus;
2022
import com.smartdevicelink.proxy.rpc.TireStatus;
2123
import com.smartdevicelink.proxy.rpc.WindowStatus;
2224
import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
@@ -104,6 +106,7 @@ protected JSONObject getExpectedParameters(int sdlVersion){
104106
result.put(OnVehicleData.KEY_HANDS_OFF_STEERING, VehicleDataHelper.HANDS_OFF_STEERING);
105107
result.put(OnVehicleData.KEY_GEAR_STATUS, VehicleDataHelper.GEAR_STATUS);
106108
result.put(OnVehicleData.KEY_WINDOW_STATUS, VehicleDataHelper.WINDOW_STATUS_LIST);
109+
result.put(OnVehicleData.KEY_STABILITY_CONTROLS_STATUS, VehicleDataHelper.STABILITY_CONTROLS_STATUS);
107110
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE);
108111
} catch(JSONException e) {
109112
fail(TestValues.JSON_FAIL);
@@ -149,6 +152,7 @@ public void testRpcValues () {
149152
TurnSignal turnSignal = ( (OnVehicleData) msg).getTurnSignal();
150153
ElectronicParkBrakeStatus electronicParkBrakeStatus = ( (OnVehicleData) msg).getElectronicParkBrakeStatus();
151154
GearStatus gearStatus = ( (OnVehicleData) msg).getGearStatus();
155+
StabilityControlsStatus stabilityControlsStatus = ( (OnVehicleData) msg).getStabilityControlsStatus();
152156
Object oemCustomVehicleData = ( (OnVehicleData) msg).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME);
153157
Boolean handsOffSteering = ( (OnVehicleData) msg).getHandsOffSteering();
154158
// Valid Tests
@@ -183,6 +187,7 @@ public void testRpcValues () {
183187
assertEquals(TestValues.MATCH, VehicleDataHelper.TURN_SIGNAL, turnSignal);
184188
assertEquals(TestValues.MATCH, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS, electronicParkBrakeStatus);
185189
assertEquals(TestValues.MATCH, VehicleDataHelper.GEAR_STATUS, gearStatus);
190+
assertEquals(TestValues.MATCH, VehicleDataHelper.STABILITY_CONTROLS_STATUS, stabilityControlsStatus);
186191
assertEquals(TestValues.MATCH, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE, oemCustomVehicleData);
187192
assertEquals(TestValues.MATCH, VehicleDataHelper.HANDS_OFF_STEERING, handsOffSteering);
188193
// Invalid/Null Tests
@@ -222,6 +227,7 @@ public void testRpcValues () {
222227
assertNull(TestValues.NULL, msg.getHandsOffSteering());
223228
assertNull(TestValues.NULL, msg.getWindowStatus());
224229
assertNull(TestValues.NULL, msg.getGearStatus());
230+
assertNull(TestValues.NULL, msg.getStabilityControlsStatus());
225231
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
226232
}
227233

@@ -244,8 +250,9 @@ public void testJson() {
244250
JSONObject fuelRangeObj = new JSONObject();
245251
JSONObject windowStatusObj = new JSONObject();
246252
JSONObject gearStatusObj = new JSONObject();
253+
JSONObject stabilityControlStatusObj = new JSONObject();
247254
JSONArray fuelRangeArrayObj = new JSONArray();
248-
JSONArray windowStatusArrayObj = new JSONArray();
255+
JSONArray windowStatusArrayObj = new JSONArray();
249256

250257
try {
251258
//Set up the JSONObject to represent OnVehicleData:
@@ -376,6 +383,10 @@ public void testJson() {
376383
fuelRangeObj.put(FuelRange.KEY_LEVEL_STATE, VehicleDataHelper.FUEL_RANGE_LEVEL_STATE);
377384
fuelRangeArrayObj.put(fuelRangeObj);
378385

386+
// STABILITY_CONTROLS_STATU
387+
stabilityControlStatusObj.put(StabilityControlsStatus.KEY_ESC_SYSTEM, VehicleDataHelper.ESC_SYSTEM);
388+
stabilityControlStatusObj.put(StabilityControlsStatus.KEY_TRAILER_SWAY_CONTROL, VehicleDataHelper.S_WAY_TRAILER);
389+
379390
// WINDOW_STATUS
380391
windowStatusObj.put(WindowStatus.KEY_LOCATION, VehicleDataHelper.LOCATION_GRID);
381392
windowStatusObj.put(WindowStatus.KEY_STATE, VehicleDataHelper.WINDOW_STATE);
@@ -418,6 +429,7 @@ public void testJson() {
418429
reference.put(OnVehicleData.KEY_HANDS_OFF_STEERING, VehicleDataHelper.HANDS_OFF_STEERING);
419430
reference.put(OnVehicleData.KEY_WINDOW_STATUS, windowStatusArrayObj);
420431
reference.put(OnVehicleData.KEY_GEAR_STATUS, gearStatusObj);
432+
reference.put(OnVehicleData.KEY_STABILITY_CONTROLS_STATUS, stabilityControlStatusObj);
421433
reference.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE);
422434

423435
JSONObject underTest = msg.serializeJSON();
@@ -565,6 +577,20 @@ else if (key.equals(OnVehicleData.KEY_FUEL_RANGE)) {
565577
windowStatusReferenceList,
566578
windowStatusUnderTestList));
567579
}
580+
else if (key.equals(GetVehicleDataResponse.KEY_STABILITY_CONTROLS_STATUS)) {
581+
JSONObject myKeyObjReference = JsonUtils.readJsonObjectFromJsonObject(reference, key);
582+
JSONObject myKeyObjTest = JsonUtils.readJsonObjectFromJsonObject(underTest, key);
583+
584+
StabilityControlsStatus status1 = new StabilityControlsStatus(JsonRPCMarshaller.deserializeJSONObject(myKeyObjReference));
585+
StabilityControlsStatus status2 = new StabilityControlsStatus(JsonRPCMarshaller.deserializeJSONObject(myKeyObjTest));
586+
587+
assertTrue("JSON value didn't match expected value for key \"" + key + "\".",
588+
Validator.validateStabilityControlStatus(
589+
status1,
590+
status2
591+
)
592+
);
593+
}
568594
else {
569595
assertEquals(TestValues.TRUE, JsonUtils.readObjectFromJsonObject(reference, key), JsonUtils.readObjectFromJsonObject(underTest, key));
570596
}

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ protected RPCMessage createMessage(){
6464
msg.setHandsOffSteering(TestValues.GENERAL_BOOLEAN);
6565
msg.setWindowStatus(TestValues.GENERAL_BOOLEAN);
6666
msg.setGearStatus(TestValues.GENERAL_BOOLEAN);
67+
msg.setStabilityControlsStatus(TestValues.GENERAL_BOOLEAN);
6768
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
6869

6970
return msg;
@@ -116,6 +117,7 @@ protected JSONObject getExpectedParameters(int sdlVersion){
116117
result.put(GetVehicleData.KEY_HANDS_OFF_STEERING, TestValues.GENERAL_BOOLEAN);
117118
result.put(GetVehicleData.KEY_GEAR_STATUS, TestValues.GENERAL_BOOLEAN);
118119
result.put(GetVehicleData.KEY_WINDOW_STATUS, TestValues.GENERAL_BOOLEAN);
120+
result.put(GetVehicleData.KEY_STABILITY_CONTROLS_STATUS, TestValues.GENERAL_BOOLEAN);
119121
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
120122
}catch(JSONException e){
121123
fail(TestValues.JSON_FAIL);
@@ -163,6 +165,7 @@ public void testRpcValues () {
163165
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getHandsOffSteering());
164166
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getWindowStatus());
165167
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getGearStatus());
168+
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getStabilityControlsStatus());
166169
assertTrue(TestValues.TRUE, ( (GetVehicleData) msg ).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
167170

168171
// Invalid/Null Tests
@@ -202,6 +205,7 @@ public void testRpcValues () {
202205
assertNull(TestValues.NULL, msg.getHandsOffSteering());
203206
assertNull(TestValues.NULL, msg.getWindowStatus());
204207
assertNull(TestValues.NULL, msg.getGearStatus());
208+
assertNull(TestValues.NULL, msg.getStabilityControlsStatus());
205209
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
206210
}
207211

@@ -257,6 +261,7 @@ public void testJsonConstructor () {
257261
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_HANDS_OFF_STEERING), cmd.getHandsOffSteering());
258262
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_WINDOW_STATUS), cmd.getWindowStatus());
259263
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_GEAR_STATUS), cmd.getGearStatus());
264+
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_STABILITY_CONTROLS_STATUS), cmd.getStabilityControlsStatus());
260265
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME), cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
261266
} catch (JSONException e) {
262267
fail(TestValues.JSON_FAIL);

0 commit comments

Comments
 (0)