From 2a0f5b469fad5e8220f46ec9fb3ce23cc94f30d8 Mon Sep 17 00:00:00 2001 From: "harald.martini@student.tugraz.at" <harald.martini@student.tugraz.at> Date: Mon, 9 Aug 2021 15:40:42 +0200 Subject: [PATCH] Implemented new HVAC Heatpump parameters, updated Testfiles. --- .../XMLBusAuxiliariesWriter.cs | 35 +- .../MultistageAuxiliariesViewModel.cs | 420 +++++------------- .../ManufacturingStageAuxiliariesView.xaml | 87 +--- .../ViewModelTests/LoadAndSaveVehicleData.cs | 82 ++-- .../InputData/DeclarationInputData.cs | 12 +- .../Resources/XMLNames.Designer.cs | 24 +- .../VectoCommon/Resources/XMLNames.resx | 16 +- .../InputData/FileIO/JSON/JSONSubComponent.cs | 10 +- ...MLDeclarationBusAuxiliariesDataProvider.cs | 85 ++-- .../XMLDeclarationMultistageInputReader.cs | 37 +- ...larationDataAdapterCompletedBusSpecific.cs | 70 +-- .../Models/Simulation/Impl/JobContainer.cs | 7 - .../XMLMultistageBusReport.cs | 44 +- .../Multistage/MultistageVehicleTest.cs | 22 +- ...cle-stage_input_full-sample_final_noNG.xml | 12 +- ...e-stage_input_full-sample_interim_noNG.xml | 12 +- .../vecto_vehicle-stage_input_full-sample.xml | 12 +- ..._vehicle-stage_input_full-sample_final.xml | 12 +- ...cle-stage_input_full-sample_final_noNG.xml | 12 +- ...ehicle-stage_input_full-sample_group41.xml | 8 +- ...ge_input_only_certain_entries02-sample.xml | 74 ++- ...ultistage_consolidated_multiple_stages.xml | 8 +- ...solidated_multiple_stages_NGTankSystem.xml | 8 +- ...e_consolidated_multiple_stages_airdrag.xml | 18 +- ..._consolidated_multiple_stages_heatPump.xml | 8 +- ...stage_consolidated_multiple_stages_hev.xml | 8 +- ...stage_consolidated_multiple_stages_vif.xml | 8 +- ...o_multistage_primary_vehicle_stage_2_3.xml | 8 +- ...ultistage_primary_vehicle_stage_2_full.xml | 8 +- .../vecto_vehicle-stage_input_full-sample.xml | 93 +++- ...ge_input_only_certain_entries02-sample.xml | 74 ++- ...LMultistageBusConsolidatedInputDataTest.cs | 47 +- .../XML/XMLMultistageBusDataTest.cs | 18 +- .../XML/XMLMultistageBusInputDataTest.cs | 13 +- 34 files changed, 680 insertions(+), 732 deletions(-) diff --git a/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLBusAuxiliariesWriter.cs b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLBusAuxiliariesWriter.cs index ad44783039..18e2f88098 100644 --- a/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLBusAuxiliariesWriter.cs +++ b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLBusAuxiliariesWriter.cs @@ -85,20 +85,33 @@ namespace VECTO3GUI2020.Util.XML.Implementation.ComponentWriter if (_inputData.HVACAux != null) { var hvacElement = new XElement(_defaultNamespace + "HVAC"); hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_SystemConfiguration, _inputData.HVACAux.SystemConfiguration.GetXmlFormat())); - var heatPumpTypeLabel = _inputData.HVACAux.HeatPumpTypeDriverCompartment.GetLabel(); - if (heatPumpTypeLabel == "~null~") { - heatPumpTypeLabel = null; + + var driverCoolingHeatPumpLabel = _inputData.HVACAux.HeatPumpTypeCoolingDriverCompartment.GetLabel(); + if (driverCoolingHeatPumpLabel == "~null~") { + driverCoolingHeatPumpLabel = null; + } + hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpTypeCoolingDriver, driverCoolingHeatPumpLabel)); + + var driverHeatingHeatPumpLabel = _inputData.HVACAux.HeatPumpTypeHeatingDriverCompartment.GetLabel(); + if (driverHeatingHeatPumpLabel == "~null~") + { + driverHeatingHeatPumpLabel = null; } - hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpTypeDriver, heatPumpTypeLabel)); - hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpModeDriver, _inputData.HVACAux.HeatPumpModeDriverCompartment.GetLabel())); - //TODO - if (_inputData.HVACAux.HeatPumpPassengerCompartments != null) { - foreach (var (heatPumpType, heatPumpMode) in _inputData.HVACAux.HeatPumpPassengerCompartments) { - hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpTypePassenger, heatPumpType.GetLabel())); - hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpModePassenger, heatPumpMode.GetLabel())); - } + hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpTypeHeatingDriver, driverHeatingHeatPumpLabel)); + + var passengerCoolingHeatPumpLabel = _inputData.HVACAux.HeatPumpTypeCoolingPassengerCompartment.GetLabel(); + if (passengerCoolingHeatPumpLabel == "~null~") + { + passengerCoolingHeatPumpLabel = null; } + hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpTypeCoolingPassenger, passengerCoolingHeatPumpLabel)); + var passengerHeatingHeatPumpLabel = _inputData.HVACAux.HeatPumpTypeHeatingPassengerCompartment.GetLabel(); + if (passengerHeatingHeatPumpLabel == "~null~") + { + passengerHeatingHeatPumpLabel = null; + } + hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpTypeHeatingPassenger, passengerHeatingHeatPumpLabel)); hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_AuxiliaryHeaterPower, _inputData.HVACAux.AuxHeaterPower?.ToXMLFormat(0))); hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_DoubleGlazing, _inputData.HVACAux.DoubleGlazing)); diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs index a1a749c121..38a3e9e110 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs @@ -53,17 +53,6 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation public MultistageAuxiliariesViewModel(IBusAuxiliariesDeclarationData consolidatedAuxiliariesInputData) { ConsolidatedInputData = consolidatedAuxiliariesInputData; - if (ConsolidatedInputData?.HVACAux?.HeatPumpPassengerCompartments != null) { - _consolidatedHeatPumpConfigurationsPassenger = new ObservableCollection<HeatPumpConfiguration>(); - foreach (var (heatPumpType, heatPumpMode) in ConsolidatedInputData?.HVACAux?.HeatPumpPassengerCompartments) { - ConsolidatedHeatPumpConfigurationsPassenger.Add(new HeatPumpConfiguration() - { - HeatPumpMode = heatPumpMode, - HeatPumpType = heatPumpType, - IsReadOnly = true, - }); - } - } CreateParameterViewModels(); } @@ -80,8 +69,10 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation nameof(HeadlightsLED), nameof(SystemConfiguration), - nameof(HeatPumpModeDriverCompartment), - nameof(HeatPumpTypeDriverCompartment), + nameof(HeatPumpTypeHeatingPassengerCompartment), + nameof(HeatPumpTypeCoolingPassengerCompartment), + nameof(HeatPumpTypeHeatingDriverCompartment), + nameof(HeatPumpTypeCoolingDriverCompartment), nameof(AuxHeaterPower), nameof(DoubleGlazing), @@ -129,14 +120,15 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation ConsolidatedInputData?.ElectricConsumers.HeadlightsLED; _parameterViewModels[nameof(SystemConfiguration)].PreviousContent = ConsolidatedInputData?.HVACAux.SystemConfiguration; - _parameterViewModels[nameof(HeatPumpModeDriverCompartment)].PreviousContent = - ConsolidatedInputData?.HVACAux.HeatPumpModeDriverCompartment; - //_parameterViewModels[nameof(HeatPumpTypePassengerCompartment)].PreviousContent = - // ConsolidatedInputData?.HVACAux.HeatPumpTypePassengerCompartment; - _parameterViewModels[nameof(HeatPumpTypeDriverCompartment)].PreviousContent = - ConsolidatedInputData?.HVACAux.HeatPumpTypeDriverCompartment; - //_parameterViewModels[nameof(HeatPumpModePassengerCompartment)].PreviousContent = - // ConsolidatedInputData?.HVACAux.HeatPumpModePassengerCompartment; + _parameterViewModels[nameof(HeatPumpTypeCoolingDriverCompartment)].PreviousContent = + ConsolidatedInputData?.HVACAux.HeatPumpTypeCoolingDriverCompartment; + _parameterViewModels[nameof(HeatPumpTypeHeatingDriverCompartment)].PreviousContent = + ConsolidatedInputData?.HVACAux.HeatPumpTypeHeatingDriverCompartment; + _parameterViewModels[nameof(HeatPumpTypeCoolingPassengerCompartment)].PreviousContent = + ConsolidatedInputData?.HVACAux.HeatPumpTypeCoolingPassengerCompartment; + _parameterViewModels[nameof(HeatPumpTypeHeatingPassengerCompartment)].PreviousContent = + ConsolidatedInputData?.HVACAux.HeatPumpTypeHeatingPassengerCompartment; + _parameterViewModels[nameof(AuxHeaterPower)].PreviousContent = ConsolidatedInputData?.HVACAux.AuxHeaterPower; _parameterViewModels[nameof(DoubleGlazing)].PreviousContent = @@ -157,20 +149,29 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation }; _parameterViewModels[nameof(SystemConfiguration)].EditingChangedCallback = HeatPumpGroupEditingEnabledCallback; - _parameterViewModels[nameof(HeatPumpModeDriverCompartment)].EditingChangedCallback = + _parameterViewModels[nameof(HeatPumpTypeCoolingDriverCompartment)].EditingChangedCallback = HeatPumpGroupEditingEnabledCallback; - _parameterViewModels[nameof(HeatPumpTypeDriverCompartment)].EditingChangedCallback = + _parameterViewModels[nameof(HeatPumpTypeHeatingDriverCompartment)].EditingChangedCallback = + HeatPumpGroupEditingEnabledCallback; + _parameterViewModels[nameof(HeatPumpTypeCoolingPassengerCompartment)].EditingChangedCallback = HeatPumpGroupEditingEnabledCallback; + _parameterViewModels[nameof(HeatPumpTypeHeatingPassengerCompartment)].EditingChangedCallback = + HeatPumpGroupEditingEnabledCallback; //Setup AllowedValues - HeatPumpModeDriverCompartmentAllowedValues = - EnumHelper.GetValuesAsObservableCollectionExcluding<Enum, HeatPumpMode>(HeatPumpMode.N_A); + _heatPumpTypeDriverCompartmentAllowedValues = + EnumHelper.GetValuesAsObservableCollection<Enum, HeatPumpType>(); + + _heatPumpTypePassengerCompartmentAllowedValues = + EnumHelper.GetValuesAsObservableCollectionExcluding<Enum, HeatPumpType>(HeatPumpType.not_applicable); SystemConfigurationAllowedValues = EnumHelper.GetValuesAsObservableCollectionExcluding<Enum, BusHVACSystemConfiguration>( BusHVACSystemConfiguration.Unknown); } + + protected override bool SetProperty<T>(ref T field, T value, [CallerMemberName] string propertyName = null) { var propertyChanged = base.SetProperty(ref field, value, propertyName); @@ -191,22 +192,14 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation HeatPumpGroupEditingEnabled = componentsAuxiliaryInputData.HVACAux != null; SystemConfiguration = componentsAuxiliaryInputData.HVACAux?.SystemConfiguration; - HeatPumpTypeDriverCompartment = componentsAuxiliaryInputData.HVACAux?.HeatPumpTypeDriverCompartment; - HeatPumpModeDriverCompartment = componentsAuxiliaryInputData.HVACAux?.HeatPumpModeDriverCompartment; - HeatPumpConfigurationsPassenger = null; - HeatPumpConfigurationsPassenger = new ObservableCollection<HeatPumpConfiguration>(); - if (componentsAuxiliaryInputData?.HVACAux?.HeatPumpPassengerCompartments != null) - { - foreach (var (heatPumpType, heatPumpMode) in componentsAuxiliaryInputData.HVACAux.HeatPumpPassengerCompartments) - { - HeatPumpConfigurationsPassenger.Add(new HeatPumpConfiguration() - { - HeatPumpType = heatPumpType, - HeatPumpMode = heatPumpMode, - }); - } - } - + HeatPumpTypeCoolingDriverCompartment = + componentsAuxiliaryInputData.HVACAux?.HeatPumpTypeCoolingDriverCompartment; + HeatPumpTypeHeatingDriverCompartment = + componentsAuxiliaryInputData.HVACAux?.HeatPumpTypeHeatingDriverCompartment; + HeatPumpTypeCoolingPassengerCompartment = + componentsAuxiliaryInputData.HVACAux?.HeatPumpTypeCoolingPassengerCompartment; + HeatPumpTypeHeatingPassengerCompartment = + componentsAuxiliaryInputData.HVACAux?.HeatPumpTypeHeatingPassengerCompartment; AuxHeaterPower = componentsAuxiliaryInputData.HVACAux?.AuxHeaterPower; @@ -294,21 +287,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation - #region HVAC - - private bool _heatPumpGroupEditingEnabled; - private BusHVACSystemConfiguration? _systemConfiguration; - private HeatPumpType? _heatPumpTypeDriverCompartment; - private HeatPumpMode? _heatPumpModeDriverCompartment; - - - - public IHVACBusAuxiliariesDeclarationData HVACAux - { - get => this; - set => throw new NotImplementedException(); - } + private Watt _auxHeaterPower; @@ -367,226 +347,35 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation public bool EngineWasteGasHeatExchanger => throw new NotImplementedException(); - #region Heatpump - - private ICommand _addPassengerHeatpumpCommand; - - public ICommand AddPassengerHeatpumpCommand - { - get - { - return _addPassengerHeatpumpCommand ?? (_addPassengerHeatpumpCommand = - new RelayCommand(() => { - HeatPumpGroupEditingEnabled = true; - if (HeatPumpConfigurationsPassenger == null) { - HeatPumpConfigurationsPassenger = new ObservableCollection<HeatPumpConfiguration>(); - } - - HeatPumpConfigurationsPassenger.Add(new HeatPumpConfiguration()); - RemovePassengerHeatpumpCommand.NotifyCanExecuteChanged(); - - }, - () => true)); - } - } - - private IRelayCommand _removePassengerHeatpumpCommand; - - public IRelayCommand RemovePassengerHeatpumpCommand - { - get - { - return _removePassengerHeatpumpCommand ?? (_removePassengerHeatpumpCommand = - new RelayCommand<HeatPumpConfiguration>(hp => { - if (HeatPumpGroupEditingEnabled && HeatPumpConfigurationsPassenger.Count > 1) { - HeatPumpConfigurationsPassenger?.Remove(hp); - RemovePassengerHeatpumpCommand.NotifyCanExecuteChanged(); - } - }, hp => HeatPumpConfigurationsPassenger.Count > 1)); - } - } - - public IList<Tuple<HeatPumpType, HeatPumpMode>> HeatPumpPassengerCompartments{ - get - { - IList<Tuple<HeatPumpType,HeatPumpMode>> list = null; - if (HeatPumpConfigurationsPassenger != null) { - list = new List<Tuple<HeatPumpType, HeatPumpMode>>(); - foreach (var heatPumpConfiguration in HeatPumpConfigurationsPassenger) - { - list.Add(new Tuple<HeatPumpType, HeatPumpMode>((HeatPumpType)heatPumpConfiguration.HeatPumpType, (HeatPumpMode)heatPumpConfiguration.HeatPumpMode)); - } - } - return list; - } - } - - public ObservableCollection<HeatPumpConfiguration> ConsolidatedHeatPumpConfigurationsPassenger - { - get => _consolidatedHeatPumpConfigurationsPassenger; - private set => SetProperty(ref _consolidatedHeatPumpConfigurationsPassenger, value); - } + #region HVAC - public ObservableCollection<HeatPumpConfiguration> HeatPumpConfigurationsPassenger - { - get => _heatPumpConfigurationsPassenger; - private set => SetProperty(ref _heatPumpConfigurationsPassenger, value); - } + private bool _heatPumpGroupEditingEnabled; + private BusHVACSystemConfiguration? _systemConfiguration; + private HeatPumpType? _heatPumpTypeCoolingDriverCompartment; + private HeatPumpType? _heatPumpTypeHeatingDriverCompartment; + private HeatPumpType? _heatPumpTypeCoolingPassengerCompartment; + private HeatPumpType? _heatPumpTypeHeatingPassengerCompartment; + private ObservableCollection<Enum> _heatPumpTypeDriverCompartmentAllowedValues; + private ObservableCollection<Enum> _heatPumpTypePassengerCompartmentAllowedValues; - public class HeatPumpConfiguration : ViewModelBase, ITuple, IDataErrorInfo + public IHVACBusAuxiliariesDeclarationData HVACAux { - public MultistageParameterViewModel HeatPumpTypeVM { get; } - public MultistageParameterViewModel HeatPumpModeVM { get; } - - private HeatPumpType? _heatPumpType; - private HeatPumpMode? _heatPumpMode; - - public HeatPumpType? HeatPumpType - { - get => _heatPumpType; - set - { - if (SetProperty(ref _heatPumpType, value)) { - - if (value == TUGraz.VectoCommon.BusAuxiliaries.HeatPumpType.none) - { - HeatPumpModeVM.AllowedItems = - EnumHelper.GetValuesAsObservableCollectionIncluding<Enum, HeatPumpMode>( - items: TUGraz.VectoCommon.BusAuxiliaries.HeatPumpMode.N_A); - } - else - { - HeatPumpModeVM.AllowedItems = - EnumHelper.GetValuesAsObservableCollectionExcluding<Enum, HeatPumpMode>( - items: TUGraz.VectoCommon.BusAuxiliaries.HeatPumpMode.N_A); - } - - HeatPumpTypeVM.CurrentContent = value; - } - } - } - - - public HeatPumpMode? HeatPumpMode - { - get => _heatPumpMode; - set - { - if (SetProperty(ref _heatPumpMode, value)) { - HeatPumpModeVM.CurrentContent = value; - } - } - } - public HeatPumpConfiguration() - { - HeatPumpModeVM = new MultistageParameterViewModel(nameof(HeatPumpMode), null, this, ViewMode.COMBOBOX, - mandatory: true, resourceManagers: new ResourceManager[] { - BusStrings.ResourceManager, - Strings.ResourceManager, - }) { - AllowedItems = EnumHelper.GetValuesAsObservableCollectionExcluding<Enum, HeatPumpMode>(items: TUGraz.VectoCommon.BusAuxiliaries.HeatPumpMode.N_A) - }; - HeatPumpTypeVM = new MultistageParameterViewModel(nameof(HeatPumpType), null, this, ViewMode.COMBOBOX, - mandatory: true, resourceManagers: new ResourceManager[] { - BusStrings.ResourceManager, - Strings.ResourceManager, - }); - } - - public bool IsReadOnly - { - get => HeatPumpModeVM.IsReadOnly && HeatPumpTypeVM.IsReadOnly; - set - { - HeatPumpTypeVM.IsReadOnly = value; - HeatPumpModeVM.IsReadOnly = value; - } - } - - #region Implementation of ITuple - - int ITuple.Length => 2; - - object ITuple.this[int index] - { - get - { - return null; - } - } - - #endregion - - #region Implementation of IDataErrorInfo - - string IDataErrorInfo.this[string columnName] - { - get - { - string result = null; - switch (columnName) { - case nameof(HeatPumpType): - if (HeatPumpType == null) { - result = $"{columnName} must not be empty"; - } - break; - case nameof(HeatPumpMode): - if (HeatPumpMode == null) { - result = $"{columnName} must not be empty"; - } - break; - default: - result = null; - break; - } - - if (result == null) - { - if (Errors.ContainsKey(columnName)) - Errors.Remove(columnName); - } - else - { - Errors[columnName] = result; - } - - - - return result; - } - } - - private Dictionary<string, string> Errors { get; } = new Dictionary<string, string>(); - - public bool HasErrors - { - get => !Errors.IsNullOrEmpty(); - - } - string IDataErrorInfo.Error => String.Join(",", Errors.Values); - - #endregion + get => this; + set => throw new NotImplementedException(); } - public bool HeatPumpGroupEditingEnabled { get => _heatPumpGroupEditingEnabled; set { if (SetProperty(ref _heatPumpGroupEditingEnabled, value)) { - _parameterViewModels[nameof(HeatPumpModeDriverCompartment)].EditingEnabled = value; - _parameterViewModels[nameof(HeatPumpTypeDriverCompartment)].EditingEnabled = value; - _parameterViewModels[nameof(SystemConfiguration)].EditingEnabled = value; - if (value == false) { - HeatPumpConfigurationsPassenger = null; - } else { - if (HeatPumpConfigurationsPassenger == null || HeatPumpConfigurationsPassenger.Count == 0) { - AddPassengerHeatpumpCommand.Execute(null); - } - } + _parameterViewModels[nameof(HeatPumpTypeCoolingDriverCompartment)].EditingEnabled = value; + _parameterViewModels[nameof(HeatPumpTypeCoolingPassengerCompartment)].EditingEnabled = value; + _parameterViewModels[nameof(HeatPumpTypeHeatingDriverCompartment)].EditingEnabled = value; + _parameterViewModels[nameof(HeatPumpTypeHeatingPassengerCompartment)].EditingEnabled = value; } } } @@ -607,58 +396,77 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation public BusHVACSystemConfiguration? SystemConfiguration { get => _systemConfiguration; - set => SetProperty(ref _systemConfiguration, value); + set { + if (SetProperty(ref _systemConfiguration, value)) { + switch (value) { + case BusHVACSystemConfiguration.Configuration6: + case BusHVACSystemConfiguration.Configuration10: + HeatPumpTypeDriverAllowedValues = + EnumHelper.GetValuesAsObservableCollectionIncluding<Enum, HeatPumpType>(HeatPumpType + .not_applicable); + break; + default: + HeatPumpTypeDriverAllowedValues = + EnumHelper.GetValuesAsObservableCollectionExcluding<Enum, HeatPumpType>(HeatPumpType + .not_applicable); + break; + } + }} } - public HeatPumpType? HeatPumpTypeDriverCompartment + #region Implementation of IHVACBusAuxiliariesDeclarationData + + public HeatPumpType? HeatPumpTypeCoolingDriverCompartment { - get => _heatPumpTypeDriverCompartment; + get => _heatPumpTypeCoolingDriverCompartment; set { - if (SetProperty(ref _heatPumpTypeDriverCompartment, value)) { - if (value == HeatPumpType.none) - { - HeatPumpModeDriverCompartmentAllowedValues = - EnumHelper.GetValuesAsObservableCollectionIncluding<Enum, HeatPumpMode>(items: HeatPumpMode.N_A); - - } - else - { - HeatPumpModeDriverCompartmentAllowedValues = - EnumHelper.GetValuesAsObservableCollectionExcluding<Enum, HeatPumpMode>( - items: HeatPumpMode.N_A); + SetProperty(ref _heatPumpTypeCoolingDriverCompartment, value); + } + } - } + public ObservableCollection<Enum> HeatPumpTypeDriverAllowedValues + { + get => _heatPumpTypeDriverCompartmentAllowedValues; + set => SetProperty(ref _heatPumpTypeDriverCompartmentAllowedValues, value); + } - } - } + public ObservableCollection<Enum> HeatPumpTypePassengerAllowedValues + { + get => _heatPumpTypePassengerCompartmentAllowedValues; + set => SetProperty(ref _heatPumpTypePassengerCompartmentAllowedValues, value); } - public HeatPumpMode? HeatPumpModeDriverCompartment + public HeatPumpType? HeatPumpTypeHeatingDriverCompartment { - get => _heatPumpModeDriverCompartment; - set => SetProperty(ref _heatPumpModeDriverCompartment, value); + get => _heatPumpTypeHeatingDriverCompartment; + set + { + SetProperty(ref _heatPumpTypeHeatingDriverCompartment, value); + } } - private ObservableCollection<Enum> _heatPumpModeDriverCompartmentAllowedValues; - - public ObservableCollection<Enum> HeatPumpModeDriverCompartmentAllowedValues + public HeatPumpType? HeatPumpTypeCoolingPassengerCompartment { - get + get => _heatPumpTypeCoolingPassengerCompartment; + set { - return _heatPumpModeDriverCompartmentAllowedValues; + SetProperty(ref _heatPumpTypeCoolingPassengerCompartment, value); } - private set + } + + public HeatPumpType? HeatPumpTypeHeatingPassengerCompartment + { + get => _heatPumpTypeHeatingPassengerCompartment; + set { - if (SetProperty(ref _heatPumpModeDriverCompartmentAllowedValues, value)) { - _parameterViewModels[nameof(HeatPumpModeDriverCompartment)].AllowedItems = value; - }; + SetProperty(ref _heatPumpTypeHeatingPassengerCompartment, value); } } #endregion - #endregion + #region IElectricConsumersDeclaration //LED lights @@ -714,8 +522,6 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation private CompressorDrive _compressorDrive; private Dictionary<string, MultistageParameterViewModel> _parameterViewModels; - private ObservableCollection<HeatPumpConfiguration> _consolidatedHeatPumpConfigurationsPassenger; - private ObservableCollection<HeatPumpConfiguration> _heatPumpConfigurationsPassenger; public CompressorDrive CompressorDrive @@ -812,8 +618,10 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation string result = null; switch (propertyName) { - case nameof(HeatPumpTypeDriverCompartment): - case nameof(HeatPumpModeDriverCompartment): + case nameof(HeatPumpTypeCoolingPassengerCompartment): + case nameof(HeatPumpTypeCoolingDriverCompartment): + case nameof(HeatPumpTypeHeatingPassengerCompartment): + case nameof(HeatPumpTypeHeatingDriverCompartment): case nameof(SystemConfiguration): if (HeatPumpGroupEditingEnabled == true && this.GetType().GetProperty(propertyName).GetValue(this) == null) { @@ -851,13 +659,6 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation string result = string.Empty; var auxVmError = String.Join(",", Errors.Values); result = auxVmError; - if (HeatPumpConfigurationsPassenger != null) { - foreach (var heatPumpConfiguration in HeatPumpConfigurationsPassenger) { - if (heatPumpConfiguration.HasErrors) { - result += "," + ((IDataErrorInfo)heatPumpConfiguration).Error; - } - } - } return result; } @@ -868,17 +669,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation get { var auxVmHasErrors = !Error.IsNullOrEmpty(); - var passengerHeatPumpsHaveError = false; - if (HeatPumpConfigurationsPassenger != null) { - foreach (var heatPump in HeatPumpConfigurationsPassenger) { - if (heatPump.HasErrors) { - passengerHeatPumpsHaveError = true; - break; - } - } - } - return auxVmHasErrors || passengerHeatPumpsHaveError; + return auxVmHasErrors; } } diff --git a/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml b/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml index 65740ac709..880cef340e 100644 --- a/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml +++ b/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml @@ -36,83 +36,24 @@ <Label Style="{DynamicResource LabelStyle1}">Heating, Ventilation and Air Conditioning</Label> <ContentControl Content="{Binding ParameterViewModels[SystemConfiguration]}"/> - <ContentControl Content="{Binding ParameterViewModels[HeatPumpTypeDriverCompartment]}"/> - <ContentControl Content="{Binding ParameterViewModels[HeatPumpModeDriverCompartment]}"/> - <Border Margin="5 0" BorderBrush="{DynamicResource ButtonHighlightColor}" BorderThickness="2" > - <StackPanel Margin="0"> - <Label Margin="0" Style="{DynamicResource LabelStyle1}">Heat Pumps Passenger Compartment</Label> - <StackPanel Visibility="{Binding ShowConsolidatedData, Converter={StaticResource BooleanToVisibilityConverter}}"> - <Label Padding="10 4 0 4" Style="{DynamicResource LabelStyle1}">Consolidated Data</Label> - <ItemsControl AlternationCount="2" - Visibility="{Binding ConsolidatedHeatPumpConfigurationsPassenger, Converter={StaticResource NullToVisibilityConverter}}" - ItemsSource="{Binding ConsolidatedHeatPumpConfigurationsPassenger}" - HorizontalContentAlignment="Stretch" - Padding="5 5 29 5 " > - <ItemsControl.ItemTemplate> - <DataTemplate> - <Border BorderThickness="1"> - <DockPanel LastChildFill="true" x:Name="ItemsDockPanel"> - <UniformGrid DockPanel.Dock="Left" Columns="2"> - <ContentControl Grid.Column="0" DockPanel.Dock="Top" Content="{Binding Path=HeatPumpTypeVM}"/> - <ContentControl Grid.Column="1" DockPanel.Dock="Top" Content="{Binding Path=HeatPumpModeVM}"/> - </UniformGrid> - </DockPanel> - </Border> - <DataTemplate.Triggers> - <Trigger Property="ItemsControl.AlternationIndex" Value="0"> - <Setter Property="Background" Value="White" TargetName="ItemsDockPanel"/> - </Trigger> - <Trigger Property="ItemsControl.AlternationIndex" Value="1"> - <Setter Property="Background" Value="LightGray" TargetName="ItemsDockPanel"/> - </Trigger> - </DataTemplate.Triggers> - </DataTemplate> - </ItemsControl.ItemTemplate> - </ItemsControl> - <Label Visibility="{Binding ConsolidatedHeatPumpConfigurationsPassenger, - Converter={StaticResource NullToVisibilityConverter}, - ConverterParameter=invert}" - HorizontalAlignment="Center">No consolidated data available</Label> - </StackPanel> - <DockPanel LastChildFill="true"> - <Button DockPanel.Dock="right" ContentTemplate="{DynamicResource AddIcon}" Command="{Binding AddPassengerHeatpumpCommand}"> - - </Button> - <Label Style="{DynamicResource LabelStyle1}" Padding="10 4 0 4">Current Stage</Label> - </DockPanel> - - <ItemsControl ItemsSource="{Binding HeatPumpConfigurationsPassenger}" HorizontalContentAlignment="Stretch" - Padding="5" AlternationCount="2"> - <ItemsControl.ItemTemplate> - <DataTemplate> - <Border BorderThickness="1"> - <DockPanel LastChildFill="true" x:Name="ItemsDockPanel"> - <Button DockPanel.Dock="Right" Height="24" - ContentTemplate="{DynamicResource TrashIcon}" - Command="{Binding RelativeSource={RelativeSource AncestorType=ItemsControl}, - Path=DataContext.RemovePassengerHeatpumpCommand}" - CommandParameter="{Binding }"/> - <UniformGrid DockPanel.Dock="Left" Columns="2"> - <ContentControl Grid.Column="0" DockPanel.Dock="Top" Content="{Binding Path=HeatPumpTypeVM}"/> - <ContentControl Grid.Column="1" DockPanel.Dock="Top" Content="{Binding Path=HeatPumpModeVM}"/> - </UniformGrid> - </DockPanel> - </Border> - <DataTemplate.Triggers> - <Trigger Property="ItemsControl.AlternationIndex" Value="0"> - <Setter Property="Background" Value="White" TargetName="ItemsDockPanel"/> - </Trigger> - <Trigger Property="ItemsControl.AlternationIndex" Value="1"> - <Setter Property="Background" Value="LightGray" TargetName="ItemsDockPanel"/> - </Trigger> - </DataTemplate.Triggers> - </DataTemplate> - </ItemsControl.ItemTemplate> - </ItemsControl> + <Border Margin="5" BorderThickness="2" BorderBrush="{DynamicResource ButtonHighlightColor}"> + <StackPanel> + <Label Style="{DynamicResource LabelStyle1}">Driver Compartment</Label> + <ContentControl Content="{Binding ParameterViewModels[HeatPumpTypeCoolingDriverCompartment]}"/> + <ContentControl Content="{Binding ParameterViewModels[HeatPumpTypeHeatingDriverCompartment]}"/> + </StackPanel> + </Border> + <Border Margin="5" BorderThickness="2" BorderBrush="{DynamicResource ButtonHighlightColor}"> + <StackPanel> + <Label Style="{DynamicResource LabelStyle1}">Passenger Compartment</Label> + <ContentControl Content="{Binding ParameterViewModels[HeatPumpTypeCoolingPassengerCompartment]}"/> + <ContentControl Content="{Binding ParameterViewModels[HeatPumpTypeHeatingPassengerCompartment]}"/> </StackPanel> </Border> + + <ContentControl Content="{Binding ParameterViewModels[AuxHeaterPower]}"/> <ContentControl Content="{Binding ParameterViewModels[DoubleGlazing]}"/> <ContentControl Content="{Binding ParameterViewModels[AdjustableAuxiliaryHeater]}"/> diff --git a/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs b/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs index 43d1066515..e2ed624383 100644 --- a/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs +++ b/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs @@ -38,38 +38,38 @@ namespace Vecto3GUI2020Test } - [Test, Combinatorial] - public void LoadPrimaryAndEditHVACDriverCompartmentOnly( - [Values(BusHVACSystemConfiguration.Configuration2)] BusHVACSystemConfiguration configuration) - { - var stageInputFileName = "stageinput.xml"; + //[Test, Combinatorial] + //public void LoadPrimaryAndEditHVACDriverCompartmentOnly( + // [Values(BusHVACSystemConfiguration.Configuration2)] BusHVACSystemConfiguration configuration) + //{ + // var stageInputFileName = "stageinput.xml"; - //Load Primary Vehicle VIF - var newMultiStageJob = loadFile(primary_vehicle_only); - var vehicle = newMultiStageJob.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as InterimStageBusVehicleViewModel_v2_8; - Assert.NotNull(vehicle); - vehicle.Manufacturer = "test1"; - vehicle.ManufacturerAddress = "testAddress2"; - vehicle.VIN = "VIN123456789"; + // //Load Primary Vehicle VIF + // var newMultiStageJob = loadFile(primary_vehicle_only); + // var vehicle = newMultiStageJob.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as InterimStageBusVehicleViewModel_v2_8; + // Assert.NotNull(vehicle); + // vehicle.Manufacturer = "test1"; + // vehicle.ManufacturerAddress = "testAddress2"; + // vehicle.VIN = "VIN123456789"; - var manufacturingStage = newMultiStageJob.MultiStageJobViewModel.ManufacturingStageViewModel as ManufacturingStageViewModel_v0_1; + // var manufacturingStage = newMultiStageJob.MultiStageJobViewModel.ManufacturingStageViewModel as ManufacturingStageViewModel_v0_1; - var auxVm = manufacturingStage.VehicleViewModel.MultistageAuxiliariesViewModel as MultistageAuxiliariesViewModel; + // var auxVm = manufacturingStage.VehicleViewModel.MultistageAuxiliariesViewModel as MultistageAuxiliariesViewModel; - auxVm.SystemConfiguration = BusHVACSystemConfiguration.Configuration2; - auxVm.HeatPumpTypeDriverCompartment = HeatPumpType.non_R_744_2_stage; - auxVm.HeatPumpModeDriverCompartment = (HeatPumpMode)auxVm.HeatPumpModeDriverCompartmentAllowedValues[0]; + // auxVm.SystemConfiguration = BusHVACSystemConfiguration.Configuration2; + // auxVm.HeatPumpTypeDriverCompartment = HeatPumpType.non_R_744_2_stage; + // auxVm.HeatPumpModeDriverCompartment = (HeatPumpMode)auxVm.HeatPumpModeDriverCompartmentAllowedValues[0]; - var multistageJob = newMultiStageJob.MultiStageJobViewModel as MultiStageJobViewModel_v0_1; - multistageJob.ManufacturingStageViewModel.SaveInputDataExecute(GetFullPath(stageInputFileName)); - Assert.IsTrue(checkFileNameExists(stageInputFileName)); + // var multistageJob = newMultiStageJob.MultiStageJobViewModel as MultiStageJobViewModel_v0_1; + // multistageJob.ManufacturingStageViewModel.SaveInputDataExecute(GetFullPath(stageInputFileName)); + // Assert.IsTrue(checkFileNameExists(stageInputFileName)); - } + //} @@ -408,38 +408,32 @@ namespace Vecto3GUI2020Test Assert.AreEqual(false, electricConsumer.HeadlightsLED); } - private void TestHVACComponent(IHVACBusAuxiliariesDeclarationData hvacAux) - { - Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvacAux.SystemConfiguration); - Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeDriverCompartment); - Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpModeDriverCompartment); - - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpPassengerCompartments[0].Item2); - - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvacAux.HeatPumpPassengerCompartments[1].Item1); - Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpPassengerCompartments[1].Item2); + private void TestHVACComponent(IHVACBusAuxiliariesDeclarationData hvacAux) + { + Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvacAux.SystemConfiguration); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpPassengerCompartments[2].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpPassengerCompartments[2].Item2); + Assert.AreEqual(HeatPumpType.R_744, hvacAux.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, hvacAux.HeatPumpTypeCoolingDriverCompartment); Assert.AreEqual(50, hvacAux.AuxHeaterPower.Value()); - Assert.AreEqual(false, hvacAux.DoubleGlazing); - Assert.AreEqual(true, hvacAux.AdjustableAuxiliaryHeater); - Assert.AreEqual(false, hvacAux.SeparateAirDistributionDucts); - Assert.AreEqual(true, hvacAux.WaterElectricHeater); - Assert.AreEqual(false, hvacAux.AirElectricHeater); - Assert.AreEqual(false, hvacAux.OtherHeatingTechnology); - } + Assert.AreEqual(false, hvacAux.DoubleGlazing); + Assert.AreEqual(true, hvacAux.AdjustableAuxiliaryHeater); + Assert.AreEqual(false, hvacAux.SeparateAirDistributionDucts); + Assert.AreEqual(true, hvacAux.WaterElectricHeater); + Assert.AreEqual(false, hvacAux.AirElectricHeater); + Assert.AreEqual(false, hvacAux.OtherHeatingTechnology); + } - #region Helper + #region Helper - #endregion - } + #endregion + } } \ No newline at end of file diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index 87e4208c30..b3798b9e75 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -894,11 +894,13 @@ namespace TUGraz.VectoCommon.InputData { BusHVACSystemConfiguration? SystemConfiguration { get; } - HeatPumpType? HeatPumpTypeDriverCompartment { get; } - - HeatPumpMode? HeatPumpModeDriverCompartment { get; } - - IList<Tuple<HeatPumpType, HeatPumpMode>> HeatPumpPassengerCompartments { get; } + HeatPumpType? HeatPumpTypeCoolingDriverCompartment { get; } + + HeatPumpType? HeatPumpTypeHeatingDriverCompartment { get; } + + HeatPumpType? HeatPumpTypeCoolingPassengerCompartment { get; } + + HeatPumpType? HeatPumpTypeHeatingPassengerCompartment { get; } Watt AuxHeaterPower { get; } diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs index 505a1a3f6b..a3e3dcbc93 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs +++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs @@ -700,38 +700,38 @@ namespace TUGraz.VectoCommon.Resources { } /// <summary> - /// Looks up a localized string similar to HeatPumpModeDriverCompartment. + /// Looks up a localized string similar to HeatPumpTypeCoolingDriverCompartment. /// </summary> - public static string Bus_HeatPumpModeDriver { + public static string Bus_HeatPumpTypeCoolingDriver { get { - return ResourceManager.GetString("Bus_HeatPumpModeDriver", resourceCulture); + return ResourceManager.GetString("Bus_HeatPumpTypeCoolingDriver", resourceCulture); } } /// <summary> - /// Looks up a localized string similar to HeatPumpModePassengerCompartment. + /// Looks up a localized string similar to HeatPumpTypeCoolingPassengerCompartment. /// </summary> - public static string Bus_HeatPumpModePassenger { + public static string Bus_HeatPumpTypeCoolingPassenger { get { - return ResourceManager.GetString("Bus_HeatPumpModePassenger", resourceCulture); + return ResourceManager.GetString("Bus_HeatPumpTypeCoolingPassenger", resourceCulture); } } /// <summary> - /// Looks up a localized string similar to HeatPumpTypeDriverCompartment. + /// Looks up a localized string similar to HeatPumpTypeHeatingDriverCompartment. /// </summary> - public static string Bus_HeatPumpTypeDriver { + public static string Bus_HeatPumpTypeHeatingDriver { get { - return ResourceManager.GetString("Bus_HeatPumpTypeDriver", resourceCulture); + return ResourceManager.GetString("Bus_HeatPumpTypeHeatingDriver", resourceCulture); } } /// <summary> - /// Looks up a localized string similar to HeatPumpTypePassengerCompartment. + /// Looks up a localized string similar to HeatPumpTypeHeatingPassengerCompartment. /// </summary> - public static string Bus_HeatPumpTypePassenger { + public static string Bus_HeatPumpTypeHeatingPassenger { get { - return ResourceManager.GetString("Bus_HeatPumpTypePassenger", resourceCulture); + return ResourceManager.GetString("Bus_HeatPumpTypeHeatingPassenger", resourceCulture); } } diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx index bbb441fcd9..357b2eadc0 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.resx +++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx @@ -1398,17 +1398,17 @@ <data name="Bus_AirElectricHeater" xml:space="preserve"> <value>AirElectricHeater</value> </data> - <data name="Bus_HeatPumpModeDriver" xml:space="preserve"> - <value>HeatPumpModeDriverCompartment</value> + <data name="Bus_HeatPumpTypeCoolingDriver" xml:space="preserve"> + <value>HeatPumpTypeCoolingDriverCompartment</value> </data> - <data name="Bus_HeatPumpModePassenger" xml:space="preserve"> - <value>HeatPumpModePassengerCompartment</value> + <data name="Bus_HeatPumpTypeHeatingDriver" xml:space="preserve"> + <value>HeatPumpTypeHeatingDriverCompartment</value> </data> - <data name="Bus_HeatPumpTypeDriver" xml:space="preserve"> - <value>HeatPumpTypeDriverCompartment</value> + <data name="Bus_HeatPumpTypeCoolingPassenger" xml:space="preserve"> + <value>HeatPumpTypeCoolingPassengerCompartment</value> </data> - <data name="Bus_HeatPumpTypePassenger" xml:space="preserve"> - <value>HeatPumpTypePassengerCompartment</value> + <data name="Bus_HeatPumpTypeHeatingPassenger" xml:space="preserve"> + <value>HeatPumpTypeHeatingPassengerCompartment</value> </data> <data name="Bus_OtherHeatingTechnology" xml:space="preserve"> <value>OtherHeatingTechnology</value> diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs index 592b5b3459..477a071d8a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs @@ -570,8 +570,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON #region Implementation of IHVACBusAuxiliariesDeclarationData public virtual BusHVACSystemConfiguration? SystemConfiguration { get; set; } - public virtual HeatPumpType? HeatPumpTypeDriverCompartment => null; - public virtual HeatPumpMode? HeatPumpModeDriverCompartment => null; + + public HeatPumpType? HeatPumpTypeCoolingDriverCompartment => null; + + public HeatPumpType? HeatPumpTypeHeatingDriverCompartment => null; + + public HeatPumpType? HeatPumpTypeCoolingPassengerCompartment => null; + + public HeatPumpType? HeatPumpTypeHeatingPassengerCompartment => null; public virtual IList<Tuple<HeatPumpType, HeatPumpMode>> HeatPumpPassengerCompartments => null; public virtual Watt AuxHeaterPower => null; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs index 521cc4b5fc..684fdcf759 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs @@ -183,11 +183,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Implementation of IHVACBusAuxiliariesDeclarationData public virtual BusHVACSystemConfiguration? SystemConfiguration => BusHVACSystemConfiguration.Unknown; - - public virtual HeatPumpType? HeatPumpTypeDriverCompartment => null; - public virtual HeatPumpMode? HeatPumpModeDriverCompartment => null; - - public virtual IList<Tuple<HeatPumpType, HeatPumpMode>> HeatPumpPassengerCompartments => null; + public virtual HeatPumpType? HeatPumpTypeCoolingDriverCompartment => null; + public virtual HeatPumpType? HeatPumpTypeHeatingDriverCompartment => null; + public virtual HeatPumpType? HeatPumpTypeCoolingPassengerCompartment => null; + public virtual HeatPumpType? HeatPumpTypeHeatingPassengerCompartment => null; public virtual Watt AuxHeaterPower => 0.SI<Watt>(); @@ -307,10 +306,18 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider private bool IsBusHVACTagEmpty() { - return SystemConfiguration == null && HeatPumpTypeDriverCompartment == null && HeatPumpModeDriverCompartment == null && - HeatPumpPassengerCompartments?.Any() != true && AuxHeaterPower == null && DoubleGlazing == null && - AdjustableAuxiliaryHeater == null && SeparateAirDistributionDucts == null && WaterElectricHeater == null && - AirElectricHeater == null && OtherHeatingTechnology == null ; + return SystemConfiguration == null && + HeatPumpTypeCoolingPassengerCompartment == null && + HeatPumpTypeHeatingPassengerCompartment == null && + HeatPumpTypeCoolingDriverCompartment == null && + HeatPumpTypeHeatingDriverCompartment == null && + AuxHeaterPower == null && + DoubleGlazing == null && + AdjustableAuxiliaryHeater == null && + SeparateAirDistributionDucts == null && + WaterElectricHeater == null && + AirElectricHeater == null && + OtherHeatingTechnology == null ; } public override XmlNode XMLSource => BaseNode; @@ -322,50 +329,48 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider ElementExists(XMLNames.Bus_SystemConfiguration) ? BusHVACSystemConfigurationHelper.Parse(GetString(XMLNames.Bus_SystemConfiguration)) : null; - public override HeatPumpType? HeatPumpTypeDriverCompartment => - ElementExists(XMLNames.Bus_HeatPumpTypeDriver) - ? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypeDriver)) : (HeatPumpType?)null; - public override HeatPumpMode? HeatPumpModeDriverCompartment + #region Overrides of XMLDeclarationPrimaryBusAuxiliariesDataProviderV26 + + public override HeatPumpType? HeatPumpTypeCoolingDriverCompartment { get { - if (HeatPumpTypeDriverCompartment == HeatPumpType.none && !ElementExists(XMLNames.Bus_HeatPumpModeDriver)) - return HeatPumpMode.N_A; - - return ElementExists(XMLNames.Bus_HeatPumpModeDriver) - ? (HeatPumpMode?)HeatPumpModeHelper.Parse(GetString(XMLNames.Bus_HeatPumpModeDriver)) : null; + return ElementExists(XMLNames.Bus_HeatPumpTypeCoolingDriver) + ? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypeCoolingDriver)) : (HeatPumpType?)null; } } + public override HeatPumpType? HeatPumpTypeHeatingDriverCompartment + { + get + { + return ElementExists(XMLNames.Bus_HeatPumpTypeHeatingDriver) + ? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypeHeatingDriver)) : (HeatPumpType?)null; + } + } + public override HeatPumpType? HeatPumpTypeCoolingPassengerCompartment + { + get + { + return ElementExists(XMLNames.Bus_HeatPumpTypeCoolingPassenger) + ? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypeCoolingPassenger)) : (HeatPumpType?)null; + } + } - public override IList<Tuple<HeatPumpType, HeatPumpMode>> HeatPumpPassengerCompartments => - ElementExists(XMLNames.Bus_HeatPumpTypePassenger) - && ElementExists(XMLNames.Bus_HeatPumpModePassenger) - ? GetHeatPumpPassengerCompartments() : null; - - private IList<Tuple<HeatPumpType, HeatPumpMode>> GetHeatPumpPassengerCompartments() + public override HeatPumpType? HeatPumpTypeHeatingPassengerCompartment { - var pumpTypeNodes = GetNodes(XMLNames.Bus_HeatPumpTypePassenger); - var pumpModeNodes = GetNodes(XMLNames.Bus_HeatPumpModePassenger); - - if (pumpTypeNodes == null || pumpModeNodes == null) - return null; - if (pumpTypeNodes.Count != pumpModeNodes.Count ) - return null; - - var heatPumps = new List<Tuple<HeatPumpType, HeatPumpMode>>(); - - for (int i = 0; i < pumpTypeNodes.Count; i++) { - var pumpType = HeatPumpTypeHelper.Parse(pumpTypeNodes[i]?.InnerText); - var pumpMode = HeatPumpModeHelper.Parse(pumpModeNodes[i]?.InnerText); - heatPumps.Add(new Tuple<HeatPumpType, HeatPumpMode>(pumpType, pumpMode)); + get + { + return ElementExists(XMLNames.Bus_HeatPumpTypeHeatingPassenger) + ? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypeHeatingPassenger)) : (HeatPumpType?)null; } - - return heatPumps.Any() != true ? null : heatPumps; } + #endregion + + public override Watt AuxHeaterPower => ElementExists(XMLNames.Bus_AuxiliaryHeaterPower) ? GetDouble(XMLNames.Bus_AuxiliaryHeaterPower).SI<Watt>() : null; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs index 5e24e13149..f9f46586f3 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs @@ -1171,16 +1171,20 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl // --------------------------------------------------------------------------------------- public class ConsolidatedHVACBusAuxiliariesData : ConsolidatedDataBase, IHVACBusAuxiliariesDeclarationData { + public ConsolidatedHVACBusAuxiliariesData(IEnumerable<IManufacturingStageInputData> manufacturingStages) : base(manufacturingStages) { } public BusHVACSystemConfiguration? SystemConfiguration => GetHVACBusAuxPropertyValue<BusHVACSystemConfiguration?>(nameof(SystemConfiguration)); - public HeatPumpType? HeatPumpTypeDriverCompartment => GetHVACBusAuxPropertyValue<HeatPumpType?>(nameof(HeatPumpTypeDriverCompartment)); - public HeatPumpMode? HeatPumpModeDriverCompartment => GetHVACBusAuxPropertyValue<HeatPumpMode?>(nameof(HeatPumpModeDriverCompartment)); + public HeatPumpType? HeatPumpTypeCoolingDriverCompartment => GetHVACBusAuxPropertyValue<HeatPumpType?>(nameof(HeatPumpTypeCoolingDriverCompartment)); + + public HeatPumpType? HeatPumpTypeHeatingDriverCompartment => GetHVACBusAuxPropertyValue<HeatPumpType?>(nameof(HeatPumpTypeHeatingDriverCompartment)); + + public HeatPumpType? HeatPumpTypeCoolingPassengerCompartment => GetHVACBusAuxPropertyValue<HeatPumpType?>(nameof(HeatPumpTypeCoolingPassengerCompartment)); - public IList<Tuple<HeatPumpType, HeatPumpMode>> HeatPumpPassengerCompartments => GetHeatPumpPassengerCompartments(); + public HeatPumpType? HeatPumpTypeHeatingPassengerCompartment => GetHVACBusAuxPropertyValue<HeatPumpType?>(nameof(HeatPumpTypeHeatingPassengerCompartment)); public Watt AuxHeaterPower => GetHVACBusAuxPropertyValue<Watt>(nameof(AuxHeaterPower)); @@ -1201,19 +1205,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public bool EngineWasteGasHeatExchanger { get; } - private IList<Tuple<HeatPumpType, HeatPumpMode>> GetHeatPumpPassengerCompartments() - { - if (_manufacturingStages?.Any() != true) - return null; - - foreach (var entry in _manufacturingStages) { - if (entry.Vehicle?.Components?.BusAuxiliaries?.HVACAux?.HeatPumpPassengerCompartments != null) - return entry.Vehicle.Components.BusAuxiliaries.HVACAux.HeatPumpPassengerCompartments; - } - - return null; - } - private T GetHVACBusAuxPropertyValue<T>(string propertyName) { @@ -1252,9 +1243,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl { if (fullCheck) { return MethodComplete(IsCorrectSystemConfiguration(), nameof(IsCorrectSystemConfiguration)) - & InputComplete(HeatPumpTypeDriverCompartment, nameof(HeatPumpTypeDriverCompartment)) - & InputComplete(HeatPumpModeDriverCompartment, nameof(HeatPumpModeDriverCompartment)) - & InputComplete(HeatPumpPassengerCompartments, nameof(HeatPumpPassengerCompartments)) + & InputComplete(HeatPumpTypeCoolingDriverCompartment, nameof(HeatPumpTypeCoolingDriverCompartment)) + & InputComplete(HeatPumpTypeHeatingDriverCompartment, nameof(HeatPumpTypeHeatingDriverCompartment)) + & InputComplete(HeatPumpTypeCoolingPassengerCompartment, nameof(HeatPumpTypeCoolingPassengerCompartment)) + & InputComplete(HeatPumpTypeHeatingPassengerCompartment, nameof(HeatPumpTypeHeatingPassengerCompartment)) & InputComplete(AuxHeaterPower, nameof(AuxHeaterPower)) & InputComplete(DoubleGlazing, nameof(DoubleGlazing)) & InputComplete(AdjustableAuxiliaryHeater, nameof(AdjustableAuxiliaryHeater)) @@ -1262,9 +1254,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl & MethodComplete(RequiredParametersForJobType(jobType), nameof(RequiredParametersForJobType)); } return MethodComplete(IsCorrectSystemConfiguration(), nameof(IsCorrectSystemConfiguration)) - && InputComplete(HeatPumpTypeDriverCompartment, nameof(HeatPumpTypeDriverCompartment)) - && InputComplete(HeatPumpModeDriverCompartment, nameof(HeatPumpModeDriverCompartment)) - && InputComplete(HeatPumpPassengerCompartments, nameof(HeatPumpPassengerCompartments)) + && InputComplete(HeatPumpTypeCoolingDriverCompartment, nameof(HeatPumpTypeCoolingDriverCompartment)) + && InputComplete(HeatPumpTypeHeatingDriverCompartment, nameof(HeatPumpTypeHeatingDriverCompartment)) + && InputComplete(HeatPumpTypeCoolingPassengerCompartment, nameof(HeatPumpTypeCoolingPassengerCompartment)) + && InputComplete(HeatPumpTypeHeatingPassengerCompartment, nameof(HeatPumpTypeHeatingPassengerCompartment)) && InputComplete(AuxHeaterPower, nameof(AuxHeaterPower)) && InputComplete(DoubleGlazing, nameof(DoubleGlazing)) && InputComplete(AdjustableAuxiliaryHeater, nameof(AdjustableAuxiliaryHeater)) diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs index 3ed44c3045..043f98ee0d 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs @@ -222,37 +222,47 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter if (completedVehicle.NumberPassengersStandingUpperDeck == null) { throw new VectoException("NumberOfPassengersStandingUpperDeck input parameter is required"); } - if (busAux.HeatPumpTypeDriverCompartment == null) { - throw new VectoException("HeatPumpTypeDriverCompartment input parameter is required"); + if (busAux.HeatPumpTypeCoolingDriverCompartment == null) { + throw new VectoException("HeatPumpTypeCoolingDriverCompartment input parameter is required"); } - if (busAux.HeatPumpPassengerCompartments == null || busAux.HeatPumpPassengerCompartments.Count == 0) { - throw new VectoException("HeatPumpPassengerCompartments input parameter is required"); - } - if (busAux.HeatPumpModeDriverCompartment == null || (busAux.HeatPumpTypeDriverCompartment != HeatPumpType.none && busAux.HeatPumpModeDriverCompartment.Value == HeatPumpMode.N_A)) { - throw new VectoException("HeatPumpTypeDriverCompartment input parameter is required"); + if (busAux.HeatPumpTypeHeatingDriverCompartment == null) { + throw new VectoException("HeatPumpTypeHeatingDriverCompartment input parameter is required"); } - if (hvacConfiguration.RequiresDriverAC() && busAux.HeatPumpTypeDriverCompartment == HeatPumpType.none) { - throw new VectoException("HVAC System Configuration {0} requires DriverAC Technology", hvacConfiguration); + if (busAux.HeatPumpTypeCoolingPassengerCompartment == null) { + throw new VectoException("HeatPumpTypeCoolingPassengerCompartment input parameter is required"); } + + + + //if (busAux.HeatPumpPassengerCompartments == null || busAux.HeatPumpPassengerCompartments.Count == 0) { + // throw new VectoException("HeatPumpPassengerCompartments input parameter is required"); + //} + //if (busAux.HeatPumpModeDriverCompartment == null || (busAux.HeatPumpTypeDriverCompartment != HeatPumpType.none && busAux.HeatPumpModeDriverCompartment.Value == HeatPumpMode.N_A)) { + // throw new VectoException("HeatPumpTypeDriverCompartment input parameter is required"); + //} + + //if (hvacConfiguration.RequiresDriverAC() && busAux.HeatPumpTypeCoolingDriverCompartment == HeatPumpType.none) { + // throw new VectoException("HVAC System Configuration {0} requires DriverAC Technology", hvacConfiguration); + //} - if (hvacConfiguration.RequiresPassengerAC() && busAux.HeatPumpPassengerCompartments.All(x => x.Item1 == HeatPumpType.none)) { - throw new VectoException("HVAC System Configuration {0} requires PassengerAC Technology", hvacConfiguration); - } + //if (hvacConfiguration.RequiresPassengerAC() && busAux.HeatPumpTypeCoolingPassengerCompartment == HeatPumpType.none) { + // throw new VectoException("HVAC System Configuration {0} requires PassengerAC Technology", hvacConfiguration); + //} - if (busAux.HeatPumpPassengerCompartments.Any(x => x.Item1 != HeatPumpType.none && x.Item2 == HeatPumpMode.N_A)) { - throw new VectoException("HeatPumpModePassengerCompartment input parameter is required"); - } + //if (busAux.HeatPumpPassengerCompartments.Any(x => x.Item1 != HeatPumpType.none && x.Item2 == HeatPumpMode.N_A)) { + // throw new VectoException("HeatPumpModePassengerCompartment input parameter is required"); + // } - var heatPumpTypeDriverCompartment = - busAux.HeatPumpModeDriverCompartment == HeatPumpMode.heating - ? HeatPumpType.none - : busAux.HeatPumpTypeDriverCompartment.Value; + // var heatPumpTypeDriverCompartment = + // busAux.HeatPumpModeDriverCompartment == HeatPumpMode.heating + // ? HeatPumpType.none + // : busAux.HeatPumpTypeDriverCompartment.Value; - var heatPumpTypePassengerCompartment = ( - busAux.HeatPumpPassengerCompartments.All(x => x.Item2 == HeatPumpMode.heating) - ? new[] {HeatPumpType.none}.ToList() - : busAux.HeatPumpPassengerCompartments.Select(x => x.Item1).ToList()).FirstOrDefault(); + // var heatPumpTypePassengerCompartment = ( + // busAux.HeatPumpPassengerCompartments.All(x => x.Item2 == HeatPumpMode.heating) + // ? new[] {HeatPumpType.none}.ToList() + // : busAux.HeatPumpPassengerCompartments.Select(x => x.Item1).ToList()).FirstOrDefault(); var internalLength = hvacConfiguration == BusHVACSystemConfiguration.Configuration2 ? 2 * Constants.BusParameters.DriverCompartmentLength // OK @@ -294,14 +304,24 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter ssmInputs.HVACMaxCoolingPower = coolingPower.Item1 + coolingPower.Item2; //ToDo FK COP calculation - ssmInputs.HVACCompressorType = heatPumpTypePassengerCompartment; // use passenger compartment + var heatPumpTypePassengerCompartment = busAux.HeatPumpTypeCoolingPassengerCompartment.Value; + var heatPumpTypeDriverCompartment = busAux.HeatPumpTypeCoolingDriverCompartment.Value; + + ssmInputs.HVACCompressorType = busAux.HeatPumpTypeCoolingPassengerCompartment.Value; // use passenger compartment ssmInputs.HVACTechnology = $"{busAux.SystemConfiguration.GetName()} " + $"({string.Join(", ", heatPumpTypePassengerCompartment.GetName(), heatPumpTypeDriverCompartment.GetName())})"; ssmInputs.COP = DeclarationData.BusAuxiliaries.CalculateCOP( coolingPower.Item1, heatPumpTypeDriverCompartment, coolingPower.Item2, heatPumpTypePassengerCompartment /* average */, floorType); - return ssmInputs; + ssmInputs.HVACCompressorType = heatPumpTypePassengerCompartment; // use passenger compartment + ssmInputs.HVACTechnology = $"{busAux.SystemConfiguration.GetName()} " + + $"({string.Join(", ", heatPumpTypePassengerCompartment.GetName(), heatPumpTypeDriverCompartment.GetName())})"; + ssmInputs.COP = DeclarationData.BusAuxiliaries.CalculateCOP( + coolingPower.Item1, heatPumpTypeDriverCompartment, coolingPower.Item2, heatPumpTypePassengerCompartment /* average */, + floorType); + + return ssmInputs; } diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/JobContainer.cs b/VectoCore/VectoCore/Models/Simulation/Impl/JobContainer.cs index 51e657b772..d5ec68ba0a 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/JobContainer.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/JobContainer.cs @@ -304,13 +304,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl public void WaitFinished() { - try { - _cancelLock.EnterReadLock(); - System.Diagnostics.Debug.Assert(_canceled == true); - } finally { - _cancelLock.ExitReadLock(); - } - Task[] tasks; try { _runsRwLock.EnterReadLock(); diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs index 7548a6139d..99899340bc 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs @@ -498,20 +498,30 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF return null; if (hvac.SystemConfiguration == null && - hvac.HeatPumpModeDriverCompartment == null && hvac.HeatPumpTypeDriverCompartment == null && - hvac.HeatPumpPassengerCompartments?.Any() != true && hvac.AuxHeaterPower == null && hvac.DoubleGlazing == null && - hvac.AdjustableAuxiliaryHeater == null && hvac.SeparateAirDistributionDucts == null && - hvac.WaterElectricHeater == null && hvac.AirElectricHeater == null && hvac.OtherHeatingTechnology == null) + hvac.HeatPumpTypeCoolingDriverCompartment == null && + hvac.HeatPumpTypeHeatingDriverCompartment == null && + hvac.HeatPumpTypeCoolingPassengerCompartment == null && + hvac.HeatPumpTypeHeatingPassengerCompartment == null && + hvac.AuxHeaterPower == null && + hvac.DoubleGlazing == null && + hvac.AdjustableAuxiliaryHeater == null && + hvac.SeparateAirDistributionDucts == null && + hvac.WaterElectricHeater == null && + hvac.AirElectricHeater == null && + hvac.OtherHeatingTechnology == null) return null; return new XElement(v28 + XMLNames.BusAux_HVAC, hvac.SystemConfiguration != null ? new XElement(v28 + XMLNames.Bus_SystemConfiguration, hvac.SystemConfiguration.GetXmlFormat()) : null, - hvac.HeatPumpTypeDriverCompartment != null - ? new XElement(v28 + XMLNames.Bus_HeatPumpTypeDriver, hvac.HeatPumpTypeDriverCompartment.GetLabel()) : null, - hvac.HeatPumpModeDriverCompartment != null - ? new XElement(v28 + XMLNames.Bus_HeatPumpModeDriver, hvac.HeatPumpModeDriverCompartment.GetLabel()) : null, - GetHeatPumpPassengerCompartments(hvac.HeatPumpPassengerCompartments), + hvac.HeatPumpTypeCoolingDriverCompartment != null + ? new XElement(v28 + XMLNames.Bus_HeatPumpTypeCoolingDriver, hvac.HeatPumpTypeCoolingDriverCompartment.GetLabel()) : null, + hvac.HeatPumpTypeHeatingDriverCompartment != null + ? new XElement(v28 + XMLNames.Bus_HeatPumpTypeHeatingDriver, hvac.HeatPumpTypeHeatingDriverCompartment.GetLabel()) : null, + hvac.HeatPumpTypeCoolingPassengerCompartment != null + ? new XElement(v28 + XMLNames.Bus_HeatPumpTypeCoolingPassenger, hvac.HeatPumpTypeCoolingPassengerCompartment.GetLabel()) : null, + hvac.HeatPumpTypeHeatingPassengerCompartment != null + ? new XElement(v28 + XMLNames.Bus_HeatPumpTypeHeatingPassenger, hvac.HeatPumpTypeHeatingPassengerCompartment.GetLabel()) : null, hvac.AuxHeaterPower != null ? new XElement(v28 + XMLNames.Bus_AuxiliaryHeaterPower, hvac.AuxHeaterPower.ToXMLFormat(0)) : null, hvac.DoubleGlazing != null @@ -528,22 +538,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF ? new XElement(v28 + XMLNames.Bus_OtherHeatingTechnology, hvac.OtherHeatingTechnology) : null ); } - - private IList<XElement> GetHeatPumpPassengerCompartments(IList<Tuple<HeatPumpType,HeatPumpMode>> heatPumps) - { - if (heatPumps?.Any() != true) - return null; - - var result = new List<XElement>(); - - for (int i = 0; i < heatPumps.Count; i++) { - result.Add(new XElement(v28 + XMLNames.Bus_HeatPumpTypePassenger, heatPumps[i].Item1.GetLabel())); - result.Add(new XElement(v28 + XMLNames.Bus_HeatPumpModePassenger, heatPumps[i].Item2.GetLabel())); - } - - return result; - } - private XElement GetApplicationInformation() { diff --git a/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs b/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs index 4b9b1971ae..f56254e62b 100644 --- a/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs +++ b/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs @@ -212,10 +212,11 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage var hvac = data.Vehicle.Components.BusAuxiliaries.HVACAux; Assert.AreEqual(BusHVACSystemConfiguration.Configuration1, hvac.SystemConfiguration); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvac.HeatPumpTypeDriverCompartment); - Assert.AreEqual(HeatPumpMode.heating, hvac.HeatPumpModeDriverCompartment); - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvac.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvac.HeatPumpPassengerCompartments[0].Item2); + Assert.AreEqual(HeatPumpType.R_744, hvac.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvac.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.none, hvac.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, hvac.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(50.SI<Watt>(), hvac.AuxHeaterPower); Assert.AreEqual(false, hvac.DoubleGlazing); Assert.AreEqual(true, hvac.AdjustableAuxiliaryHeater); @@ -286,15 +287,10 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage var hvac = data.Vehicle.Components.BusAuxiliaries.HVACAux; Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvac.SystemConfiguration); - Assert.AreEqual(HeatPumpType.none, hvac.HeatPumpTypeDriverCompartment); - Assert.AreEqual(HeatPumpMode.heating, hvac.HeatPumpModeDriverCompartment); - Assert.AreEqual(3, hvac.HeatPumpPassengerCompartments.Count); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvac.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvac.HeatPumpPassengerCompartments[0].Item2); - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvac.HeatPumpPassengerCompartments[1].Item1); - Assert.AreEqual(HeatPumpMode.heating, hvac.HeatPumpPassengerCompartments[1].Item2); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvac.HeatPumpPassengerCompartments[2].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvac.HeatPumpPassengerCompartments[2].Item2); + Assert.AreEqual(HeatPumpType.none, hvac.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvac.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.R_744, hvac.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, hvac.HeatPumpTypeCoolingDriverCompartment); Assert.AreEqual(50.SI<Watt>(), hvac.AuxHeaterPower); Assert.AreEqual(false, hvac.DoubleGlazing); Assert.AreEqual(true, hvac.AdjustableAuxiliaryHeater); diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Multistage/vecto_vehicle-stage_input_full-sample_final_noNG.xml b/VectoCore/VectoCoreTest/TestData/Integration/Multistage/vecto_vehicle-stage_input_full-sample_final_noNG.xml index 3e0e4ace29..139dcf61da 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/Multistage/vecto_vehicle-stage_input_full-sample_final_noNG.xml +++ b/VectoCore/VectoCoreTest/TestData/Integration/Multistage/vecto_vehicle-stage_input_full-sample_final_noNG.xml @@ -66,14 +66,10 @@ </ElectricSystem> <HVAC> <SystemConfiguration>2</SystemConfiguration> - <HeatPumpTypeDriverCompartment>R-744</HeatPumpTypeDriverCompartment> - <HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> - <HeatPumpTypePassengerCompartment>non R-744 3-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>heating</HeatPumpModePassengerCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> + <HeatPumpTypeCoolingDriverCompartment>R-744</HeatPumpTypeCoolingDriverCompartment> + <HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</HeatPumpTypeHeatingDriverCompartment> + <HeatPumpTypeCoolingPassengerCompartment>none</HeatPumpTypeCoolingPassengerCompartment> + <HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</HeatPumpTypeHeatingPassengerCompartment> <AuxiliaryHeaterPower>50</AuxiliaryHeaterPower> <DoubleGlazing>false</DoubleGlazing> <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Multistage/vecto_vehicle-stage_input_full-sample_interim_noNG.xml b/VectoCore/VectoCoreTest/TestData/Integration/Multistage/vecto_vehicle-stage_input_full-sample_interim_noNG.xml index 22ca013863..886bb2ebfc 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/Multistage/vecto_vehicle-stage_input_full-sample_interim_noNG.xml +++ b/VectoCore/VectoCoreTest/TestData/Integration/Multistage/vecto_vehicle-stage_input_full-sample_interim_noNG.xml @@ -66,14 +66,10 @@ </ElectricSystem> <HVAC> <SystemConfiguration>2</SystemConfiguration> - <HeatPumpTypeDriverCompartment>R-744</HeatPumpTypeDriverCompartment> - <HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> - <HeatPumpTypePassengerCompartment>non R-744 3-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>heating</HeatPumpModePassengerCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> + <HeatPumpTypeCoolingDriverCompartment>R-744</HeatPumpTypeCoolingDriverCompartment> + <HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</HeatPumpTypeHeatingDriverCompartment> + <HeatPumpTypeCoolingPassengerCompartment>none</HeatPumpTypeCoolingPassengerCompartment> + <HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</HeatPumpTypeHeatingPassengerCompartment> <AuxiliaryHeaterPower>50</AuxiliaryHeaterPower> <DoubleGlazing>false</DoubleGlazing> <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample.xml index 24f2810fdf..7eb180413b 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample.xml @@ -67,14 +67,10 @@ </ElectricSystem> <HVAC> <SystemConfiguration>0</SystemConfiguration> - <HeatPumpTypeDriverCompartment>none</HeatPumpTypeDriverCompartment> - <HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> - <HeatPumpTypePassengerCompartment>non R-744 3-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>heating</HeatPumpModePassengerCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> + <HeatPumpTypeCoolingDriverCompartment>R-744</HeatPumpTypeCoolingDriverCompartment> + <HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</HeatPumpTypeHeatingDriverCompartment> + <HeatPumpTypeCoolingPassengerCompartment>none</HeatPumpTypeCoolingPassengerCompartment> + <HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</HeatPumpTypeHeatingPassengerCompartment> <AuxiliaryHeaterPower>50</AuxiliaryHeaterPower> <DoubleGlazing>false</DoubleGlazing> <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_final.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_final.xml index 92406c44e9..0b68e87343 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_final.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_final.xml @@ -67,14 +67,10 @@ </ElectricSystem> <HVAC> <SystemConfiguration>2</SystemConfiguration> - <HeatPumpTypeDriverCompartment>R-744</HeatPumpTypeDriverCompartment> - <HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> - <HeatPumpTypePassengerCompartment>non R-744 3-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>heating</HeatPumpModePassengerCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> + <HeatPumpTypeCoolingDriverCompartment>R-744</HeatPumpTypeCoolingDriverCompartment> + <HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</HeatPumpTypeHeatingDriverCompartment> + <HeatPumpTypeCoolingPassengerCompartment>none</HeatPumpTypeCoolingPassengerCompartment> + <HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</HeatPumpTypeHeatingPassengerCompartment> <AuxiliaryHeaterPower>50</AuxiliaryHeaterPower> <DoubleGlazing>false</DoubleGlazing> <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_final_noNG.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_final_noNG.xml index 3e0e4ace29..139dcf61da 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_final_noNG.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_final_noNG.xml @@ -66,14 +66,10 @@ </ElectricSystem> <HVAC> <SystemConfiguration>2</SystemConfiguration> - <HeatPumpTypeDriverCompartment>R-744</HeatPumpTypeDriverCompartment> - <HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> - <HeatPumpTypePassengerCompartment>non R-744 3-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>heating</HeatPumpModePassengerCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> + <HeatPumpTypeCoolingDriverCompartment>R-744</HeatPumpTypeCoolingDriverCompartment> + <HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</HeatPumpTypeHeatingDriverCompartment> + <HeatPumpTypeCoolingPassengerCompartment>none</HeatPumpTypeCoolingPassengerCompartment> + <HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</HeatPumpTypeHeatingPassengerCompartment> <AuxiliaryHeaterPower>50</AuxiliaryHeaterPower> <DoubleGlazing>false</DoubleGlazing> <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml index 7f2549432b..1aeb419d26 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml @@ -72,10 +72,10 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\VECTO_DEV\fk_vecto </ElectricSystem> <HVAC> <SystemConfiguration>7</SystemConfiguration> - <HeatPumpTypeDriverCompartment>non R-744 2-stage</HeatPumpTypeDriverCompartment> - <HeatPumpModeDriverCompartment>cooling</HeatPumpModeDriverCompartment> - <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> - <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> + <HeatPumpTypeCoolingDriverCompartment>R-744</HeatPumpTypeCoolingDriverCompartment> + <HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</HeatPumpTypeHeatingDriverCompartment> + <HeatPumpTypeCoolingPassengerCompartment>none</HeatPumpTypeCoolingPassengerCompartment> + <HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</HeatPumpTypeHeatingPassengerCompartment> <AuxiliaryHeaterPower>0</AuxiliaryHeaterPower> <DoubleGlazing>true</DoubleGlazing> <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_only_certain_entries02-sample.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_only_certain_entries02-sample.xml index 7b07d4349e..9b3029eb72 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_only_certain_entries02-sample.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_only_certain_entries02-sample.xml @@ -1 +1,73 @@ -<?xml version="1.0" encoding="UTF-8"?> <tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd"> <v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType" > <Manufacturer>Some Manufacturer 2</Manufacturer> <ManufacturerAddress>Some Manufacturer Address 2</ManufacturerAddress> <VIN>VEH-1234567890</VIN> <Date>2020-01-09T11:00:00Z</Date> <Model>Sample Bus Model</Model> <LegislativeCategory>M3</LegislativeCategory> <CorrectedActualMass>500</CorrectedActualMass> <NgTankSystem>Compressed</NgTankSystem> <ClassBus>II+III</ClassBus> <NumberPassengerSeatsLowerDeck>5</NumberPassengerSeatsLowerDeck> <NumberPassengersStandingLowerDeck>15</NumberPassengersStandingLowerDeck> <NumberPassengerSeatsUpperDeck>10</NumberPassengerSeatsUpperDeck> <NumberPassengersStandingUpperDeck>6</NumberPassengersStandingUpperDeck> <BodyworkCode>CB</BodyworkCode> <LowEntry>false</LowEntry> <HeightIntegratedBody>2500</HeightIntegratedBody> <VehicleLength>9500</VehicleLength> <VehicleWidth>2500</VehicleWidth> <EntranceHeight>2000</EntranceHeight> <VehicleDeclarationType>interim</VehicleDeclarationType> <ADAS> <v2.3:EngineStopStart>true</v2.3:EngineStopStart> <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop> <v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop> <v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl> <v2.3:APTEcoRollReleaseLockupClutch>true</v2.3:APTEcoRollReleaseLockupClutch> </ADAS> <Components xsi:type="CompletedVehicleComponentsDeclarationType"> <AirDrag> <v2.0:Data xsi:type="v2.0:AirDragDataDeclarationType" id="CabinX23h"> <v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer> <v2.0:Model>Generic Model</v2.0:Model> <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> <v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date> <v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion> <v2.0:CdxA_0>6.31</v2.0:CdxA_0> <v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA> <v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA> </v2.0:Data> <v2.0:Signature> <di:Reference URI="#CabinX23h"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> </di:Reference> </v2.0:Signature> </AirDrag> <Auxiliaries> <Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType"> <HVAC> <SystemConfiguration>0</SystemConfiguration> <HeatPumpTypeDriverCompartment>none</HeatPumpTypeDriverCompartment> <HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment> <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> </HVAC> </Data> </Auxiliaries> </Components> </v2.0:Vehicle> </tns:VectoInputDeclaration> \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" +xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" +xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" +xmlns:di="http://www.w3.org/2000/09/xmldsig#" +xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType" > + <Manufacturer>Some Manufacturer 2</Manufacturer> + <ManufacturerAddress>Some Manufacturer Address 2</ManufacturerAddress> + <VIN>VEH-1234567890</VIN> + <Date>2020-01-09T11:00:00Z</Date> + <Model>Sample Bus Model</Model> + <LegislativeCategory>M3</LegislativeCategory> + <CorrectedActualMass>500</CorrectedActualMass> + <NgTankSystem>Compressed</NgTankSystem> + <ClassBus>II+III</ClassBus> + <NumberPassengerSeatsLowerDeck>5</NumberPassengerSeatsLowerDeck> + <NumberPassengersStandingLowerDeck>15</NumberPassengersStandingLowerDeck> + <NumberPassengerSeatsUpperDeck>10</NumberPassengerSeatsUpperDeck> + <NumberPassengersStandingUpperDeck>6</NumberPassengersStandingUpperDeck> + <BodyworkCode>CB</BodyworkCode> + <LowEntry>false</LowEntry> + <HeightIntegratedBody>2500</HeightIntegratedBody> + <VehicleLength>9500</VehicleLength> + <VehicleWidth>2500</VehicleWidth> + <EntranceHeight>2000</EntranceHeight> + <VehicleDeclarationType>interim</VehicleDeclarationType> + <ADAS> + <v2.3:EngineStopStart>true</v2.3:EngineStopStart> + <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop> + <v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop> + <v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl> + <v2.3:APTEcoRollReleaseLockupClutch>true</v2.3:APTEcoRollReleaseLockupClutch> + </ADAS> + <Components xsi:type="CompletedVehicleComponentsDeclarationType"> + <AirDrag> + <v2.0:Data xsi:type="v2.0:AirDragDataDeclarationType" id="CabinX23h"> + <v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer> + <v2.0:Model>Generic Model</v2.0:Model> + <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> + <v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date> + <v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion> + <v2.0:CdxA_0>6.31</v2.0:CdxA_0> + <v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA> + <v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA> + </v2.0:Data> + <v2.0:Signature> + <di:Reference URI="#CabinX23h"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> + </di:Reference> + </v2.0:Signature> + </AirDrag> + <Auxiliaries> + <Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType"> + <HVAC> + <SystemConfiguration>0</SystemConfiguration> + <HeatPumpTypeCoolingDriverCompartment>R-744</HeatPumpTypeCoolingDriverCompartment> + <HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</HeatPumpTypeHeatingDriverCompartment> + <HeatPumpTypeCoolingPassengerCompartment>none</HeatPumpTypeCoolingPassengerCompartment> + <HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</HeatPumpTypeHeatingPassengerCompartment> + </HVAC> + </Data> + </Auxiliaries> + </Components> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages.xml index 0f1a6b00a4..8402c054ef 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages.xml @@ -723,10 +723,10 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile </v2.8:ElectricSystem> <v2.8:HVAC> <v2.8:SystemConfiguration>1</v2.8:SystemConfiguration> - <v2.8:HeatPumpTypeDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeDriverCompartment> - <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment> - <v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment> - <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment> + <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment> + <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment> + <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment> + <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment> <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower> <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing> <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml index b497bba999..2e92cbbdf8 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml @@ -728,10 +728,10 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile </v2.8:ElectricSystem> <v2.8:HVAC> <v2.8:SystemConfiguration>1</v2.8:SystemConfiguration> - <v2.8:HeatPumpTypeDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeDriverCompartment> - <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment> - <v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment> - <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment> + <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment> + <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment> + <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment> + <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment> <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower> <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing> <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_airdrag.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_airdrag.xml index 0ad9eb1fd6..7348c791a3 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_airdrag.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_airdrag.xml @@ -695,10 +695,10 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <v2.8:Data xsi:type="v2.8:CompletedVehicleAuxiliaryDataDeclarationType"> <v2.8:HVAC> <v2.8:SystemConfiguration>1</v2.8:SystemConfiguration> - <v2.8:HeatPumpTypeDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeDriverCompartment> - <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment> - <v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment> - <v2.8:HeatPumpModePassengerCompartment>heating</v2.8:HeatPumpModePassengerCompartment> + <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment> + <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment> + <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment> + <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment> <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower> <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing> <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater> @@ -764,12 +764,10 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile </v2.8:ElectricSystem> <v2.8:HVAC> <v2.8:SystemConfiguration>1</v2.8:SystemConfiguration> - <v2.8:HeatPumpTypeDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeDriverCompartment> - <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment> - <v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment> - <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment> - <v2.8:HeatPumpTypePassengerCompartment>non R-744 2-stage</v2.8:HeatPumpTypePassengerCompartment> - <v2.8:HeatPumpModePassengerCompartment>heating</v2.8:HeatPumpModePassengerCompartment> + <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment> + <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment> + <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment> + <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment> <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower> <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing> <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_heatPump.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_heatPump.xml index 03897a0f18..a7da5c1238 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_heatPump.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_heatPump.xml @@ -723,10 +723,10 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile </v2.8:ElectricSystem> <v2.8:HVAC> <v2.8:SystemConfiguration>1</v2.8:SystemConfiguration> - <v2.8:HeatPumpTypeDriverCompartment>none</v2.8:HeatPumpTypeDriverCompartment> - <v2.8:HeatPumpModeDriverCompartment>N.A.</v2.8:HeatPumpModeDriverCompartment> - <v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment> - <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment> + <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment> + <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment> + <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment> + <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment> <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower> <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing> <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_hev.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_hev.xml index 2fee295570..c39b410915 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_hev.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_hev.xml @@ -723,10 +723,10 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile </v2.8:ElectricSystem> <v2.8:HVAC> <v2.8:SystemConfiguration>1</v2.8:SystemConfiguration> - <v2.8:HeatPumpTypeDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeDriverCompartment> - <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment> - <v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment> - <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment> + <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment> + <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment> + <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment> + <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment> <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower> <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing> <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_vif.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_vif.xml index aa48d6f8c4..d702ec7267 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_vif.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_vif.xml @@ -723,10 +723,10 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile </v2.8:ElectricSystem> <v2.8:HVAC> <v2.8:SystemConfiguration>1</v2.8:SystemConfiguration> - <v2.8:HeatPumpTypeDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeDriverCompartment> - <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment> - <v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment> - <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment> + <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment> + <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment> + <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment> + <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment> <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower> <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing> <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3.xml index b164a8f8f0..46a34994b6 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3.xml @@ -712,10 +712,10 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile </v2.8:ElectricSystem> <v2.8:HVAC> <v2.8:SystemConfiguration>1</v2.8:SystemConfiguration> - <v2.8:HeatPumpTypeDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeDriverCompartment> - <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment> - <v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment> - <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment> + <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment> + <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment> + <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment> + <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment> <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower> <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing> <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_full.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_full.xml index d1bba98489..6482e2bdf6 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_full.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_full.xml @@ -717,10 +717,10 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile </v2.8:ElectricSystem> <v2.8:HVAC> <v2.8:SystemConfiguration>0</v2.8:SystemConfiguration> - <v2.8:HeatPumpTypeDriverCompartment>non R-744 3-stage</v2.8:HeatPumpTypeDriverCompartment> - <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment> - <v2.8:HeatPumpTypePassengerCompartment>non R-744 2-stage</v2.8:HeatPumpTypePassengerCompartment> - <v2.8:HeatPumpModePassengerCompartment>heating</v2.8:HeatPumpModePassengerCompartment> + <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment> + <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment> + <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment> + <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment> <v2.8:AuxiliaryHeaterPower>40</v2.8:AuxiliaryHeaterPower> <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing> <v2.8:AdjustableAuxiliaryHeater>false</v2.8:AdjustableAuxiliaryHeater> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-stage_input_full-sample.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-stage_input_full-sample.xml index ed3d847324..f6bbf4d850 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-stage_input_full-sample.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-stage_input_full-sample.xml @@ -1 +1,92 @@ -<?xml version="1.0" encoding="UTF-8"?> <tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\VECTO_DEV\fk_vecto-dev\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd"> <v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType"> <Manufacturer>Some Manufacturer</Manufacturer> <ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress> <VIN>VEH-1234567890</VIN> <Date>2020-01-09T11:00:00Z</Date> <Model>Sample Bus Model</Model> <LegislativeCategory>M3</LegislativeCategory> <CorrectedActualMass>500</CorrectedActualMass> <TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass> <AirdragModifiedMultistage>false</AirdragModifiedMultistage> <NgTankSystem>Compressed</NgTankSystem> <ClassBus>II+III</ClassBus> <NumberPassengerSeatsLowerDeck>0</NumberPassengerSeatsLowerDeck> <NumberPassengersStandingLowerDeck>10</NumberPassengersStandingLowerDeck> <NumberPassengerSeatsUpperDeck>10</NumberPassengerSeatsUpperDeck> <NumberPassengersStandingUpperDeck>10</NumberPassengersStandingUpperDeck> <BodyworkCode>CB</BodyworkCode> <LowEntry>false</LowEntry> <HeightIntegratedBody>2500</HeightIntegratedBody> <VehicleLength>9500</VehicleLength> <VehicleWidth>2500</VehicleWidth> <EntranceHeight>2000</EntranceHeight> <DoorDriveTechnology>electric</DoorDriveTechnology> <VehicleDeclarationType>interim</VehicleDeclarationType> <ADAS> <v2.3:EngineStopStart>true</v2.3:EngineStopStart> <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop> <v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop> <v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl> <v2.3:APTEcoRollReleaseLockupClutch>true</v2.3:APTEcoRollReleaseLockupClutch> </ADAS> <Components xsi:type="CompletedVehicleComponentsDeclarationType"> <AirDrag> <v2.0:Data xsi:type="v2.0:AirDragDataDeclarationType" id="CabinX23h"> <v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer> <v2.0:Model>Generic Model</v2.0:Model> <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> <v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date> <v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion> <v2.0:CdxA_0>6.31</v2.0:CdxA_0> <v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA> <v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA> </v2.0:Data> <v2.0:Signature> <di:Reference URI="#CabinX23h"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> </di:Reference> </v2.0:Signature> </AirDrag> <Auxiliaries> <Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType"> <ElectricSystem> <LEDLights> <Interiorlights>false</Interiorlights> <Dayrunninglights>true</Dayrunninglights> <Positionlights>true</Positionlights> <Brakelights>true</Brakelights> <Headlights>false</Headlights> </LEDLights> </ElectricSystem> <HVAC> <SystemConfiguration>0</SystemConfiguration> <HeatPumpTypeDriverCompartment>none</HeatPumpTypeDriverCompartment> <HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment> <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> <AuxiliaryHeaterPower>50</AuxiliaryHeaterPower> <DoubleGlazing>false</DoubleGlazing> <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> <SeparateAirDistributionDucts>false</SeparateAirDistributionDucts> <WaterElectricHeater>true</WaterElectricHeater> <AirElectricHeater>false</AirElectricHeater> <OtherHeatingTechnology>false</OtherHeatingTechnology> </HVAC> </Data> </Auxiliaries> </Components> </v2.0:Vehicle> </tns:VectoInputDeclaration> \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" +xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" +xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" +xmlns:di="http://www.w3.org/2000/09/xmldsig#" +xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\VECTO_DEV\fk_vecto-dev\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType"> + <Manufacturer>Some Manufacturer</Manufacturer> + <ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress> + <VIN>VEH-1234567890</VIN> + <Date>2020-01-09T11:00:00Z</Date> + <Model>Sample Bus Model</Model> + <LegislativeCategory>M3</LegislativeCategory> + <CorrectedActualMass>500</CorrectedActualMass> + <TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass> + <AirdragModifiedMultistage>false</AirdragModifiedMultistage> + <NgTankSystem>Compressed</NgTankSystem> + <ClassBus>II+III</ClassBus> + <NumberPassengerSeatsLowerDeck>0</NumberPassengerSeatsLowerDeck> + <NumberPassengersStandingLowerDeck>10</NumberPassengersStandingLowerDeck> + <NumberPassengerSeatsUpperDeck>10</NumberPassengerSeatsUpperDeck> + <NumberPassengersStandingUpperDeck>10</NumberPassengersStandingUpperDeck> + <BodyworkCode>CB</BodyworkCode> + <LowEntry>false</LowEntry> + <HeightIntegratedBody>2500</HeightIntegratedBody> + <VehicleLength>9500</VehicleLength> + <VehicleWidth>2500</VehicleWidth> + <EntranceHeight>2000</EntranceHeight> + <DoorDriveTechnology>electric</DoorDriveTechnology> + <VehicleDeclarationType>interim</VehicleDeclarationType> + <ADAS> + <v2.3:EngineStopStart>true</v2.3:EngineStopStart> + <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop> + <v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop> + <v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl> + <v2.3:APTEcoRollReleaseLockupClutch>true</v2.3:APTEcoRollReleaseLockupClutch> + </ADAS> + <Components xsi:type="CompletedVehicleComponentsDeclarationType"> + <AirDrag> + <v2.0:Data xsi:type="v2.0:AirDragDataDeclarationType" id="CabinX23h"> + <v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer> + <v2.0:Model>Generic Model</v2.0:Model> + <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> + <v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date> + <v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion> + <v2.0:CdxA_0>6.31</v2.0:CdxA_0> + <v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA> + <v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA> + </v2.0:Data> + <v2.0:Signature> + <di:Reference URI="#CabinX23h"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> + </di:Reference> + </v2.0:Signature> + </AirDrag> + <Auxiliaries> + <Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType"> + <ElectricSystem> + <LEDLights> + <Interiorlights>false</Interiorlights> + <Dayrunninglights>true</Dayrunninglights> + <Positionlights>true</Positionlights> + <Brakelights>true</Brakelights> + <Headlights>false</Headlights> + </LEDLights> + </ElectricSystem> + <HVAC> + <SystemConfiguration>0</SystemConfiguration> + <HeatPumpTypeCoolingDriverCompartment>R-744</HeatPumpTypeCoolingDriverCompartment> + <HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</HeatPumpTypeHeatingDriverCompartment> + <HeatPumpTypeCoolingPassengerCompartment>none</HeatPumpTypeCoolingPassengerCompartment> + <HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</HeatPumpTypeHeatingPassengerCompartment> + <AuxiliaryHeaterPower>50</AuxiliaryHeaterPower> + <DoubleGlazing>false</DoubleGlazing> + <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> + <SeparateAirDistributionDucts>false</SeparateAirDistributionDucts> + <WaterElectricHeater>true</WaterElectricHeater> + <AirElectricHeater>false</AirElectricHeater> + <OtherHeatingTechnology>false</OtherHeatingTechnology> + </HVAC> + </Data> + </Auxiliaries> + </Components> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-stage_input_only_certain_entries02-sample.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-stage_input_only_certain_entries02-sample.xml index 67b138e728..493e6d4693 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-stage_input_only_certain_entries02-sample.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/vecto_vehicle-stage_input_only_certain_entries02-sample.xml @@ -1 +1,73 @@ -<?xml version="1.0" encoding="UTF-8"?> <tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\VECTO_DEV\fk_vecto-dev\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd"> <v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType" > <Manufacturer>Some Manufacturer 2</Manufacturer> <ManufacturerAddress>Some Manufacturer Address 2</ManufacturerAddress> <VIN>VEH-1234567890</VIN> <Date>2020-01-09T11:00:00Z</Date> <Model>Sample Bus Model</Model> <LegislativeCategory>M3</LegislativeCategory> <CorrectedActualMass>500</CorrectedActualMass> <NgTankSystem>Compressed</NgTankSystem> <ClassBus>II+III</ClassBus> <NumberPassengerSeatsLowerDeck>0</NumberPassengerSeatsLowerDeck> <NumberPassengersStandingLowerDeck>5</NumberPassengersStandingLowerDeck> <NumberPassengerSeatsUpperDeck>10</NumberPassengerSeatsUpperDeck> <NumberPassengersStandingUpperDeck>0</NumberPassengersStandingUpperDeck> <BodyworkCode>CB</BodyworkCode> <LowEntry>false</LowEntry> <HeightIntegratedBody>2500</HeightIntegratedBody> <VehicleLength>9500</VehicleLength> <VehicleWidth>2500</VehicleWidth> <EntranceHeight>2000</EntranceHeight> <VehicleDeclarationType>interim</VehicleDeclarationType> <ADAS> <v2.3:EngineStopStart>true</v2.3:EngineStopStart> <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop> <v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop> <v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl> <v2.3:APTEcoRollReleaseLockupClutch>true</v2.3:APTEcoRollReleaseLockupClutch> </ADAS> <Components xsi:type="CompletedVehicleComponentsDeclarationType"> <AirDrag> <v2.0:Data xsi:type="v2.0:AirDragDataDeclarationType" id="CabinX23h"> <v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer> <v2.0:Model>Generic Model</v2.0:Model> <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> <v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date> <v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion> <v2.0:CdxA_0>6.31</v2.0:CdxA_0> <v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA> <v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA> </v2.0:Data> <v2.0:Signature> <di:Reference URI="#CabinX23h"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> </di:Reference> </v2.0:Signature> </AirDrag> <Auxiliaries> <Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType"> <HVAC> <SystemConfiguration>0</SystemConfiguration> <HeatPumpTypeDriverCompartment>none</HeatPumpTypeDriverCompartment> <HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment> <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> </HVAC> </Data> </Auxiliaries> </Components> </v2.0:Vehicle> </tns:VectoInputDeclaration> \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" +xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" +xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" +xmlns:di="http://www.w3.org/2000/09/xmldsig#" +xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\VECTO_DEV\fk_vecto-dev\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType" > + <Manufacturer>Some Manufacturer 2</Manufacturer> + <ManufacturerAddress>Some Manufacturer Address 2</ManufacturerAddress> + <VIN>VEH-1234567890</VIN> + <Date>2020-01-09T11:00:00Z</Date> + <Model>Sample Bus Model</Model> + <LegislativeCategory>M3</LegislativeCategory> + <CorrectedActualMass>500</CorrectedActualMass> + <NgTankSystem>Compressed</NgTankSystem> + <ClassBus>II+III</ClassBus> + <NumberPassengerSeatsLowerDeck>0</NumberPassengerSeatsLowerDeck> + <NumberPassengersStandingLowerDeck>5</NumberPassengersStandingLowerDeck> + <NumberPassengerSeatsUpperDeck>10</NumberPassengerSeatsUpperDeck> + <NumberPassengersStandingUpperDeck>0</NumberPassengersStandingUpperDeck> + <BodyworkCode>CB</BodyworkCode> + <LowEntry>false</LowEntry> + <HeightIntegratedBody>2500</HeightIntegratedBody> + <VehicleLength>9500</VehicleLength> + <VehicleWidth>2500</VehicleWidth> + <EntranceHeight>2000</EntranceHeight> + <VehicleDeclarationType>interim</VehicleDeclarationType> + <ADAS> + <v2.3:EngineStopStart>true</v2.3:EngineStopStart> + <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop> + <v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop> + <v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl> + <v2.3:APTEcoRollReleaseLockupClutch>true</v2.3:APTEcoRollReleaseLockupClutch> + </ADAS> + <Components xsi:type="CompletedVehicleComponentsDeclarationType"> + <AirDrag> + <v2.0:Data xsi:type="v2.0:AirDragDataDeclarationType" id="CabinX23h"> + <v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer> + <v2.0:Model>Generic Model</v2.0:Model> + <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> + <v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date> + <v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion> + <v2.0:CdxA_0>6.31</v2.0:CdxA_0> + <v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA> + <v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA> + </v2.0:Data> + <v2.0:Signature> + <di:Reference URI="#CabinX23h"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> + <di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> + </di:Reference> + </v2.0:Signature> + </AirDrag> + <Auxiliaries> + <Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType"> + <HVAC> + <SystemConfiguration>0</SystemConfiguration> + <HeatPumpTypeCoolingDriverCompartment>R-744</HeatPumpTypeCoolingDriverCompartment> + <HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</HeatPumpTypeHeatingDriverCompartment> + <HeatPumpTypeCoolingPassengerCompartment>none</HeatPumpTypeCoolingPassengerCompartment> + <HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</HeatPumpTypeHeatingPassengerCompartment> + </HVAC> + </Data> + </Auxiliaries> + </Components> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/XML/XMLMultistageBusConsolidatedInputDataTest.cs b/VectoCore/VectoCoreTest/XML/XMLMultistageBusConsolidatedInputDataTest.cs index 50fba39851..de9f6ad8c9 100644 --- a/VectoCore/VectoCoreTest/XML/XMLMultistageBusConsolidatedInputDataTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLMultistageBusConsolidatedInputDataTest.cs @@ -90,11 +90,10 @@ namespace TUGraz.VectoCore.Tests.XML var busHVACAux = vehicle.Components.BusAuxiliaries.HVACAux; Assert.AreEqual(BusHVACSystemConfiguration.Configuration1, busHVACAux.SystemConfiguration); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, busHVACAux.HeatPumpTypeDriverCompartment); - Assert.AreEqual(HeatPumpMode.heating, busHVACAux.HeatPumpModeDriverCompartment); - Assert.AreEqual(1, busHVACAux.HeatPumpPassengerCompartments.Count); - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, busHVACAux.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.cooling, busHVACAux.HeatPumpPassengerCompartments[0].Item2); + Assert.AreEqual(HeatPumpType.R_744, busHVACAux.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, busHVACAux.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.none, busHVACAux.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, busHVACAux.HeatPumpTypeHeatingPassengerCompartment); Assert.AreEqual(50, busHVACAux.AuxHeaterPower.Value()); Assert.AreEqual(false, busHVACAux.DoubleGlazing); Assert.AreEqual(true, busHVACAux.AdjustableAuxiliaryHeater); @@ -204,13 +203,10 @@ namespace TUGraz.VectoCore.Tests.XML var hvaux = inputDataProvider.JobInputData.ConsolidateManufacturingStage.Vehicle.Components.BusAuxiliaries.HVACAux; Assert.NotNull(hvaux); - Assert.AreEqual(HeatPumpMode.heating, hvaux.HeatPumpModeDriverCompartment); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpTypeDriverCompartment); - Assert.AreEqual(2, hvaux.HeatPumpPassengerCompartments.Count); - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvaux.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvaux.HeatPumpPassengerCompartments[0].Item2); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpPassengerCompartments[1].Item1); - Assert.AreEqual(HeatPumpMode.heating, hvaux.HeatPumpPassengerCompartments[1].Item2); + Assert.AreEqual(HeatPumpType.R_744, hvaux.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.none, hvaux.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, hvaux.HeatPumpTypeHeatingPassengerCompartment); Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete); } @@ -223,11 +219,10 @@ namespace TUGraz.VectoCore.Tests.XML var hvaux = inputDataProvider.JobInputData.ConsolidateManufacturingStage.Vehicle.Components.BusAuxiliaries.HVACAux; Assert.NotNull(hvaux); - Assert.AreEqual(HeatPumpMode.N_A, hvaux.HeatPumpModeDriverCompartment); - Assert.AreEqual(HeatPumpType.none, hvaux.HeatPumpTypeDriverCompartment); - Assert.AreEqual(1, hvaux.HeatPumpPassengerCompartments.Count); - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvaux.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvaux.HeatPumpPassengerCompartments[0].Item2); + Assert.AreEqual(HeatPumpType.R_744, hvaux.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.none, hvaux.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, hvaux.HeatPumpTypeHeatingPassengerCompartment); Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete); } @@ -240,11 +235,10 @@ namespace TUGraz.VectoCore.Tests.XML var hvaux = inputDataProvider.JobInputData.ConsolidateManufacturingStage.Vehicle.Components.BusAuxiliaries.HVACAux; Assert.NotNull(hvaux); - Assert.AreEqual(HeatPumpMode.heating, hvaux.HeatPumpModeDriverCompartment); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpTypeDriverCompartment); - Assert.AreEqual(1, hvaux.HeatPumpPassengerCompartments.Count); - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvaux.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvaux.HeatPumpPassengerCompartments[0].Item2); + Assert.AreEqual(HeatPumpType.R_744, hvaux.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.none, hvaux.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, hvaux.HeatPumpTypeHeatingPassengerCompartment); Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete); } @@ -257,11 +251,10 @@ namespace TUGraz.VectoCore.Tests.XML var hvaux = inputDataProvider.JobInputData.ConsolidateManufacturingStage.Vehicle.Components.BusAuxiliaries.HVACAux; Assert.NotNull(hvaux); - Assert.AreEqual(HeatPumpMode.heating, hvaux.HeatPumpModeDriverCompartment); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpTypeDriverCompartment); - Assert.AreEqual(1, hvaux.HeatPumpPassengerCompartments.Count); - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvaux.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvaux.HeatPumpPassengerCompartments[0].Item2); + Assert.AreEqual(HeatPumpType.R_744, hvaux.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.none, hvaux.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, hvaux.HeatPumpTypeHeatingPassengerCompartment); Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete); diff --git a/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs b/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs index 3f32009dea..aa9b96903d 100644 --- a/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs @@ -630,11 +630,10 @@ namespace TUGraz.VectoCore.Tests.XML var hvacAux = vehicleData.Components.BusAuxiliaries.HVACAux; Assert.AreEqual(BusHVACSystemConfiguration.Configuration1, hvacAux.SystemConfiguration); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpTypeDriverCompartment); - Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpModeDriverCompartment); - Assert.AreEqual(1, hvacAux.HeatPumpPassengerCompartments.Count); - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvacAux.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpPassengerCompartments[0].Item2); + Assert.AreEqual(HeatPumpType.R_744, hvacAux.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, hvacAux.HeatPumpTypeHeatingPassengerCompartment); Assert.AreEqual(50.SI<Watt>(), hvacAux.AuxHeaterPower); Assert.AreEqual(false, hvacAux.DoubleGlazing); Assert.AreEqual(true, hvacAux.AdjustableAuxiliaryHeater); @@ -746,11 +745,10 @@ namespace TUGraz.VectoCore.Tests.XML var hvacAux = busAux.HVACAux; Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvacAux.SystemConfiguration); - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvacAux.HeatPumpTypeDriverCompartment); - Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpModeDriverCompartment); - Assert.AreEqual(1, hvacAux.HeatPumpPassengerCompartments.Count); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpPassengerCompartments[0].Item2); + Assert.AreEqual(HeatPumpType.R_744, hvacAux.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, hvacAux.HeatPumpTypeHeatingPassengerCompartment); Assert.AreEqual(40.SI<Watt>(), hvacAux.AuxHeaterPower); Assert.AreEqual(false, hvacAux.DoubleGlazing); Assert.AreEqual(false, hvacAux.AdjustableAuxiliaryHeater); diff --git a/VectoCore/VectoCoreTest/XML/XMLMultistageBusInputDataTest.cs b/VectoCore/VectoCoreTest/XML/XMLMultistageBusInputDataTest.cs index 04127d5f4f..6f5891306f 100644 --- a/VectoCore/VectoCoreTest/XML/XMLMultistageBusInputDataTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLMultistageBusInputDataTest.cs @@ -121,15 +121,10 @@ namespace TUGraz.VectoCore.Tests.XML private void TestHVACComponent(IHVACBusAuxiliariesDeclarationData hvacAux) { Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvacAux.SystemConfiguration); - Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeDriverCompartment); - Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpModeDriverCompartment); - Assert.AreEqual(3, hvacAux.HeatPumpPassengerCompartments.Count); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpPassengerCompartments[0].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpPassengerCompartments[0].Item2); - Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvacAux.HeatPumpPassengerCompartments[1].Item1); - Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpPassengerCompartments[1].Item2); - Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpPassengerCompartments[2].Item1); - Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpPassengerCompartments[2].Item2); + Assert.AreEqual(HeatPumpType.R_744, hvacAux.HeatPumpTypeCoolingDriverCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpTypeHeatingDriverCompartment); + Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeCoolingPassengerCompartment); + Assert.AreEqual(HeatPumpType.non_R_744_continuous, hvacAux.HeatPumpTypeHeatingPassengerCompartment); Assert.AreEqual(50, hvacAux.AuxHeaterPower.Value()); Assert.AreEqual(false, hvacAux.DoubleGlazing); Assert.AreEqual(true, hvacAux.AdjustableAuxiliaryHeater); -- GitLab