Skip to content

Commit 56771c0

Browse files
kboskinVladyslav MustafinJulianKast
authored
[0256] Refactor Fuel Information Related Vehicle Data (#1392)
* [0256] - Add CapacityUnit - Refactor Fuel information - Fix tests * [0256] - Update tests data after code review - Add @deprecated annotation - Fix JavaDoc * [0256] - Update tests after code review - Change since X.x --> since 6.0 * [0256] - Regenerate using Generator * [0256] - Fix tests * [0256] - Rollback formatting changes - Change order of methods to make the diff clear * [0256] - Rollback of UnsubscribeVehicleData && SubscribeVehicleData * [0256] - Rollback of SubscribeVehicleData && SubscribeVehicleDataResponse * [0256] - Rollback of OnVehicleData && GetVehicleData/Response * [0256] - Rollback of VehicleDataType && FuelRange && SubscribeVehicleData * Revert LF to CRLF line separators * Rollback javadoc * [VideoStreaming] - Fix tests, fix compilation errors * [0256] - Remove unused setFuelLevel_State * [0256] - Remove unused setFuelLevel_State * Revert LF to CRLF line separators * Update base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * [0256] - Fix PR comments Co-authored-by: kboskin <kboskin> Co-authored-by: Vladyslav Mustafin <vmustafin@luxoft.com> Co-authored-by: Julian Kast <Julian.kast@livio.io>
1 parent ddd1008 commit 56771c0

17 files changed

Lines changed: 661 additions & 127 deletions

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@
125125
import com.smartdevicelink.proxy.rpc.enums.ButtonEventMode;
126126
import com.smartdevicelink.proxy.rpc.enums.ButtonName;
127127
import com.smartdevicelink.proxy.rpc.enums.ButtonPressMode;
128+
import com.smartdevicelink.proxy.rpc.enums.CapacityUnit;
128129
import com.smartdevicelink.proxy.rpc.enums.CarModeStatus;
129130
import com.smartdevicelink.proxy.rpc.enums.CharacterSet;
130131
import com.smartdevicelink.proxy.rpc.enums.CompassDirection;
@@ -335,6 +336,7 @@ public class TestValues {
335336
public static final VehicleDataResultCode GENERAL_VEHICLEDATARESULTCODE = VehicleDataResultCode.IGNORED;
336337
public static final ComponentVolumeStatus GENERAL_COMPONENTVOLUMESTATUS = ComponentVolumeStatus.LOW;
337338
public static final PresetBankCapabilities GENERAL_PRESETBANKCAPABILITIES = new PresetBankCapabilities();
339+
public static final CapacityUnit GENERAL_CAPACITYUNIT = CapacityUnit.KILOGRAMS;
338340
public static final VehicleDataEventStatus GENERAL_VEHCILEDATAEVENTSTATUS = VehicleDataEventStatus.YES;
339341
public static final VehicleDataEventStatus GENERAL_VEHICLEDATAEVENTSTATUS = VehicleDataEventStatus.YES;
340342
public static final TouchEventCapabilities GENERAL_TOUCHEVENTCAPABILITIES = new TouchEventCapabilities();

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

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2321,7 +2321,23 @@ public static boolean validateFuelRange (List<FuelRange> item1, List<FuelRange>
23212321
if (item1.get(i).getType() != item2.get(i).getType()) {
23222322
return false;
23232323
}
2324-
if (item1.get(i).getRange() != item2.get(i).getRange()) {
2324+
if (!item1.get(i).getRange().equals(item2.get(i).getRange())) {
2325+
return false;
2326+
}
2327+
2328+
if (!item1.get(i).getCapacity().equals(item2.get(i).getCapacity())) {
2329+
return false;
2330+
}
2331+
2332+
if (!item1.get(i).getCapacityUnit().equals(item2.get(i).getCapacityUnit())) {
2333+
return false;
2334+
}
2335+
2336+
if (!item1.get(i).getLevel().equals(item2.get(i).getLevel())) {
2337+
return false;
2338+
}
2339+
2340+
if (!item1.get(i).getLevelState().equals(item2.get(i).getLevelState())) {
23252341
return false;
23262342
}
23272343
}

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.smartdevicelink.proxy.rpc.WindowState;
2121
import com.smartdevicelink.proxy.rpc.WindowStatus;
2222
import com.smartdevicelink.proxy.rpc.enums.AmbientLightStatus;
23+
import com.smartdevicelink.proxy.rpc.enums.CapacityUnit;
2324
import com.smartdevicelink.proxy.rpc.enums.CarModeStatus;
2425
import com.smartdevicelink.proxy.rpc.enums.CompassDirection;
2526
import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
@@ -197,6 +198,10 @@ public class VehicleDataHelper{
197198
// fuel range
198199
public static final FuelType FUEL_RANGE_TYPE = FuelType.GASOLINE;
199200
public static final Float FUEL_RANGE_RANGE = TestValues.GENERAL_FLOAT;
201+
public static final Float FUEL_RANGE_CAPACITY = TestValues.GENERAL_FLOAT;
202+
public static final CapacityUnit FUEL_RANGE_CAPACITY_UNIT = TestValues.GENERAL_CAPACITYUNIT;
203+
public static final Float FUEL_RANGE_LEVEL = TestValues.GENERAL_FLOAT;
204+
public static final ComponentVolumeStatus FUEL_RANGE_LEVEL_STATE = TestValues.GENERAL_COMPONENTVOLUMESTATUS;
200205

201206
// Gear status
202207
public static final GearStatus GEAR_STATUS = new GearStatus();
@@ -336,6 +341,10 @@ public class VehicleDataHelper{
336341
// FUEL_RANGE and FUEL_RANGE_LIST set up
337342
FUEL_RANGE.setType(FUEL_RANGE_TYPE);
338343
FUEL_RANGE.setRange(FUEL_RANGE_RANGE);
344+
FUEL_RANGE.setCapacity(FUEL_RANGE_CAPACITY);
345+
FUEL_RANGE.setCapacityUnit(FUEL_RANGE_CAPACITY_UNIT);
346+
FUEL_RANGE.setLevel(FUEL_RANGE_LEVEL);
347+
FUEL_RANGE.setLevelState(FUEL_RANGE_LEVEL_STATE);
339348
FUEL_RANGE_LIST.add(FUEL_RANGE);
340349

341350
//WINDOW_STATUS and WINDOW_STATUS_LIST set up

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/FuelRangeTests.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.smartdevicelink.test.rpc.datatypes;
22

33
import com.smartdevicelink.proxy.rpc.FuelRange;
4+
import com.smartdevicelink.proxy.rpc.enums.CapacityUnit;
5+
import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
46
import com.smartdevicelink.proxy.rpc.enums.FuelType;
57
import com.smartdevicelink.test.JsonUtils;
68
import com.smartdevicelink.test.TestValues;
@@ -26,6 +28,10 @@ public void setUp(){
2628

2729
msg.setType(TestValues.GENERAL_FUELTYPE);
2830
msg.setRange(TestValues.GENERAL_FLOAT);
31+
msg.setLevel(TestValues.GENERAL_FLOAT);
32+
msg.setLevelState(TestValues.GENERAL_COMPONENTVOLUMESTATUS);
33+
msg.setCapacity(TestValues.GENERAL_FLOAT);
34+
msg.setCapacityUnit(TestValues.GENERAL_CAPACITYUNIT);
2935
}
3036

3137
/**
@@ -35,17 +41,29 @@ public void testRpcValues () {
3541
// Test Values
3642
FuelType fuelType = msg.getType();
3743
float range = msg.getRange();
38-
44+
float level = msg.getLevel();
45+
ComponentVolumeStatus levelState = msg.getLevelState();
46+
CapacityUnit capacityUnit = msg.getCapacityUnit();
47+
float capacity = msg.getCapacity();
48+
3949
// Valid Tests
4050
assertEquals(TestValues.MATCH, TestValues.GENERAL_FLOAT, range);
4151
assertEquals(TestValues.MATCH, TestValues.GENERAL_FUELTYPE, fuelType);
52+
assertEquals(TestValues.MATCH, TestValues.GENERAL_FLOAT, level);
53+
assertEquals(TestValues.MATCH, TestValues.GENERAL_COMPONENTVOLUMESTATUS, levelState);
54+
assertEquals(TestValues.MATCH, TestValues.GENERAL_CAPACITYUNIT, capacityUnit);
55+
assertEquals(TestValues.MATCH, TestValues.GENERAL_FLOAT, capacity);
4256

4357
// Invalid/Null Tests
4458
FuelRange msg = new FuelRange();
4559
assertNotNull(TestValues.NOT_NULL, msg);
4660

4761
assertNull(TestValues.NULL, msg.getType());
4862
assertNull(TestValues.NULL, msg.getRange());
63+
assertNull(TestValues.NULL, msg.getLevel());
64+
assertNull(TestValues.NULL, msg.getLevelState());
65+
assertNull(TestValues.NULL, msg.getCapacityUnit());
66+
assertNull(TestValues.NULL, msg.getCapacity());
4967
}
5068

5169
public void testJson(){
@@ -54,6 +72,10 @@ public void testJson(){
5472
try{
5573
reference.put(FuelRange.KEY_TYPE, TestValues.GENERAL_FUELTYPE);
5674
reference.put(FuelRange.KEY_RANGE, (Float) TestValues.GENERAL_FLOAT);
75+
reference.put(FuelRange.KEY_LEVEL, TestValues.GENERAL_FLOAT);
76+
reference.put(FuelRange.KEY_LEVEL_STATE, TestValues.GENERAL_COMPONENTVOLUMESTATUS);
77+
reference.put(FuelRange.KEY_CAPACITY, TestValues.GENERAL_FLOAT);
78+
reference.put(FuelRange.KEY_CAPACITY_UNIT, TestValues.GENERAL_CAPACITYUNIT);
5779

5880
JSONObject underTest = msg.serializeJSON();
5981
assertEquals(TestValues.MATCH, reference.length(), underTest.length());
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package com.smartdevicelink.test.rpc.enums;
2+
3+
import com.smartdevicelink.proxy.rpc.enums.CapacityUnit;
4+
5+
import junit.framework.TestCase;
6+
7+
import java.util.ArrayList;
8+
import java.util.Arrays;
9+
import java.util.List;
10+
11+
public class CapacityUnitTests extends TestCase {
12+
13+
/**
14+
* Verifies that the enum values are not null upon valid assignment.
15+
*/
16+
public void testValidEnums () {
17+
String example = "LITERS";
18+
CapacityUnit enumLiters = CapacityUnit.valueForString(example);
19+
example = "KILOWATTHOURS";
20+
CapacityUnit enumKWH = CapacityUnit.valueForString(example);
21+
example = "KILOGRAMS";
22+
CapacityUnit enumKilograms = CapacityUnit.valueForString(example);
23+
24+
assertNotNull("LITERS returned null", enumLiters);
25+
assertNotNull("KILOWATTHOURS returned null", enumKWH);
26+
assertNotNull("KILOGRAMS returned null", enumKilograms);
27+
}
28+
29+
/**
30+
* Verifies that an invalid assignment is null.
31+
*/
32+
public void testInvalidEnum () {
33+
String example = "lONg";
34+
try {
35+
CapacityUnit temp = CapacityUnit.valueForString(example);
36+
assertNull("Result of valueForString should be null.", temp);
37+
}
38+
catch (IllegalArgumentException exception) {
39+
fail("Invalid enum throws IllegalArgumentException.");
40+
}
41+
}
42+
43+
/**
44+
* Verifies that a null assignment is invalid.
45+
*/
46+
public void testNullEnum () {
47+
String example = null;
48+
try {
49+
CapacityUnit temp = CapacityUnit.valueForString(example);
50+
assertNull("Result of valueForString should be null.", temp);
51+
}
52+
catch (NullPointerException exception) {
53+
fail("Null string throws NullPointerException.");
54+
}
55+
}
56+
57+
/**
58+
* Verifies the possible enum values of ButtonPressMode.
59+
*/
60+
public void testListEnum() {
61+
List<CapacityUnit> enumValueList = Arrays.asList(CapacityUnit.values());
62+
63+
List<CapacityUnit> enumTestList = new ArrayList<CapacityUnit>();
64+
enumTestList.add(CapacityUnit.KILOGRAMS);
65+
enumTestList.add(CapacityUnit.KILOWATTHOURS);
66+
enumTestList.add(CapacityUnit.LITERS);
67+
68+
assertTrue("Enum value list does not match enum class list",
69+
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
70+
}
71+
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,10 @@ public void testJson() {
370370
// FUEL_RANGE
371371
fuelRangeObj.put(FuelRange.KEY_TYPE, VehicleDataHelper.FUEL_RANGE_TYPE);
372372
fuelRangeObj.put(FuelRange.KEY_RANGE, VehicleDataHelper.FUEL_RANGE_RANGE);
373+
fuelRangeObj.put(FuelRange.KEY_CAPACITY, VehicleDataHelper.FUEL_RANGE_CAPACITY);
374+
fuelRangeObj.put(FuelRange.KEY_CAPACITY_UNIT, VehicleDataHelper.FUEL_RANGE_CAPACITY_UNIT);
375+
fuelRangeObj.put(FuelRange.KEY_LEVEL, VehicleDataHelper.FUEL_RANGE_LEVEL);
376+
fuelRangeObj.put(FuelRange.KEY_LEVEL_STATE, VehicleDataHelper.FUEL_RANGE_LEVEL_STATE);
373377
fuelRangeArrayObj.put(fuelRangeObj);
374378

375379
// WINDOW_STATUS

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,10 @@ public void testJson() {
255255
// FUEL_RANGE
256256
fuelRangeObj.put(FuelRange.KEY_TYPE, VehicleDataHelper.FUEL_RANGE_TYPE);
257257
fuelRangeObj.put(FuelRange.KEY_RANGE, VehicleDataHelper.FUEL_RANGE_RANGE);
258+
fuelRangeObj.put(FuelRange.KEY_CAPACITY, VehicleDataHelper.FUEL_RANGE_CAPACITY);
259+
fuelRangeObj.put(FuelRange.KEY_CAPACITY_UNIT, VehicleDataHelper.FUEL_RANGE_CAPACITY_UNIT);
260+
fuelRangeObj.put(FuelRange.KEY_LEVEL, VehicleDataHelper.FUEL_RANGE_LEVEL);
261+
fuelRangeObj.put(FuelRange.KEY_LEVEL_STATE, VehicleDataHelper.FUEL_RANGE_LEVEL_STATE);
258262
fuelRangeArrayObj.put(fuelRangeObj);
259263

260264
//GEAR_STATUS

0 commit comments

Comments
 (0)