From 88ceb60e127a0cbcdc19bc771d13abea7288b9a6 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Fri, 17 Jan 2020 16:16:07 +0100 Subject: [PATCH] implementation for xml gearbox version 2.6 (gbx includes differential), implementation of vehicle type and components type for medium lorry, support for vehicles with differential included --- VECTO/Input Files/Engine.vb | 2 +- VECTO/Input Files/Gearbox.vb | 5 +- VECTO/Input Files/Vehicle.vb | 2 +- .../InputData/DeclarationInputData.cs | 2 + .../Resources/XMLNames.Designer.cs | 27 +++++++++++ .../VectoCommon/Resources/XMLNames.resx | 9 ++++ .../InputData/FileIO/JSON/JSONGearboxData.cs | 3 ++ .../XMLDeclarationComponentsDataProvider.cs | 33 ++++++++++++- .../XMLDeclarationGearboxDataProvider.cs | 33 ++++++++++++- .../XMLDeclarationVehicleDataProvider.cs | 47 ++++++++++++++++++- .../XMLDeclarationInputDataV26InjectModule.cs | 13 +++++ .../Reader/Impl/XMLComponentReader.cs | 41 ++++++++++++++++ .../Reader/Impl/XMLJobDataReader.cs | 2 +- .../XMLEngineeringGearboxDataProvider.cs | 3 ++ ...cs => DeclarationDataAdapterHeavyLorry.cs} | 15 +++++- .../DeclarationDataAdapterPrimaryBus.cs | 2 +- .../EngineeringDataAdapter.cs | 2 +- .../IDeclarationDataAdapter.cs | 1 + .../AbstractDeclarationVectoRunDataFactory.cs | 6 ++- ...ationModeHeavyLorryVectoRunDataFactory.cs} | 3 +- .../DeclarationVTPModeVectoRunDataFactory.cs | 4 +- VectoCore/VectoCore/VectoCore.csproj | 4 +- .../Models/Declaration/DeclarationDataTest.cs | 6 +-- .../Models/Declaration/ShiftPolygonTest.cs | 8 ++-- .../SimulationComponent/ATGearboxTest.cs | 2 +- .../Models/SimulationComponent/VehicleTest.cs | 4 +- .../SimulationComponentData/ValidationTest.cs | 4 +- .../vecto_vehicle-medium_lorry.xml | 1 + .../Utils/MockSimulationDataFactory.cs | 4 +- .../XML/XMLDeclarationInputTest.cs | 2 +- 30 files changed, 257 insertions(+), 33 deletions(-) rename VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/{DeclarationDataAdapterTruck.cs => DeclarationDataAdapterHeavyLorry.cs} (98%) rename VectoCore/VectoCore/InputData/Reader/Impl/{DeclarationModeTruckVectoRunDataFactory.cs => DeclarationModeHeavyLorryVectoRunDataFactory.cs} (98%) diff --git a/VECTO/Input Files/Engine.vb b/VECTO/Input Files/Engine.vb index 2b223da339..0904ab94d3 100644 --- a/VECTO/Input Files/Engine.vb +++ b/VECTO/Input Files/Engine.vb @@ -210,7 +210,7 @@ Public Class Engine Try If mode = ExecutionMode.Declaration Then - Dim doa As DeclarationDataAdapterTruck = New DeclarationDataAdapterTruck() + Dim doa As DeclarationDataAdapterHeavyLorry = New DeclarationDataAdapterHeavyLorry() Dim dummyGearboxData As IGearboxDeclarationInputData = New Gearbox() With { .Type = GearboxType.AMT, .MaxTorque = New List(Of String), diff --git a/VECTO/Input Files/Gearbox.vb b/VECTO/Input Files/Gearbox.vb index 51a0779770..b53660c418 100644 --- a/VECTO/Input Files/Gearbox.vb +++ b/VECTO/Input Files/Gearbox.vb @@ -216,7 +216,7 @@ Public Class Gearbox vehiclecategory = vehiclecategory.RigidTruck End Try If mode = ExecutionMode.Declaration Then - Dim doa As DeclarationDataAdapterTruck = New DeclarationDataAdapterTruck() + Dim doa As DeclarationDataAdapterHeavyLorry = New DeclarationDataAdapterHeavyLorry() Try engine = doa.CreateEngineData(inputData.JobInputData.Vehicle, @@ -430,6 +430,9 @@ Public Class Gearbox End Get End Property + Public ReadOnly Property DifferentialIncluded As Boolean Implements IGearboxDeclarationInputData.DifferentialIncluded + Public ReadOnly Property AxlegearRatio As Double Implements IGearboxDeclarationInputData.AxlegearRatio + Public ReadOnly Property ReferenceRPM As PerSecond Implements ITorqueConverterEngineeringInputData.ReferenceRPM Get Return TorqueConverterReferenceRpm.RPMtoRad() diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb index fe1e092c12..887a949383 100644 --- a/VECTO/Input Files/Vehicle.vb +++ b/VECTO/Input Files/Vehicle.vb @@ -110,7 +110,7 @@ Public Class Vehicle Try If mode = ExecutionMode.Declaration Then - Dim doa As DeclarationDataAdapterTruck = New DeclarationDataAdapterTruck() + Dim doa As DeclarationDataAdapterHeavyLorry = New DeclarationDataAdapterHeavyLorry() Dim segment As Segment = DeclarationData.TruckSegments.Lookup(vehicle.VehicleCategory, vehicle.AxleConfiguration, vehicle.GrossVehicleMassRating, vehicle.CurbMassChassis, false) vehicleData = doa.CreateVehicleData(vehicle, segment.Missions.First(), diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index ae9bacd876..3c200b57cd 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -437,6 +437,8 @@ namespace TUGraz.VectoCommon.InputData /// </summary> IList<ITransmissionInputData> Gears { get; } + bool DifferentialIncluded { get; } + double AxlegearRatio { get; } } diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs index c31d07a8d0..4dfd882404 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs +++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs @@ -1455,6 +1455,24 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to AxlegearRatio. + /// </summary> + public static string Gearbox_AxlegearRatio { + get { + return ResourceManager.GetString("Gearbox_AxlegearRatio", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to DifferentialIncluded. + /// </summary> + public static string Gearbox_DifferentialIncluded { + get { + return ResourceManager.GetString("Gearbox_DifferentialIncluded", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to Efficiency. /// </summary> @@ -3138,6 +3156,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to TechnicalPermissibleMaximumLadenMass. + /// </summary> + public static string Vehicle_TPMLM { + get { + return ResourceManager.GetString("Vehicle_TPMLM", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to VehicleCategory. /// </summary> diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx index aaf03c6ff3..91860e88ed 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.resx +++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx @@ -1161,4 +1161,13 @@ <data name="VectoPrimaryVehicleReport" xml:space="preserve"> <value>VectoOutputPrimaryVehicle</value> </data> + <data name="Vehicle_TPMLM" xml:space="preserve"> + <value>TechnicalPermissibleMaximumLadenMass</value> + </data> + <data name="Gearbox_DifferentialIncluded" xml:space="preserve"> + <value>DifferentialIncluded</value> + </data> + <data name="Gearbox_AxlegearRatio" xml:space="preserve"> + <value>AxlegearRatio</value> + </data> </root> \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs index cc4cbe570d..0fa26c6c28 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs @@ -249,6 +249,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } } + public bool DifferentialIncluded { get { return false; } } + public double AxlegearRatio { get { return double.NaN; } } + private TransmissionInputData CreateTorqueConverterGear(int gearNr, JToken gear, JToken nextGear) { var ratio = gear.GetEx<double>(JsonKeys.Gearbox_Gear_Ratio); diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs index 77c54f10e3..81b820810e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs @@ -1,4 +1,5 @@ -using System.Xml; +using System; +using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; @@ -162,4 +163,34 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return NAMESPACE_URI; } } } + + // --------------------------------------------------------------------------------------- + + public class XMLDeclarationComponentsDataProviderNoAxlegearV26 : XMLDeclarationComponentsDataProviderV10 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + public new const string XSD_TYPE = "VehicleComponentsNoAxlegearType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLDeclarationComponentsDataProviderNoAxlegearV26( + IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( + vehicle, componentNode, sourceFile) + { } + + #region Overrides of XMLDeclarationComponentsDataProviderV10 + + public override IAxleGearInputData AxleGearInputData { get { + return null; + //throw new NotSupportedException("No Axlegeardata available"); + } } + + #endregion + + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs index c383068a7f..7f0bdbc79b 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs @@ -84,6 +84,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider } } + public virtual bool DifferentialIncluded { get { return false; } } + + public virtual double AxlegearRatio { get { return double.NaN; } } + //public virtual ITorqueConverterDeclarationInputData TorqueConverter //{ // get { return _vehicle.Components.TorqueConverterInputData; } @@ -104,8 +108,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; - //public new const string XSD_TYPE = "GearboxComponentDeclarationType"; - public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationGearboxDataProviderV20( @@ -117,4 +119,31 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return NAMESPACE_URI; } } } + + // --------------------------------------------------------------------------------------- + + public class XMLDeclarationGearboxDataProviderV26 : XMLDeclarationGearboxDataProviderV10 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V26; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLDeclarationGearboxDataProviderV26( + IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( + vehicle, componentNode, sourceFile) + { } + + #region Overrides of XMLDeclarationGearboxDataProviderV10 + + public override bool DifferentialIncluded { get { return GetBool(XMLNames.Gearbox_DifferentialIncluded); } } + + public override double AxlegearRatio { get { return DifferentialIncluded ? GetDouble(XMLNames.Gearbox_AxlegearRatio) : double.NaN; } } + + #endregion + + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index ed3cc69a1a..86632066d0 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -436,6 +436,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider } } + // --------------------------------------------------------------------------------------- + public class XMLDeclarationExemptedVehicleDataProviderV22 : XMLDeclarationVehicleDataProviderV20 { public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; @@ -576,6 +578,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #endregion } + // --------------------------------------------------------------------------------------- + public class XMLDeclarationPrimaryBusVehicleDataProviderV26 : XMLDeclarationVehicleDataProviderV20 { @@ -616,7 +620,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public override Kilogram CurbMassChassis { get { return null; } } - public override Kilogram GrossVehicleMassRating { get { return GetDouble(XMLNames.TPMLM).SI<Kilogram>(); } } + public override Kilogram GrossVehicleMassRating { get { return GetDouble(XMLNames.Vehicle_TPMLM).SI<Kilogram>(); } } #endregion @@ -633,5 +637,44 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #endregion } - + public class XMLDeclarationMediumLorryVehicleDataProviderV26 : XMLDeclarationVehicleDataProviderV21 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V26; + + public new const string XSD_TYPE = "VehicleMediumLorryDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = + XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLDeclarationMediumLorryVehicleDataProviderV26(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { } + + #region Overrides of XMLDeclarationVehicleDataProviderV10 + + public override bool SleeperCab { get { return false; } } + + public override bool VocationalVehicle { get { return false; } } + + public override IPTOTransmissionInputData PTOTransmissionInputData { get { return null; } } + + public override XmlElement PTONode { get { return null; } } + + #region Overrides of XMLDeclarationVehicleDataProviderV10 + + public override Kilogram GrossVehicleMassRating { get { return GetDouble(XMLNames.Vehicle_TPMLM).SI<Kilogram>(); } } + + #endregion + + #endregion + + #region Overrides of AbstractXMLResource + + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } + + protected override DataSourceType SourceType { get; } + + #endregion + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV26InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV26InjectModule.cs index f6ece59ec6..d3bde412f8 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV26InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV26InjectModule.cs @@ -22,8 +22,21 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules { Bind<IXMLBusAuxiliariesDeclarationData>().To<XMLDeclarationBusAuxiliariesDataProviderV26>() .Named(XMLDeclarationBusAuxiliariesDataProviderV26.QUALIFIED_XSD_TYPE); + + Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationMediumLorryVehicleDataProviderV26>() + .Named(XMLDeclarationMediumLorryVehicleDataProviderV26.QUALIFIED_XSD_TYPE); + + Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationComponentsDataProviderNoAxlegearV26>() + .Named(XMLComponentReaderNoAxlegearV26.QUALIFIED_XSD_TYPE); + + Bind<IXMLGearboxDeclarationInputData>().To<XMLDeclarationGearboxDataProviderV26>() + .Named(XMLDeclarationGearboxDataProviderV26.QUALIFIED_XSD_TYPE); + Bind<IXMLComponentReader>().To<XMLComponentReaderV26>().Named(XMLComponentReaderV26.QUALIFIED_XSD_TYPE); + Bind<IXMLComponentReader>().To<XMLComponentReaderNoAxlegearV26>().Named(XMLComponentReaderNoAxlegearV26.QUALIFIED_XSD_TYPE); + + Bind<IXMLGearboxReader>().To<XMLGearboxReaderV26>().Named(XMLGearboxReaderV26.QUALIFIED_XSD_TYPE); } #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs index 26b9e33ead..1da7973089 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs @@ -311,4 +311,45 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl return Factory.CreateBusAuxiliaires(version, Vehicle, componentNode, sourceFile); } } + + // --------------------------------------------------------------------------------------- + + public class XMLComponentReaderNoAxlegearV26 : XMLComponentReaderV20 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V26; + public new const string XSD_TYPE = "VehicleComponentsNoAxlegearType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + protected IBusAuxiliariesDeclarationData _busAuxInputData; + + + public XMLComponentReaderNoAxlegearV26(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) : base( + vehicle, componentsNode) + { } + + #region Overrides of XMLComponentReaderV10 + + public override IAxleGearInputData AxleGearInputData { get { return null; } } + + #endregion + } + + // --------------------------------------------------------------------------------------- + + public class XMLGearboxReaderV26 : XMLComponentReaderV10 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V26; + public new const string XSD_TYPE = "GearboxDataDeclarationType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + protected IBusAuxiliariesDeclarationData _busAuxInputData; + + + public XMLGearboxReaderV26(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) : base( + vehicle, componentsNode) + { } + + + } + } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs index 04cbb2d6f0..c8e39abe71 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs @@ -73,7 +73,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl vehicle.ComponentReader = GetReader(vehicle, vehicle.ComponentNode, Factory.CreateComponentReader); vehicle.ADASReader = vehicle.ADASNode == null ? null : GetReader(vehicle, vehicle.ADASNode, Factory.CreateADASReader); //null; - vehicle.PTOReader = GetReader(vehicle, vehicle.PTONode, Factory.CreatePTOReader); + vehicle.PTOReader = vehicle.PTONode == null ? null : GetReader(vehicle, vehicle.PTONode, Factory.CreatePTOReader); return vehicle; } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs index 146e113f97..25c2ef4c0f 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs @@ -104,6 +104,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider } } + public virtual bool DifferentialIncluded { get { return false; } } + public virtual double AxlegearRatio { get { return double.NaN; } } + public IXMLGearboxReader Reader { protected get; set; } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterTruck.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs similarity index 98% rename from VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterTruck.cs rename to VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs index 9a51f17aee..101b51beac 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterTruck.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs @@ -52,7 +52,8 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { - public class DeclarationDataAdapterTruck : AbstractSimulationDataAdapter, IDeclarationDataAdapter + + public class DeclarationDataAdapterHeavyLorry : AbstractSimulationDataAdapter, IDeclarationDataAdapter { public static readonly GearboxType[] SupportedGearboxTypes = { GearboxType.MT, GearboxType.AMT, GearboxType.ATPowerSplit, GearboxType.ATSerial }; @@ -519,6 +520,16 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return retVal; } + public AxleGearData CreateDummyAxleGearData(IGearboxDeclarationInputData gbxData) + { + return new AxleGearData() { + AxleGear = new TransmissionData() { + Ratio = gbxData.AxlegearRatio, + LossMap = TransmissionLossMapReader.Create(1.0, gbxData.AxlegearRatio, "Axlegear") + } + }; + } + private void WarnDeclarationMode(string inputData) { Log.Warn("{0} not in Declaration Mode!", inputData); @@ -596,7 +607,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter public virtual PTOData CreatePTOTransmissionData(IPTOTransmissionInputData pto) { - if (pto.PTOTransmissionType != "None") { + if (pto != null && pto.PTOTransmissionType != "None") { return new PTOData { TransmissionType = pto.PTOTransmissionType, LossMap = PTOIdleLossMapReader.GetZeroLossMap(), diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs index 56d434204d..10ef34f234 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs @@ -17,7 +17,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data; namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { - public class DeclarationDataAdapterPrimaryBus : DeclarationDataAdapterTruck + public class DeclarationDataAdapterPrimaryBus : DeclarationDataAdapterHeavyLorry { public AirdragData CreateAirdragData(Mission mission) { diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 0dd5a4a015..5a59379421 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -134,7 +134,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter data.GrossVehicleMassRating, false); retVal.CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup( airDragArea, - DeclarationDataAdapterTruck.GetDeclarationAirResistanceCurve( + DeclarationDataAdapterHeavyLorry.GetDeclarationAirResistanceCurve( GetAirdragParameterSet( data.VehicleCategory, data.AxleConfiguration, data.Components.AxleWheels.AxlesEngineering.Count), airDragArea, height), diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs index e10909c2fe..83eddc210d 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs @@ -26,5 +26,6 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { RetarderData CreateRetarderData(IRetarderInputData retarderData); PTOData CreatePTOTransmissionData(IPTOTransmissionInputData ptoData); IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxData, IBusAuxiliariesDeclarationData busAuxData, MissionType missionType, VehicleClass vehicleClass, Meter vehicleLength); + AxleGearData CreateDummyAxleGearData(IGearboxDeclarationInputData gbxData); } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs index 6efa4ccbd3..3c834be34c 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs @@ -81,7 +81,11 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl { _segment.Missions.First().Loadings.First().Value); _airdragData = DataAdapter.CreateAirdragData(vehicle.Components.AirdragInputData, _segment.Missions.First(), _segment); - _axlegearData = DataAdapter.CreateAxleGearData(InputDataProvider.JobInputData.Vehicle.Components.AxleGearInputData); + if (InputDataProvider.JobInputData.Vehicle.Components.GearboxInputData.DifferentialIncluded) { + _axlegearData = DataAdapter.CreateDummyAxleGearData(InputDataProvider.JobInputData.Vehicle.Components.GearboxInputData); + } else { + _axlegearData = DataAdapter.CreateAxleGearData(InputDataProvider.JobInputData.Vehicle.Components.AxleGearInputData); + } _angledriveData = DataAdapter.CreateAngledriveData(InputDataProvider.JobInputData.Vehicle.Components.AngledriveInputData); var tmpRunData = new VectoRunData() { ShiftStrategy = InputDataProvider.JobInputData.ShiftStrategy, diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeTruckVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs similarity index 98% rename from VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeTruckVectoRunDataFactory.cs rename to VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs index 64905a214c..36598a2a68 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeTruckVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs @@ -45,9 +45,10 @@ using TUGraz.VectoCore.OutputData; namespace TUGraz.VectoCore.InputData.Reader.Impl { + public class DeclarationModeTruckVectoRunDataFactory : AbstractDeclarationVectoRunDataFactory { - DeclarationDataAdapterTruck _dao = new DeclarationDataAdapterTruck(); + DeclarationDataAdapterHeavyLorry _dao = new DeclarationDataAdapterHeavyLorry(); internal DeclarationModeTruckVectoRunDataFactory( IDeclarationInputDataProvider dataProvider, IDeclarationReport report) : base(dataProvider, report) diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs index e9189376a6..4ad6394cad 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs @@ -59,7 +59,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl protected PTOData PTOTransmissionData; protected List<VectoRunData.AuxData> AuxVTP; protected Segment Segment; - protected DeclarationDataAdapterTruck Dao; + protected DeclarationDataAdapterHeavyLorry Dao; protected Exception InitException; public IVTPReport Report; @@ -115,7 +115,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl protected void Initialize() { - Dao = new DeclarationDataAdapterTruck(); + Dao = new DeclarationDataAdapterHeavyLorry(); var vehicle = JobInputData.Vehicle; Segment = DeclarationData.TruckSegments.Lookup( vehicle.VehicleCategory, diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index e3d5011f6c..ebe22db111 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -423,11 +423,11 @@ <Compile Include="InputData\Reader\ComponentData\TorqueConverterDataReader.cs" /> <Compile Include="InputData\Reader\ComponentData\TransmissionLossMapReader.cs" /> <Compile Include="InputData\Reader\DataObjectAdapter\AbstractSimulationDataAdapter.cs" /> - <Compile Include="InputData\Reader\DataObjectAdapter\DeclarationDataAdapterTruck.cs" /> + <Compile Include="InputData\Reader\DataObjectAdapter\DeclarationDataAdapterHeavyLorry.cs" /> <Compile Include="InputData\Reader\DataObjectAdapter\EngineeringDataAdapter.cs" /> <Compile Include="InputData\Reader\ComponentData\DrivingCycleDataReader.cs" /> <Compile Include="InputData\Reader\ComponentData\FullLoadCurveReader.cs" /> - <Compile Include="InputData\Reader\Impl\DeclarationModeTruckVectoRunDataFactory.cs" /> + <Compile Include="InputData\Reader\Impl\DeclarationModeHeavyLorryVectoRunDataFactory.cs" /> <Compile Include="InputData\Reader\Impl\DeclarationVTPModeVectoRunDataFactory.cs" /> <Compile Include="InputData\Reader\Impl\DrivingCycleProxy.cs" /> <Compile Include="InputData\Reader\Impl\EngineeringModeVectoRunDataFactory.cs" /> diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs index 0e5e50f5ac..64264b1ed7 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs @@ -225,7 +225,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration double expected) { var crossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(crossSectionArea.SI<SquareMeter>(), - DeclarationDataAdapterTruck.GetDeclarationAirResistanceCurve(parameterSet, crossSectionArea.SI<SquareMeter>(), + DeclarationDataAdapterHeavyLorry.GetDeclarationAirResistanceCurve(parameterSet, crossSectionArea.SI<SquareMeter>(), height.SI<Meter>()), CrossWindCorrectionMode.DeclarationModeCorrection); @@ -237,7 +237,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration public void CrossWindGetDeclarationAirResistance(string parameterSet, double cdxa0, double height) { var curve = - DeclarationDataAdapterTruck.GetDeclarationAirResistanceCurve(parameterSet, cdxa0.SI<SquareMeter>(), height.SI<Meter>()); + DeclarationDataAdapterHeavyLorry.GetDeclarationAirResistanceCurve(parameterSet, cdxa0.SI<SquareMeter>(), height.SI<Meter>()); AssertHelper.AreRelativeEqual(60.KMPHtoMeterPerSecond(), curve[1].Velocity); AssertHelper.AreRelativeEqual(7.0418009.SI<SquareMeter>(), curve[1].EffectiveCrossSectionArea); @@ -264,7 +264,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration public void CrossWindCorrectionExceptionTest(string parameterSet, double crossSectionArea, double kmph, double height) { var crossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(crossSectionArea.SI<SquareMeter>(), - DeclarationDataAdapterTruck.GetDeclarationAirResistanceCurve(parameterSet, crossSectionArea.SI<SquareMeter>(), + DeclarationDataAdapterHeavyLorry.GetDeclarationAirResistanceCurve(parameterSet, crossSectionArea.SI<SquareMeter>(), height.SI<Meter>()), CrossWindCorrectionMode.DeclarationModeCorrection); diff --git a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs index ed1431e051..7725157f04 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs @@ -447,7 +447,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration }, }; - var dao = new DeclarationDataAdapterTruck(); + var dao = new DeclarationDataAdapterHeavyLorry(); var gearboxData = new JSONGearboxDataV5(JSONInputDataFactory.ReadFile(gearboxFile), gearboxFile); var engineInput = new JSONEngineDataV3(JSONInputDataFactory.ReadFile(engineFile), engineFile); var vehicle = new MockDeclarationVehicleInputData() { @@ -499,7 +499,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration new Point(123.0457, 2530), }; - var dao = new DeclarationDataAdapterTruck(); + var dao = new DeclarationDataAdapterHeavyLorry(); var gearboxData = new JSONGearboxDataV5(JSONInputDataFactory.ReadFile(gearboxFile), gearboxFile); var engineInput = new JSONEngineDataV3(JSONInputDataFactory.ReadFile(engineFile), engineFile); var vehicle = new MockDeclarationVehicleInputData() { @@ -617,7 +617,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration var gearboxData = job.JobInputData.Vehicle.Components.GearboxInputData; var idlespeed = VectoMath.Max( job.JobInputData.Vehicle.EngineIdleSpeed, job.JobInputData.Vehicle.Components.EngineInputData.EngineModes.First().IdleSpeed); - var dao = new DeclarationDataAdapterTruck(); + var dao = new DeclarationDataAdapterHeavyLorry(); var engineData = dao.CreateEngineData(job.JobInputData.Vehicle, job.JobInputData.Vehicle.Components.EngineInputData.EngineModes.First(), new Mission() {MissionType = MissionType.LongHaul}); var axlegearRatio = job.JobInputData.Vehicle.Components.AxleGearInputData.Ratio; var rdyn = job.JobInputData.Vehicle.Components.AxleWheels.AxlesDeclaration.Where(x => x.AxleType == AxleType.VehicleDriven) @@ -871,7 +871,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration public void ComputeShiftPolygonXML(string xmlJob) { var inputData = xmlInputReader.CreateDeclaration(xmlJob); - var dao = new DeclarationDataAdapterTruck(); + var dao = new DeclarationDataAdapterHeavyLorry(); var gearboxData = inputData.JobInputData.Vehicle.Components.GearboxInputData; var engineData = dao.CreateEngineData(inputData.JobInputData.Vehicle, inputData.JobInputData.Vehicle.Components.EngineInputData.EngineModes.First(), new Mission() {MissionType = MissionType.LongHaul}); diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs index 14128abd69..4232527565 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs @@ -264,7 +264,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var gearboxInput = JSONInputDataFactory.ReadGearbox(gbxFile); var engineInput = JSONInputDataFactory.ReadEngine(EngineDataFile); - var dao = new DeclarationDataAdapterTruck(); + var dao = new DeclarationDataAdapterHeavyLorry(); var vehicleInput = new MockDeclarationVehicleInputData() { EngineInputData = engineInput, GearboxInputData = gearboxInput diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs index 5a93340cb3..a60957b949 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs @@ -107,7 +107,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var vehicleData = MockSimulationDataFactory.CreateVehicleDataFromFile(VehicleDataFileTruck); var airdragData = MockSimulationDataFactory.CreateAirdragDataFromFile(VehicleDataFileTruck); airdragData.CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(6.46.SI<SquareMeter>(), - DeclarationDataAdapterTruck.GetDeclarationAirResistanceCurve("TractorSemitrailer", + DeclarationDataAdapterHeavyLorry.GetDeclarationAirResistanceCurve("TractorSemitrailer", 6.46.SI<SquareMeter>(), height.SI<Meter>()), CrossWindCorrectionMode.DeclarationModeCorrection); var vehicle = new Vehicle(container, vehicleData,airdragData); @@ -131,7 +131,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var vehicleData = MockSimulationDataFactory.CreateVehicleDataFromFile(VehicleDataFileTruck); var airdragData = MockSimulationDataFactory.CreateAirdragDataFromFile(VehicleDataFileTruck); airdragData.CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(6.2985.SI<SquareMeter>(), - DeclarationDataAdapterTruck.GetDeclarationAirResistanceCurve("TractorSemitrailer", + DeclarationDataAdapterHeavyLorry.GetDeclarationAirResistanceCurve("TractorSemitrailer", 6.2985.SI<SquareMeter>(), 3.SI<Meter>()), CrossWindCorrectionMode.DeclarationModeCorrection); var vehicle = new Vehicle(container, vehicleData,airdragData); diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs index 1e725e6157..22d2f21c64 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs @@ -169,7 +169,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData WHTCRural = 1.1, WHTCUrban = 1.1 }; - var dao = new DeclarationDataAdapterTruck(); + var dao = new DeclarationDataAdapterHeavyLorry(); var dummyGearbox = new DummyGearboxData() { Type = GearboxType.AMT, @@ -646,6 +646,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData public DigestData DigestValue { get; set; } public GearboxType Type { get; set; } public IList<ITransmissionInputData> Gears { get; set; } + public bool DifferentialIncluded { get; } + public double AxlegearRatio { get; } public KilogramSquareMeter Inertia { get; set; } public Second TractionInterruption { get; set; } diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-medium_lorry.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-medium_lorry.xml index 982043e82b..a5b2e62df0 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-medium_lorry.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/vecto_vehicle-medium_lorry.xml @@ -199,6 +199,7 @@ urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1 E:\QUAM\Workspace\VECTO_DEV_ <TransmissionType>AMT</TransmissionType> <MainCertificationMethod>Standard values</MainCertificationMethod> <DifferentialIncluded>true</DifferentialIncluded> + <AxlegearRatio>2.600</AxlegearRatio> <v2.6:Gears xsi:type="v2.0:GearsDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Gear number="1"> <Ratio>14.930</Ratio> diff --git a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs index 537a8322d6..db09f2be07 100644 --- a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs +++ b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs @@ -60,7 +60,7 @@ namespace TUGraz.VectoCore.Tests.Utils var gearboxInput = JSONInputDataFactory.ReadGearbox(gearBoxFile); var engineInput = JSONInputDataFactory.ReadEngine(engineFile); if (declarationMode) { - var dao = new DeclarationDataAdapterTruck(); + var dao = new DeclarationDataAdapterHeavyLorry(); var vehicleInput = new MockDeclarationVehicleInputData() { EngineInputData = engineInput, GearboxInputData = gearboxInput @@ -122,7 +122,7 @@ namespace TUGraz.VectoCore.Tests.Utils public static AxleGearData CreateAxleGearDataFromFile(string axleGearFile, bool declarationMode = true) { if (declarationMode) { - var dao = new DeclarationDataAdapterTruck(); + var dao = new DeclarationDataAdapterHeavyLorry(); var axleGearInput = JSONInputDataFactory.ReadGearbox(axleGearFile); return dao.CreateAxleGearData((IAxleGearInputData)axleGearInput); } else { diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs index d452aaebc3..f9115920c3 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs @@ -832,7 +832,7 @@ namespace TUGraz.VectoCore.Tests.XML var gbxType = inputDataProvider.JobInputData.Vehicle.Components.GearboxInputData.Type; Assert.AreEqual(gearboxType, gbxType.ToXMLFormat()); - Assert.IsTrue(DeclarationDataAdapterTruck.SupportedGearboxTypes.Contains(gbxType)); + Assert.IsTrue(DeclarationDataAdapterHeavyLorry.SupportedGearboxTypes.Contains(gbxType)); } } -- GitLab