diff --git a/lib/js/src/rpc/enums/VehicleDataType.js b/lib/js/src/rpc/enums/VehicleDataType.js index 70dd1af8..69de58b9 100644 --- a/lib/js/src/rpc/enums/VehicleDataType.js +++ b/lib/js/src/rpc/enums/VehicleDataType.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ /* -* Copyright (c) 2020, SmartDeviceLink Consortium, Inc. +* Copyright (c) 2021, SmartDeviceLink Consortium, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -97,8 +97,19 @@ class VehicleDataType extends Enum { return VehicleDataType._MAP.VEHICLEDATA_FUELCONSUMPTION; } + /** + * Get the enum value for VEHICLEDATA_CLIMATEDATA. + * @since SmartDeviceLink 7.1.0 + * @returns {String} - The enum value. + */ + static get VEHICLEDATA_CLIMATEDATA () { + return VehicleDataType._MAP.VEHICLEDATA_CLIMATEDATA; + } + /** * Get the enum value for VEHICLEDATA_EXTERNTEMP. + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 * @returns {String} - The enum value. */ static get VEHICLEDATA_EXTERNTEMP () { @@ -390,6 +401,7 @@ VehicleDataType._MAP = Object.freeze({ 'VEHICLEDATA_FUELLEVEL': 'VEHICLEDATA_FUELLEVEL', 'VEHICLEDATA_FUELLEVEL_STATE': 'VEHICLEDATA_FUELLEVEL_STATE', 'VEHICLEDATA_FUELCONSUMPTION': 'VEHICLEDATA_FUELCONSUMPTION', + 'VEHICLEDATA_CLIMATEDATA': 'VEHICLEDATA_CLIMATEDATA', 'VEHICLEDATA_EXTERNTEMP': 'VEHICLEDATA_EXTERNTEMP', 'VEHICLEDATA_VIN': 'VEHICLEDATA_VIN', 'VEHICLEDATA_GEARSTATUS': 'VEHICLEDATA_GEARSTATUS', diff --git a/lib/js/src/rpc/messages/GetVehicleData.js b/lib/js/src/rpc/messages/GetVehicleData.js index 0f2f3af8..4a56b0b6 100644 --- a/lib/js/src/rpc/messages/GetVehicleData.js +++ b/lib/js/src/rpc/messages/GetVehicleData.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ /* -* Copyright (c) 2020, SmartDeviceLink Consortium, Inc. +* Copyright (c) 2021, SmartDeviceLink Consortium, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -204,9 +204,30 @@ class GetVehicleData extends RpcRequest { return this.getParameter(GetVehicleData.KEY_FUEL_RANGE); } + /** + * Set the ClimateData + * @since SmartDeviceLink 7.1.0 + * @param {Boolean} data - See ClimateData - The desired ClimateData. + * @returns {GetVehicleData} - The class instance for method chaining. + */ + setClimateData (data) { + this.setParameter(GetVehicleData.KEY_CLIMATE_DATA, data); + return this; + } + + /** + * Get the ClimateData + * @returns {Boolean} - the KEY_CLIMATE_DATA value + */ + getClimateData () { + return this.getParameter(GetVehicleData.KEY_CLIMATE_DATA); + } + /** * Set the ExternalTemperature - * @param {Boolean} temperature - The external temperature in degrees celsius - The desired ExternalTemperature. + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 + * @param {Boolean} temperature - The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData. - The desired ExternalTemperature. * @returns {GetVehicleData} - The class instance for method chaining. */ setExternalTemperature (temperature) { @@ -216,6 +237,8 @@ class GetVehicleData extends RpcRequest { /** * Get the ExternalTemperature + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 * @returns {Boolean} - the KEY_EXTERNAL_TEMPERATURE value */ getExternalTemperature () { @@ -727,6 +750,7 @@ GetVehicleData.KEY_FUEL_LEVEL = 'fuelLevel'; GetVehicleData.KEY_FUEL_LEVEL_STATE = 'fuelLevel_State'; GetVehicleData.KEY_INSTANT_FUEL_CONSUMPTION = 'instantFuelConsumption'; GetVehicleData.KEY_FUEL_RANGE = 'fuelRange'; +GetVehicleData.KEY_CLIMATE_DATA = 'climateData'; GetVehicleData.KEY_EXTERNAL_TEMPERATURE = 'externalTemperature'; GetVehicleData.KEY_TURN_SIGNAL = 'turnSignal'; GetVehicleData.KEY_VIN = 'vin'; diff --git a/lib/js/src/rpc/messages/GetVehicleDataResponse.js b/lib/js/src/rpc/messages/GetVehicleDataResponse.js index 57416f1e..3a1e737a 100644 --- a/lib/js/src/rpc/messages/GetVehicleDataResponse.js +++ b/lib/js/src/rpc/messages/GetVehicleDataResponse.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ /* -* Copyright (c) 2020, SmartDeviceLink Consortium, Inc. +* Copyright (c) 2021, SmartDeviceLink Consortium, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,6 +34,7 @@ import { AirbagStatus } from '../structs/AirbagStatus.js'; import { BeltStatus } from '../structs/BeltStatus.js'; import { BodyInformation } from '../structs/BodyInformation.js'; +import { ClimateData } from '../structs/ClimateData.js'; import { ClusterModeStatus } from '../structs/ClusterModeStatus.js'; import { ComponentVolumeStatus } from '../enums/ComponentVolumeStatus.js'; import { DeviceStatus } from '../structs/DeviceStatus.js'; @@ -231,9 +232,31 @@ class GetVehicleDataResponse extends RpcResponse { return this.getObject(FuelRange, GetVehicleDataResponse.KEY_FUEL_RANGE); } + /** + * Set the ClimateData + * @since SmartDeviceLink 7.1.0 + * @param {ClimateData} data - See ClimateData - The desired ClimateData. + * @returns {GetVehicleDataResponse} - The class instance for method chaining. + */ + setClimateData (data) { + this._validateType(ClimateData, data); + this.setParameter(GetVehicleDataResponse.KEY_CLIMATE_DATA, data); + return this; + } + + /** + * Get the ClimateData + * @returns {ClimateData} - the KEY_CLIMATE_DATA value + */ + getClimateData () { + return this.getObject(ClimateData, GetVehicleDataResponse.KEY_CLIMATE_DATA); + } + /** * Set the ExternalTemperature - * @param {Number} temperature - The external temperature in degrees celsius - The desired ExternalTemperature. + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 + * @param {Number} temperature - The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData. - The desired ExternalTemperature. * {'num_min_value': -40.0, 'num_max_value': 100.0} * @returns {GetVehicleDataResponse} - The class instance for method chaining. */ @@ -244,6 +267,8 @@ class GetVehicleDataResponse extends RpcResponse { /** * Get the ExternalTemperature + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 * @returns {Number} - the KEY_EXTERNAL_TEMPERATURE value */ getExternalTemperature () { @@ -782,6 +807,7 @@ GetVehicleDataResponse.KEY_FUEL_LEVEL = 'fuelLevel'; GetVehicleDataResponse.KEY_FUEL_LEVEL_STATE = 'fuelLevel_State'; GetVehicleDataResponse.KEY_INSTANT_FUEL_CONSUMPTION = 'instantFuelConsumption'; GetVehicleDataResponse.KEY_FUEL_RANGE = 'fuelRange'; +GetVehicleDataResponse.KEY_CLIMATE_DATA = 'climateData'; GetVehicleDataResponse.KEY_EXTERNAL_TEMPERATURE = 'externalTemperature'; GetVehicleDataResponse.KEY_TURN_SIGNAL = 'turnSignal'; GetVehicleDataResponse.KEY_VIN = 'vin'; diff --git a/lib/js/src/rpc/messages/OnVehicleData.js b/lib/js/src/rpc/messages/OnVehicleData.js index e63b0ec2..52c2dc14 100644 --- a/lib/js/src/rpc/messages/OnVehicleData.js +++ b/lib/js/src/rpc/messages/OnVehicleData.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ /* -* Copyright (c) 2020, SmartDeviceLink Consortium, Inc. +* Copyright (c) 2021, SmartDeviceLink Consortium, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,6 +34,7 @@ import { AirbagStatus } from '../structs/AirbagStatus.js'; import { BeltStatus } from '../structs/BeltStatus.js'; import { BodyInformation } from '../structs/BodyInformation.js'; +import { ClimateData } from '../structs/ClimateData.js'; import { ClusterModeStatus } from '../structs/ClusterModeStatus.js'; import { ComponentVolumeStatus } from '../enums/ComponentVolumeStatus.js'; import { DeviceStatus } from '../structs/DeviceStatus.js'; @@ -210,9 +211,31 @@ class OnVehicleData extends RpcNotification { return this.getObject(FuelRange, OnVehicleData.KEY_FUEL_RANGE); } + /** + * Set the ClimateData + * @since SmartDeviceLink 7.1.0 + * @param {ClimateData} data - See ClimateData - The desired ClimateData. + * @returns {OnVehicleData} - The class instance for method chaining. + */ + setClimateData (data) { + this._validateType(ClimateData, data); + this.setParameter(OnVehicleData.KEY_CLIMATE_DATA, data); + return this; + } + + /** + * Get the ClimateData + * @returns {ClimateData} - the KEY_CLIMATE_DATA value + */ + getClimateData () { + return this.getObject(ClimateData, OnVehicleData.KEY_CLIMATE_DATA); + } + /** * Set the ExternalTemperature - * @param {Number} temperature - The external temperature in degrees celsius - The desired ExternalTemperature. + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 + * @param {Number} temperature - The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData. - The desired ExternalTemperature. * {'num_min_value': -40.0, 'num_max_value': 100.0} * @returns {OnVehicleData} - The class instance for method chaining. */ @@ -223,6 +246,8 @@ class OnVehicleData extends RpcNotification { /** * Get the ExternalTemperature + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 * @returns {Number} - the KEY_EXTERNAL_TEMPERATURE value */ getExternalTemperature () { @@ -761,6 +786,7 @@ OnVehicleData.KEY_FUEL_LEVEL = 'fuelLevel'; OnVehicleData.KEY_FUEL_LEVEL_STATE = 'fuelLevel_State'; OnVehicleData.KEY_INSTANT_FUEL_CONSUMPTION = 'instantFuelConsumption'; OnVehicleData.KEY_FUEL_RANGE = 'fuelRange'; +OnVehicleData.KEY_CLIMATE_DATA = 'climateData'; OnVehicleData.KEY_EXTERNAL_TEMPERATURE = 'externalTemperature'; OnVehicleData.KEY_TURN_SIGNAL = 'turnSignal'; OnVehicleData.KEY_VIN = 'vin'; diff --git a/lib/js/src/rpc/messages/SubscribeVehicleData.js b/lib/js/src/rpc/messages/SubscribeVehicleData.js index a88b9f3d..94ee526b 100644 --- a/lib/js/src/rpc/messages/SubscribeVehicleData.js +++ b/lib/js/src/rpc/messages/SubscribeVehicleData.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ /* -* Copyright (c) 2020, SmartDeviceLink Consortium, Inc. +* Copyright (c) 2021, SmartDeviceLink Consortium, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -204,9 +204,30 @@ class SubscribeVehicleData extends RpcRequest { return this.getParameter(SubscribeVehicleData.KEY_FUEL_RANGE); } + /** + * Set the ClimateData + * @since SmartDeviceLink 7.1.0 + * @param {Boolean} data - See ClimateData - The desired ClimateData. + * @returns {SubscribeVehicleData} - The class instance for method chaining. + */ + setClimateData (data) { + this.setParameter(SubscribeVehicleData.KEY_CLIMATE_DATA, data); + return this; + } + + /** + * Get the ClimateData + * @returns {Boolean} - the KEY_CLIMATE_DATA value + */ + getClimateData () { + return this.getParameter(SubscribeVehicleData.KEY_CLIMATE_DATA); + } + /** * Set the ExternalTemperature - * @param {Boolean} temperature - The external temperature in degrees celsius - The desired ExternalTemperature. + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 + * @param {Boolean} temperature - The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData. - The desired ExternalTemperature. * @returns {SubscribeVehicleData} - The class instance for method chaining. */ setExternalTemperature (temperature) { @@ -216,6 +237,8 @@ class SubscribeVehicleData extends RpcRequest { /** * Get the ExternalTemperature + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 * @returns {Boolean} - the KEY_EXTERNAL_TEMPERATURE value */ getExternalTemperature () { @@ -709,6 +732,7 @@ SubscribeVehicleData.KEY_FUEL_LEVEL = 'fuelLevel'; SubscribeVehicleData.KEY_FUEL_LEVEL_STATE = 'fuelLevel_State'; SubscribeVehicleData.KEY_INSTANT_FUEL_CONSUMPTION = 'instantFuelConsumption'; SubscribeVehicleData.KEY_FUEL_RANGE = 'fuelRange'; +SubscribeVehicleData.KEY_CLIMATE_DATA = 'climateData'; SubscribeVehicleData.KEY_EXTERNAL_TEMPERATURE = 'externalTemperature'; SubscribeVehicleData.KEY_TURN_SIGNAL = 'turnSignal'; SubscribeVehicleData.KEY_GEAR_STATUS = 'gearStatus'; diff --git a/lib/js/src/rpc/messages/SubscribeVehicleDataResponse.js b/lib/js/src/rpc/messages/SubscribeVehicleDataResponse.js index ff73123a..1c456e72 100644 --- a/lib/js/src/rpc/messages/SubscribeVehicleDataResponse.js +++ b/lib/js/src/rpc/messages/SubscribeVehicleDataResponse.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ /* -* Copyright (c) 2020, SmartDeviceLink Consortium, Inc. +* Copyright (c) 2021, SmartDeviceLink Consortium, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -209,9 +209,31 @@ class SubscribeVehicleDataResponse extends RpcResponse { return this.getObject(VehicleDataResult, SubscribeVehicleDataResponse.KEY_FUEL_RANGE); } + /** + * Set the ClimateData + * @since SmartDeviceLink 7.1.0 + * @param {VehicleDataResult} data - See ClimateData - The desired ClimateData. + * @returns {SubscribeVehicleDataResponse} - The class instance for method chaining. + */ + setClimateData (data) { + this._validateType(VehicleDataResult, data); + this.setParameter(SubscribeVehicleDataResponse.KEY_CLIMATE_DATA, data); + return this; + } + + /** + * Get the ClimateData + * @returns {VehicleDataResult} - the KEY_CLIMATE_DATA value + */ + getClimateData () { + return this.getObject(VehicleDataResult, SubscribeVehicleDataResponse.KEY_CLIMATE_DATA); + } + /** * Set the ExternalTemperature - * @param {VehicleDataResult} temperature - The external temperature in degrees celsius. - The desired ExternalTemperature. + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 + * @param {VehicleDataResult} temperature - The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData. - The desired ExternalTemperature. * @returns {SubscribeVehicleDataResponse} - The class instance for method chaining. */ setExternalTemperature (temperature) { @@ -222,6 +244,8 @@ class SubscribeVehicleDataResponse extends RpcResponse { /** * Get the ExternalTemperature + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 * @returns {VehicleDataResult} - the KEY_EXTERNAL_TEMPERATURE value */ getExternalTemperature () { @@ -741,6 +765,7 @@ SubscribeVehicleDataResponse.KEY_FUEL_LEVEL = 'fuelLevel'; SubscribeVehicleDataResponse.KEY_FUEL_LEVEL_STATE = 'fuelLevel_State'; SubscribeVehicleDataResponse.KEY_INSTANT_FUEL_CONSUMPTION = 'instantFuelConsumption'; SubscribeVehicleDataResponse.KEY_FUEL_RANGE = 'fuelRange'; +SubscribeVehicleDataResponse.KEY_CLIMATE_DATA = 'climateData'; SubscribeVehicleDataResponse.KEY_EXTERNAL_TEMPERATURE = 'externalTemperature'; SubscribeVehicleDataResponse.KEY_TURN_SIGNAL = 'turnSignal'; SubscribeVehicleDataResponse.KEY_GEAR_STATUS = 'gearStatus'; diff --git a/lib/js/src/rpc/messages/UnsubscribeVehicleData.js b/lib/js/src/rpc/messages/UnsubscribeVehicleData.js index a6b1a3bf..d3dbffff 100644 --- a/lib/js/src/rpc/messages/UnsubscribeVehicleData.js +++ b/lib/js/src/rpc/messages/UnsubscribeVehicleData.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ /* -* Copyright (c) 2020, SmartDeviceLink Consortium, Inc. +* Copyright (c) 2021, SmartDeviceLink Consortium, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -204,9 +204,30 @@ class UnsubscribeVehicleData extends RpcRequest { return this.getParameter(UnsubscribeVehicleData.KEY_FUEL_RANGE); } + /** + * Set the ClimateData + * @since SmartDeviceLink 7.1.0 + * @param {Boolean} data - See ClimateData - The desired ClimateData. + * @returns {UnsubscribeVehicleData} - The class instance for method chaining. + */ + setClimateData (data) { + this.setParameter(UnsubscribeVehicleData.KEY_CLIMATE_DATA, data); + return this; + } + + /** + * Get the ClimateData + * @returns {Boolean} - the KEY_CLIMATE_DATA value + */ + getClimateData () { + return this.getParameter(UnsubscribeVehicleData.KEY_CLIMATE_DATA); + } + /** * Set the ExternalTemperature - * @param {Boolean} temperature - The external temperature in degrees celsius. - The desired ExternalTemperature. + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 + * @param {Boolean} temperature - The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData. - The desired ExternalTemperature. * @returns {UnsubscribeVehicleData} - The class instance for method chaining. */ setExternalTemperature (temperature) { @@ -216,6 +237,8 @@ class UnsubscribeVehicleData extends RpcRequest { /** * Get the ExternalTemperature + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 * @returns {Boolean} - the KEY_EXTERNAL_TEMPERATURE value */ getExternalTemperature () { @@ -709,6 +732,7 @@ UnsubscribeVehicleData.KEY_FUEL_LEVEL = 'fuelLevel'; UnsubscribeVehicleData.KEY_FUEL_LEVEL_STATE = 'fuelLevel_State'; UnsubscribeVehicleData.KEY_INSTANT_FUEL_CONSUMPTION = 'instantFuelConsumption'; UnsubscribeVehicleData.KEY_FUEL_RANGE = 'fuelRange'; +UnsubscribeVehicleData.KEY_CLIMATE_DATA = 'climateData'; UnsubscribeVehicleData.KEY_EXTERNAL_TEMPERATURE = 'externalTemperature'; UnsubscribeVehicleData.KEY_TURN_SIGNAL = 'turnSignal'; UnsubscribeVehicleData.KEY_GEAR_STATUS = 'gearStatus'; diff --git a/lib/js/src/rpc/messages/UnsubscribeVehicleDataResponse.js b/lib/js/src/rpc/messages/UnsubscribeVehicleDataResponse.js index 8cc7dea3..c256f07d 100644 --- a/lib/js/src/rpc/messages/UnsubscribeVehicleDataResponse.js +++ b/lib/js/src/rpc/messages/UnsubscribeVehicleDataResponse.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ /* -* Copyright (c) 2020, SmartDeviceLink Consortium, Inc. +* Copyright (c) 2021, SmartDeviceLink Consortium, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -209,9 +209,31 @@ class UnsubscribeVehicleDataResponse extends RpcResponse { return this.getObject(VehicleDataResult, UnsubscribeVehicleDataResponse.KEY_FUEL_RANGE); } + /** + * Set the ClimateData + * @since SmartDeviceLink 7.1.0 + * @param {VehicleDataResult} data - See ClimateData - The desired ClimateData. + * @returns {UnsubscribeVehicleDataResponse} - The class instance for method chaining. + */ + setClimateData (data) { + this._validateType(VehicleDataResult, data); + this.setParameter(UnsubscribeVehicleDataResponse.KEY_CLIMATE_DATA, data); + return this; + } + + /** + * Get the ClimateData + * @returns {VehicleDataResult} - the KEY_CLIMATE_DATA value + */ + getClimateData () { + return this.getObject(VehicleDataResult, UnsubscribeVehicleDataResponse.KEY_CLIMATE_DATA); + } + /** * Set the ExternalTemperature - * @param {VehicleDataResult} temperature - The external temperature in degrees celsius - The desired ExternalTemperature. + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 + * @param {VehicleDataResult} temperature - The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData. - The desired ExternalTemperature. * @returns {UnsubscribeVehicleDataResponse} - The class instance for method chaining. */ setExternalTemperature (temperature) { @@ -222,6 +244,8 @@ class UnsubscribeVehicleDataResponse extends RpcResponse { /** * Get the ExternalTemperature + * @since SmartDeviceLink 2.0.0 + * @deprecated in SmartDeviceLink 7.1.0 * @returns {VehicleDataResult} - the KEY_EXTERNAL_TEMPERATURE value */ getExternalTemperature () { @@ -741,6 +765,7 @@ UnsubscribeVehicleDataResponse.KEY_FUEL_LEVEL = 'fuelLevel'; UnsubscribeVehicleDataResponse.KEY_FUEL_LEVEL_STATE = 'fuelLevel_State'; UnsubscribeVehicleDataResponse.KEY_INSTANT_FUEL_CONSUMPTION = 'instantFuelConsumption'; UnsubscribeVehicleDataResponse.KEY_FUEL_RANGE = 'fuelRange'; +UnsubscribeVehicleDataResponse.KEY_CLIMATE_DATA = 'climateData'; UnsubscribeVehicleDataResponse.KEY_EXTERNAL_TEMPERATURE = 'externalTemperature'; UnsubscribeVehicleDataResponse.KEY_TURN_SIGNAL = 'turnSignal'; UnsubscribeVehicleDataResponse.KEY_GEAR_STATUS = 'gearStatus'; diff --git a/lib/js/src/rpc/structs/ClimateData.js b/lib/js/src/rpc/structs/ClimateData.js new file mode 100644 index 00000000..e28598c7 --- /dev/null +++ b/lib/js/src/rpc/structs/ClimateData.js @@ -0,0 +1,110 @@ +/* eslint-disable camelcase */ +/* +* Copyright (c) 2021, SmartDeviceLink Consortium, Inc. +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* Redistributions of source code must retain the above copyright notice, this +* list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following +* disclaimer in the documentation and/or other materials provided with the +* distribution. +* +* Neither the name of the SmartDeviceLink Consortium Inc. nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +*/ + +import { RpcStruct } from '../RpcStruct.js'; +import { Temperature } from './Temperature.js'; + +class ClimateData extends RpcStruct { + /** + * Initalizes an instance of ClimateData. + * @class + * @param {object} parameters - An object map of parameters. + * @since SmartDeviceLink 7.1.0 + */ + constructor (parameters) { + super(parameters); + } + + /** + * Set the ExternalTemperature + * @param {Temperature} temperature - The external temperature in degrees celsius - The desired ExternalTemperature. + * @returns {ClimateData} - The class instance for method chaining. + */ + setExternalTemperature (temperature) { + this._validateType(Temperature, temperature); + this.setParameter(ClimateData.KEY_EXTERNAL_TEMPERATURE, temperature); + return this; + } + + /** + * Get the ExternalTemperature + * @returns {Temperature} - the KEY_EXTERNAL_TEMPERATURE value + */ + getExternalTemperature () { + return this.getObject(Temperature, ClimateData.KEY_EXTERNAL_TEMPERATURE); + } + + /** + * Set the CabinTemperature + * @param {Temperature} temperature - Internal ambient cabin temperature in degrees celsius - The desired CabinTemperature. + * @returns {ClimateData} - The class instance for method chaining. + */ + setCabinTemperature (temperature) { + this._validateType(Temperature, temperature); + this.setParameter(ClimateData.KEY_CABIN_TEMPERATURE, temperature); + return this; + } + + /** + * Get the CabinTemperature + * @returns {Temperature} - the KEY_CABIN_TEMPERATURE value + */ + getCabinTemperature () { + return this.getObject(Temperature, ClimateData.KEY_CABIN_TEMPERATURE); + } + + /** + * Set the AtmosphericPressure + * @param {Number} pressure - Current atmospheric pressure in mBar - The desired AtmosphericPressure. + * {'num_min_value': 0.0, 'num_max_value': 2000.0} + * @returns {ClimateData} - The class instance for method chaining. + */ + setAtmosphericPressure (pressure) { + this.setParameter(ClimateData.KEY_ATMOSPHERIC_PRESSURE, pressure); + return this; + } + + /** + * Get the AtmosphericPressure + * @returns {Number} - the KEY_ATMOSPHERIC_PRESSURE value + */ + getAtmosphericPressure () { + return this.getParameter(ClimateData.KEY_ATMOSPHERIC_PRESSURE); + } +} + +ClimateData.KEY_EXTERNAL_TEMPERATURE = 'externalTemperature'; +ClimateData.KEY_CABIN_TEMPERATURE = 'cabinTemperature'; +ClimateData.KEY_ATMOSPHERIC_PRESSURE = 'atmosphericPressure'; + +export { ClimateData }; \ No newline at end of file diff --git a/tests/Test.js b/tests/Test.js index 3721a410..9c71e5a3 100644 --- a/tests/Test.js +++ b/tests/Test.js @@ -31,6 +31,8 @@ const SeatOccupancy = SDL.rpc.structs.SeatOccupancy; const DoorStatus = SDL.rpc.structs.DoorStatus; const GateStatus = SDL.rpc.structs.GateStatus; const RoofStatus = SDL.rpc.structs.RoofStatus; +const Temperature = SDL.rpc.structs.Temperature; +const ClimateData = SDL.rpc.structs.ClimateData; // enums const SpeechCapabilities = SDL.rpc.enums.SpeechCapabilities; @@ -61,6 +63,7 @@ const RequestType = SDL.rpc.enums.RequestType; const DoorStatusType = SDL.rpc.enums.DoorStatusType; const IgnitionStableStatus = SDL.rpc.enums.IgnitionStableStatus; const IgnitionStatus = SDL.rpc.enums.IgnitionStatus; +const TemperatureUnit = SDL.rpc.enums.TemperatureUnit; class Test { constructor () { @@ -522,4 +525,22 @@ const JSON_ROOFSTATUS_LIST = Test.JSON_ROOFSTATUS_LIST = [ const GENERAL_ARTWORK = Test.GENERAL_ARTWORK = new SdlArtwork('sdl', FileType.GRAPHIC_PNG, 'okay', false); +const GENERAL_TEMPERATURE_UNIT = Test.GENERAL_TEMPERATURE_UNIT = TemperatureUnit.CELSIUS; +const GENERAL_TEMPERATURE = Test.GENERAL_TEMPERATURE = new Temperature() + .setUnit(Test.GENERAL_TEMPERATURE_UNIT) + .setValueParam(Test.GENERAL_NUMBER); + +const JSON_TEMPERATURE = Test.JSON_TEMPERATURE = GENERAL_TEMPERATURE.getParameters(); + +const GENERAL_CLIMATE_DATA = Test.GENERAL_CLIMATE_DATA = new ClimateData() + .setAtmosphericPressure(Test.GENERAL_NUMBER) + .setCabinTemperature(Test.GENERAL_TEMPERATURE) + .setExternalTemperature(Test.GENERAL_TEMPERATURE); + +const JSON_CLIMATE_DATA = Test.JSON_CLIMATE_DATA = { + [ClimateData.KEY_ATMOSPHERIC_PRESSURE]: Test.GENERAL_NUMBER, + [ClimateData.KEY_CABIN_TEMPERATURE]: Test.JSON_TEMPERATURE, + [ClimateData.KEY_EXTERNAL_TEMPERATURE]: Test.JSON_TEMPERATURE, +}; + module.exports = Test; diff --git a/tests/node/rpc/enums/VehicleDataTypeTests.js b/tests/node/rpc/enums/VehicleDataTypeTests.js index dcaa9a3b..b71d18b2 100644 --- a/tests/node/rpc/enums/VehicleDataTypeTests.js +++ b/tests/node/rpc/enums/VehicleDataTypeTests.js @@ -18,6 +18,8 @@ describe('VehicleDataTypeTests', function () { const enumVehicledataFuellevelState = VehicleDataType.valueForKey(example); example = 'VEHICLEDATA_FUELCONSUMPTION'; const enumVehicledataFuelconsumption = VehicleDataType.valueForKey(example); + example = 'VEHICLEDATA_CLIMATEDATA'; + const enumVehicledataClimatedata = VehicleDataType.valueForKey(example); example = 'VEHICLEDATA_EXTERNTEMP'; const enumVehicledataExterntemp = VehicleDataType.valueForKey(example); example = 'VEHICLEDATA_VIN'; @@ -87,6 +89,7 @@ describe('VehicleDataTypeTests', function () { Validator.assertNotNullUndefined(enumVehicledataFuellevel, 'VEHICLEDATA_FUELLEVEL returned null.'); Validator.assertNotNullUndefined(enumVehicledataFuellevelState, 'VEHICLEDATA_FUELLEVEL_STATE returned null.'); Validator.assertNotNullUndefined(enumVehicledataFuelconsumption, 'VEHICLEDATA_FUELCONSUMPTION returned null.'); + Validator.assertNotNullUndefined(enumVehicledataClimatedata, 'VEHICLEDATA_CLIMATEDATA returned null.'); Validator.assertNotNullUndefined(enumVehicledataExterntemp, 'VEHICLEDATA_EXTERNTEMP returned null.'); Validator.assertNotNullUndefined(enumVehicledataVin, 'VEHICLEDATA_VIN returned null.'); Validator.assertNotNullUndefined(enumVehicledataPrndl, 'VEHICLEDATA_PRNDL returned null.'); @@ -134,4 +137,4 @@ describe('VehicleDataTypeTests', function () { Validator.assertNull(temp, 'Result of valueForKey should be null.'); done(); }); -}); \ No newline at end of file +}); diff --git a/tests/node/rpc/messages/GetVehicleDataResponseTests.js b/tests/node/rpc/messages/GetVehicleDataResponseTests.js index ef74919a..4a1906e5 100644 --- a/tests/node/rpc/messages/GetVehicleDataResponseTests.js +++ b/tests/node/rpc/messages/GetVehicleDataResponseTests.js @@ -1,11 +1,17 @@ const SDL = require('../../../config.js').node; + +// messages const GetVehicleDataResponse = SDL.rpc.messages.GetVehicleDataResponse; + +// enums const FunctionID = SDL.rpc.enums.FunctionID; const MessageType = SDL.rpc.enums.MessageType; const VehicleDataStatus = SDL.rpc.enums.VehicleDataStatus; const StabilityControlsStatus = SDL.rpc.structs.StabilityControlsStatus; const PRNDL = SDL.rpc.enums.PRNDL; const TransmissionType = SDL.rpc.enums.TransmissionType; + +// structs const GearStatus = SDL.rpc.structs.GearStatus; const BaseRpcTests = require('./BaseRpcTests'); @@ -38,7 +44,8 @@ describe('GetVehicleDataResponseTests', function () { .setHandsOffSteering(Test.GENERAL_BOOLEAN) .setWindowStatus([Test.GENERAL_WINDOW_STATUS]) .setGearStatus(this.gearStatus) - .setSeatOccupancy(Test.GENERAL_SEAT_OCCUPANCY); + .setSeatOccupancy(Test.GENERAL_SEAT_OCCUPANCY) + .setClimateData(Test.GENERAL_CLIMATE_DATA); }; this.getExpectedParameters = function (sdlVersion) { @@ -48,6 +55,7 @@ describe('GetVehicleDataResponseTests', function () { [GetVehicleDataResponse.KEY_WINDOW_STATUS]: [Test.JSON_WINDOWSTATUS], [GetVehicleDataResponse.KEY_GEAR_STATUS]: JSON_GEARSTATUS, [GetVehicleDataResponse.KEY_SEAT_OCCUPANCY]: Test.JSON_SEATOCCUPANCY, + [GetVehicleDataResponse.KEY_CLIMATE_DATA]: Test.JSON_CLIMATE_DATA, }; }; @@ -62,7 +70,6 @@ describe('GetVehicleDataResponseTests', function () { BaseRpcTests.tests(); - it ('testRpcValues', function (done) { let rpcMessage = this.msg; // Test Values @@ -71,6 +78,7 @@ describe('GetVehicleDataResponseTests', function () { const testWindowStatus = rpcMessage.getWindowStatus(); const testGearStatus = rpcMessage.getGearStatus(); const testSeatOccupancy = rpcMessage.getSeatOccupancy(); + const testClimateData = rpcMessage.getClimateData(); // Valid Tests Validator.assertEquals(this.stabilityControlsStatus, testStabilityControlsStatus); @@ -78,6 +86,7 @@ describe('GetVehicleDataResponseTests', function () { Validator.assertEquals([Test.GENERAL_WINDOW_STATUS], testWindowStatus); Validator.assertEquals(this.gearStatus, testGearStatus); Validator.assertEquals(Test.GENERAL_SEAT_OCCUPANCY, testSeatOccupancy); + Validator.assertEquals(Test.GENERAL_CLIMATE_DATA, testClimateData); // Invalid/Null Tests rpcMessage = new GetVehicleDataResponse(); @@ -92,7 +101,8 @@ describe('GetVehicleDataResponseTests', function () { Validator.assertNullOrUndefined(rpcMessage.getWindowStatus()); Validator.assertNullOrUndefined(rpcMessage.getGearStatus()); Validator.assertNullOrUndefined(rpcMessage.getSeatOccupancy()); + Validator.assertNullOrUndefined(rpcMessage.getClimateData()); done(); }); -}); \ No newline at end of file +}); diff --git a/tests/node/rpc/messages/GetVehicleDataTests.js b/tests/node/rpc/messages/GetVehicleDataTests.js index 518c7a7d..012de4b8 100644 --- a/tests/node/rpc/messages/GetVehicleDataTests.js +++ b/tests/node/rpc/messages/GetVehicleDataTests.js @@ -16,7 +16,8 @@ describe('GetVehicleDataTests', function () { .setWindowStatus(Test.GENERAL_BOOLEAN) .setGearStatus(Test.GENERAL_BOOLEAN) .setPrndl(Test.GENERAL_BOOLEAN) - .setSeatOccupancy(Test.GENERAL_BOOLEAN); + .setSeatOccupancy(Test.GENERAL_BOOLEAN) + .setClimateData(Test.GENERAL_BOOLEAN); }; this.getExpectedParameters = function (sdlVersion) { @@ -27,6 +28,7 @@ describe('GetVehicleDataTests', function () { [GetVehicleData.KEY_GEAR_STATUS]: Test.GENERAL_BOOLEAN, [GetVehicleData.KEY_PRNDL]: Test.GENERAL_BOOLEAN, [GetVehicleData.KEY_SEAT_OCCUPANCY]: Test.GENERAL_BOOLEAN, + [GetVehicleData.KEY_CLIMATE_DATA]: Test.GENERAL_BOOLEAN, }; }; @@ -50,6 +52,7 @@ describe('GetVehicleDataTests', function () { const testGearStatus = rpcMessage.getGearStatus(); const testPrndl = rpcMessage.getPrndl(); const testSeatOccupancy = rpcMessage.getSeatOccupancy(); + const testClimateData = rpcMessage.getClimateData(); // Valid Tests Validator.assertEquals(Test.GENERAL_BOOLEAN, testStabilityControlsStatus); @@ -58,6 +61,7 @@ describe('GetVehicleDataTests', function () { Validator.assertEquals(Test.GENERAL_BOOLEAN, testGearStatus); Validator.assertEquals(Test.GENERAL_BOOLEAN, testPrndl); Validator.assertEquals(Test.GENERAL_BOOLEAN, testSeatOccupancy); + Validator.assertEquals(Test.GENERAL_BOOLEAN, testClimateData); // Invalid/Null Tests rpcMessage = new GetVehicleData(); @@ -72,7 +76,8 @@ describe('GetVehicleDataTests', function () { Validator.assertNullOrUndefined(rpcMessage.getGearStatus()); Validator.assertNullOrUndefined(rpcMessage.getPrndl()); Validator.assertNullOrUndefined(rpcMessage.getSeatOccupancy()); + Validator.assertNullOrUndefined(rpcMessage.getClimateData()); done(); }); -}); \ No newline at end of file +}); diff --git a/tests/node/rpc/messages/OnVehicleDataTests.js b/tests/node/rpc/messages/OnVehicleDataTests.js index 61482b79..0dfbd8af 100644 --- a/tests/node/rpc/messages/OnVehicleDataTests.js +++ b/tests/node/rpc/messages/OnVehicleDataTests.js @@ -1,11 +1,17 @@ const SDL = require('../../../config.js').node; + +// messages const OnVehicleData = SDL.rpc.messages.OnVehicleData; + +// enums const FunctionID = SDL.rpc.enums.FunctionID; const MessageType = SDL.rpc.enums.MessageType; const VehicleDataStatus = SDL.rpc.enums.VehicleDataStatus; const StabilityControlsStatus = SDL.rpc.structs.StabilityControlsStatus; const PRNDL = SDL.rpc.enums.PRNDL; const TransmissionType = SDL.rpc.enums.TransmissionType; + +// structs const GearStatus = SDL.rpc.structs.GearStatus; const BaseRpcTests = require('./BaseRpcTests'); @@ -38,7 +44,8 @@ describe('OnVehicleDataTests', function () { .setHandsOffSteering(Test.GENERAL_BOOLEAN) .setWindowStatus([Test.GENERAL_WINDOW_STATUS]) .setGearStatus(this.gearStatus) - .setSeatOccupancy(Test.GENERAL_SEAT_OCCUPANCY); + .setSeatOccupancy(Test.GENERAL_SEAT_OCCUPANCY) + .setClimateData(Test.GENERAL_CLIMATE_DATA); }; this.getExpectedParameters = function (sdlVersion) { @@ -48,6 +55,7 @@ describe('OnVehicleDataTests', function () { [OnVehicleData.KEY_WINDOW_STATUS]: [Test.JSON_WINDOWSTATUS], [OnVehicleData.KEY_GEAR_STATUS]: JSON_GEARSTATUS, [OnVehicleData.KEY_SEAT_OCCUPANCY]: Test.JSON_SEATOCCUPANCY, + [OnVehicleData.KEY_CLIMATE_DATA]: Test.JSON_CLIMATE_DATA, }; }; @@ -70,12 +78,14 @@ describe('OnVehicleDataTests', function () { const testWindowStatus = rpcMessage.getWindowStatus(); const testGearStatus = rpcMessage.getGearStatus(); const testSeatOccupancy = rpcMessage.getSeatOccupancy(); + const testClimateData = rpcMessage.getClimateData(); // Valid Tests Validator.assertEquals(this.stabilityControlsStatus, testStabilityControlsStatus); Validator.assertEquals([Test.GENERAL_WINDOW_STATUS], testWindowStatus); Validator.assertEquals(this.gearStatus, testGearStatus); Validator.assertEquals(Test.GENERAL_SEAT_OCCUPANCY, testSeatOccupancy); + Validator.assertEquals(Test.GENERAL_CLIMATE_DATA, testClimateData); // Invalid/Null Tests rpcMessage = new OnVehicleData(); @@ -90,7 +100,8 @@ describe('OnVehicleDataTests', function () { Validator.assertNullOrUndefined(rpcMessage.getWindowStatus()); Validator.assertNullOrUndefined(rpcMessage.getGearStatus()); Validator.assertNullOrUndefined(rpcMessage.getSeatOccupancy()); + Validator.assertNullOrUndefined(rpcMessage.getClimateData()); done(); }); -}); \ No newline at end of file +}); diff --git a/tests/node/rpc/messages/SubscribeVehicleDataResponseTests.js b/tests/node/rpc/messages/SubscribeVehicleDataResponseTests.js index af461967..c29791b3 100644 --- a/tests/node/rpc/messages/SubscribeVehicleDataResponseTests.js +++ b/tests/node/rpc/messages/SubscribeVehicleDataResponseTests.js @@ -1,8 +1,14 @@ const SDL = require('../../../config.js').node; + +// messages const SubscribeVehicleDataResponse = SDL.rpc.messages.SubscribeVehicleDataResponse; + +// enums const FunctionID = SDL.rpc.enums.FunctionID; const MessageType = SDL.rpc.enums.MessageType; const VehicleDataType = SDL.rpc.enums.VehicleDataType; + +// structs const VehicleDataResult = SDL.rpc.structs.VehicleDataResult; const BaseRpcTests = require('./BaseRpcTests'); @@ -33,13 +39,18 @@ describe('SubscribeVehicleDataResponseTests', function () { .setDataType(VehicleDataType.VEHICLEDATA_WINDOWSTATUS); const JSON_WINDOWSTATUS = this.windowStatus.getParameters(); + this.climateData = new VehicleDataResult() + .setDataType(VehicleDataType.VEHICLEDATA_CLIMATEDATA); + const JSON_CLIMATEDATA = this.climateData.getParameters(); + this.createMessage = function () { return new SubscribeVehicleDataResponse() .setStabilityControlsStatus(this.stabilityControlsStatus) .setHandsOffSteering(this.vehicleDataResult) .setWindowStatus(this.windowStatus) .setGearStatus(this.gearStatus) - .setSeatOccupancy(this.seatOccupancy); + .setSeatOccupancy(this.seatOccupancy) + .setClimateData(this.climateData); }; this.getExpectedParameters = function (sdlVersion) { @@ -49,6 +60,7 @@ describe('SubscribeVehicleDataResponseTests', function () { [SubscribeVehicleDataResponse.KEY_WINDOW_STATUS]: JSON_WINDOWSTATUS, [SubscribeVehicleDataResponse.KEY_GEAR_STATUS]: JSON_GEARSTATUS, [SubscribeVehicleDataResponse.KEY_SEAT_OCCUPANCY]: JSON_SEATOCCUPANCY, + [SubscribeVehicleDataResponse.KEY_CLIMATE_DATA]: JSON_CLIMATEDATA, }; }; @@ -72,6 +84,7 @@ describe('SubscribeVehicleDataResponseTests', function () { const testWindowStatus = rpcMessage.getWindowStatus(); const testGearStatus = rpcMessage.getGearStatus(); const testSeatOccupancy = rpcMessage.getSeatOccupancy(); + const testClimateData = rpcMessage.getClimateData(); // Valid Tests Validator.validateVehicleDataResult(this.stabilityControlsStatus, testStabilityControlsStatus); @@ -79,6 +92,7 @@ describe('SubscribeVehicleDataResponseTests', function () { Validator.validateVehicleDataResult(this.windowStatus, testWindowStatus); Validator.validateVehicleDataResult(this.gearStatus, testGearStatus); Validator.validateVehicleDataResult(this.seatOccupancy, testSeatOccupancy); + Validator.validateVehicleDataResult(this.climateData, testClimateData); // Invalid/Null Tests rpcMessage = new SubscribeVehicleDataResponse(); @@ -93,7 +107,8 @@ describe('SubscribeVehicleDataResponseTests', function () { Validator.assertNullOrUndefined(rpcMessage.getWindowStatus()); Validator.assertNullOrUndefined(rpcMessage.getGearStatus()); Validator.assertNullOrUndefined(rpcMessage.getSeatOccupancy()); + Validator.assertNullOrUndefined(rpcMessage.getClimateData()); done(); }); -}); \ No newline at end of file +}); diff --git a/tests/node/rpc/messages/SubscribeVehicleDataTests.js b/tests/node/rpc/messages/SubscribeVehicleDataTests.js index db9f3699..7cbc8f6d 100644 --- a/tests/node/rpc/messages/SubscribeVehicleDataTests.js +++ b/tests/node/rpc/messages/SubscribeVehicleDataTests.js @@ -15,7 +15,8 @@ describe('SubscribeVehicleDataTests', function () { .setHandsOffSteering(Test.GENERAL_BOOLEAN) .setWindowStatus(Test.GENERAL_BOOLEAN) .setGearStatus(Test.GENERAL_BOOLEAN) - .setSeatOccupancy(Test.GENERAL_BOOLEAN); + .setSeatOccupancy(Test.GENERAL_BOOLEAN) + .setClimateData(Test.GENERAL_BOOLEAN); }; this.getExpectedParameters = function (sdlVersion) { @@ -25,6 +26,7 @@ describe('SubscribeVehicleDataTests', function () { [SubscribeVehicleData.KEY_WINDOW_STATUS]: Test.GENERAL_BOOLEAN, [SubscribeVehicleData.KEY_GEAR_STATUS]: Test.GENERAL_BOOLEAN, [SubscribeVehicleData.KEY_SEAT_OCCUPANCY]: Test.GENERAL_BOOLEAN, + [SubscribeVehicleData.KEY_CLIMATE_DATA]: Test.GENERAL_BOOLEAN, }; }; @@ -47,6 +49,7 @@ describe('SubscribeVehicleDataTests', function () { const testWindowStatus = rpcMessage.getWindowStatus(); const testGearStatus = rpcMessage.getGearStatus(); const testSeatOccupancy = rpcMessage.getSeatOccupancy(); + const testClimateData = rpcMessage.getClimateData(); // Valid Tests Validator.assertEquals(Test.GENERAL_BOOLEAN, testStabilityControlsStatus); @@ -54,6 +57,7 @@ describe('SubscribeVehicleDataTests', function () { Validator.assertEquals(Test.GENERAL_BOOLEAN, testWindowStatus); Validator.assertEquals(Test.GENERAL_BOOLEAN, testGearStatus); Validator.assertEquals(Test.GENERAL_BOOLEAN, testSeatOccupancy); + Validator.assertEquals(Test.GENERAL_BOOLEAN, testClimateData); // Invalid/Null Tests rpcMessage = new SubscribeVehicleData(); @@ -67,7 +71,8 @@ describe('SubscribeVehicleDataTests', function () { Validator.assertNullOrUndefined(rpcMessage.getWindowStatus()); Validator.assertNullOrUndefined(rpcMessage.getGearStatus()); Validator.assertNullOrUndefined(rpcMessage.getSeatOccupancy()); + Validator.assertNullOrUndefined(rpcMessage.getClimateData()); done(); }); -}); \ No newline at end of file +}); diff --git a/tests/node/rpc/messages/UnsubscribeVehicleDataResponseTests.js b/tests/node/rpc/messages/UnsubscribeVehicleDataResponseTests.js index 10691002..49aaffaa 100644 --- a/tests/node/rpc/messages/UnsubscribeVehicleDataResponseTests.js +++ b/tests/node/rpc/messages/UnsubscribeVehicleDataResponseTests.js @@ -1,8 +1,14 @@ const SDL = require('../../../config.js').node; + +// messages const UnsubscribeVehicleDataResponse = SDL.rpc.messages.UnsubscribeVehicleDataResponse; + +// enums const FunctionID = SDL.rpc.enums.FunctionID; const MessageType = SDL.rpc.enums.MessageType; const VehicleDataType = SDL.rpc.enums.VehicleDataType; + +// structs const VehicleDataResult = SDL.rpc.structs.VehicleDataResult; const BaseRpcTests = require('./BaseRpcTests'); @@ -33,13 +39,18 @@ describe('UnsubscribeVehicleDataResponseTests', function () { .setDataType(VehicleDataType.VEHICLEDATA_WINDOWSTATUS); const JSON_WINDOWSTATUS = this.windowStatus.getParameters(); + this.climateData = new VehicleDataResult() + .setDataType(VehicleDataType.VEHICLEDATA_CLIMATEDATA); + const JSON_CLIMATEDATA = this.climateData.getParameters(); + this.createMessage = function () { return new UnsubscribeVehicleDataResponse() .setStabilityControlsStatus(this.stabilityControlsStatus) .setHandsOffSteering(this.vehicleDataResult) .setWindowStatus(this.windowStatus) .setGearStatus(this.gearStatus) - .setSeatOccupancy(this.seatOccupancy); + .setSeatOccupancy(this.seatOccupancy) + .setClimateData(this.climateData); }; this.getExpectedParameters = function (sdlVersion) { @@ -49,6 +60,7 @@ describe('UnsubscribeVehicleDataResponseTests', function () { [UnsubscribeVehicleDataResponse.KEY_WINDOW_STATUS]: JSON_WINDOWSTATUS, [UnsubscribeVehicleDataResponse.KEY_GEAR_STATUS]: JSON_GEARSTATUS, [UnsubscribeVehicleDataResponse.KEY_SEAT_OCCUPANCY]: JSON_SEATOCCUPANCY, + [UnsubscribeVehicleDataResponse.KEY_CLIMATE_DATA]: JSON_CLIMATEDATA, }; }; @@ -72,6 +84,7 @@ describe('UnsubscribeVehicleDataResponseTests', function () { const testWindowStatus = rpcMessage.getWindowStatus(); const testGearStatus = rpcMessage.getGearStatus(); const testSeatOccupancy = rpcMessage.getSeatOccupancy(); + const testClimateData = rpcMessage.getClimateData(); // Valid Tests Validator.validateVehicleDataResult(this.stabilityControlsStatus, testStabilityControlsStatus); @@ -79,6 +92,7 @@ describe('UnsubscribeVehicleDataResponseTests', function () { Validator.validateVehicleDataResult(this.windowStatus, testWindowStatus); Validator.validateVehicleDataResult(this.gearStatus, testGearStatus); Validator.validateVehicleDataResult(this.seatOccupancy, testSeatOccupancy); + Validator.validateVehicleDataResult(this.climateData, testClimateData); // Invalid/Null Tests rpcMessage = new UnsubscribeVehicleDataResponse(); @@ -93,7 +107,8 @@ describe('UnsubscribeVehicleDataResponseTests', function () { Validator.assertNullOrUndefined(rpcMessage.getWindowStatus()); Validator.assertNullOrUndefined(rpcMessage.getGearStatus()); Validator.assertNullOrUndefined(rpcMessage.getSeatOccupancy()); + Validator.assertNullOrUndefined(rpcMessage.getClimateData()); done(); }); -}); \ No newline at end of file +}); diff --git a/tests/node/rpc/messages/UnsubscribeVehicleDataTests.js b/tests/node/rpc/messages/UnsubscribeVehicleDataTests.js index 940b7bc1..e0346ffd 100644 --- a/tests/node/rpc/messages/UnsubscribeVehicleDataTests.js +++ b/tests/node/rpc/messages/UnsubscribeVehicleDataTests.js @@ -15,7 +15,8 @@ describe('UnsubscribeVehicleDataTests', function () { .setHandsOffSteering(Test.GENERAL_BOOLEAN) .setWindowStatus(Test.GENERAL_BOOLEAN) .setGearStatus(Test.GENERAL_BOOLEAN) - .setSeatOccupancy(Test.GENERAL_BOOLEAN); + .setSeatOccupancy(Test.GENERAL_BOOLEAN) + .setClimateData(Test.GENERAL_BOOLEAN); }; this.getExpectedParameters = function (sdlVersion) { @@ -25,6 +26,7 @@ describe('UnsubscribeVehicleDataTests', function () { [UnsubscribeVehicleData.KEY_WINDOW_STATUS]: Test.GENERAL_BOOLEAN, [UnsubscribeVehicleData.KEY_GEAR_STATUS]: Test.GENERAL_BOOLEAN, [UnsubscribeVehicleData.KEY_SEAT_OCCUPANCY]: Test.GENERAL_BOOLEAN, + [UnsubscribeVehicleData.KEY_CLIMATE_DATA]: Test.GENERAL_BOOLEAN, }; }; @@ -47,6 +49,7 @@ describe('UnsubscribeVehicleDataTests', function () { const testWindowStatus = rpcMessage.getWindowStatus(); const testGearStatus = rpcMessage.getGearStatus(); const testSeatOccupancy = rpcMessage.getSeatOccupancy(); + const testClimateData = rpcMessage.getClimateData(); // Valid Tests Validator.assertEquals(Test.GENERAL_BOOLEAN, testStabilityControlsStatus); @@ -54,6 +57,7 @@ describe('UnsubscribeVehicleDataTests', function () { Validator.assertEquals(Test.GENERAL_BOOLEAN, testWindowStatus); Validator.assertEquals(Test.GENERAL_BOOLEAN, testGearStatus); Validator.assertEquals(Test.GENERAL_BOOLEAN, testSeatOccupancy); + Validator.assertEquals(Test.GENERAL_BOOLEAN, testClimateData); // Invalid/Null Tests rpcMessage = new UnsubscribeVehicleData(); @@ -67,7 +71,8 @@ describe('UnsubscribeVehicleDataTests', function () { Validator.assertNullOrUndefined(rpcMessage.getWindowStatus()); Validator.assertNullOrUndefined(rpcMessage.getGearStatus()); Validator.assertNullOrUndefined(rpcMessage.getSeatOccupancy()); + Validator.assertNullOrUndefined(rpcMessage.getClimateData()); done(); }); -}); \ No newline at end of file +}); diff --git a/tests/node/rpc/structs/ClimateDataTests.js b/tests/node/rpc/structs/ClimateDataTests.js new file mode 100644 index 00000000..748cf199 --- /dev/null +++ b/tests/node/rpc/structs/ClimateDataTests.js @@ -0,0 +1,43 @@ +const SDL = require('../../../config.js').node; +const ClimateData = SDL.rpc.structs.ClimateData; + +const Validator = require('./../../../Validator.js'); +const Test = require('./../../../Test.js'); +const BaseStructTests = require('./BaseStructTests'); + +describe('ClimateDataTests', function () { + before(function () { + this.create = function () { + return new ClimateData() + .setExternalTemperature(Test.GENERAL_TEMPERATURE) + .setCabinTemperature(Test.GENERAL_TEMPERATURE) + .setAtmosphericPressure(Test.GENERAL_NUMBER); + }; + + this.getExpectedParameters = function (sdlVersion) { + return { + [ClimateData.KEY_EXTERNAL_TEMPERATURE]: Test.JSON_TEMPERATURE, + [ClimateData.KEY_CABIN_TEMPERATURE]: Test.JSON_TEMPERATURE, + [ClimateData.KEY_ATMOSPHERIC_PRESSURE]: Test.GENERAL_NUMBER, + }; + }; + }); + + BaseStructTests.tests(); + + it('testRpcValues', function (done) { + let msg = this.msg; + // Valid Tests + Validator.assertEquals(Test.GENERAL_TEMPERATURE, msg.getExternalTemperature()); + Validator.assertEquals(Test.GENERAL_TEMPERATURE, msg.getCabinTemperature()); + Validator.assertEquals(Test.GENERAL_NUMBER, msg.getAtmosphericPressure()); + + // Invalid/Null Tests + msg = new ClimateData(); + Validator.assertNotNull(msg); + Validator.assertNullOrUndefined(msg.getExternalTemperature()); + Validator.assertNullOrUndefined(msg.getCabinTemperature()); + Validator.assertNullOrUndefined(msg.getAtmosphericPressure()); + done(); + }); +});