From 19cff584577a5af04c9b4ea6b8a75d32a69be327 Mon Sep 17 00:00:00 2001 From: "VKMTHD\\franzjosefkober" <franz.josef.kober@ivt.tugraz.at> Date: Tue, 7 Sep 2021 15:44:36 +0200 Subject: [PATCH] added HEV-IEPC-S medium lorry to reader --- .../XMLDeclarationVehicleDataProvider.cs | 25 ++++++++++++++ ...XMLDeclarationInputDataV210InjectModule.cs | 5 ++- .../XML/XMLDeclarationInputv210.cs | 33 ++++++++++++++++++- 3 files changed, 61 insertions(+), 2 deletions(-) diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index 889d183a2d..8838060dcc 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -1328,4 +1328,29 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #endregion } + // --------------------------------------------------------------------------------------- + + public class XMLDeclarationHEVIEPCSMediumLorryDataProviderV210 : XMLDeclarationHEVIEPCSHeavyLorryDataProviderV210 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; + public new const string XSD_TYPE = "Vehicle_HEV-IEPC-S_MediumLorryDeclarationType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLDeclarationHEVIEPCSMediumLorryDataProviderV210(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) + : base(jobData, xmlNode, sourceFile) { } + + #region Overrides of XMLDeclarationVehicleDataProviderV10 + + public override CubicMeter CargoVolume => + ElementExists(XMLNames.Vehicle_CargoVolume) + ? GetDouble(XMLNames.Vehicle_CargoVolume).SI<CubicMeter>() : null; + + public override IPTOTransmissionInputData PTOTransmissionInputData => null; + + public override XmlElement PTONode => null; + + #endregion + } + + } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs index 38ec2f52b4..e7c670d0a1 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs @@ -45,7 +45,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationHEVIEPCSHeavyLorryDataProviderV210>() .Named(XMLDeclarationHEVIEPCSHeavyLorryDataProviderV210.QUALIFIED_XSD_TYPE); - + + Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationHEVIEPCSMediumLorryDataProviderV210>() + .Named(XMLDeclarationHEVIEPCSMediumLorryDataProviderV210.QUALIFIED_XSD_TYPE); + Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationCompletedBusComponentsDataProviderV210>() .Named(XMLDeclarationCompletedBusComponentsDataProviderV210.QUALIFIED_XSD_TYPE); diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs index 0ba6eaeb18..80e545de25 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs @@ -1003,8 +1003,39 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual(2000.00.SI<NewtonMeter>(), gears[1].MaxOutputShaftTorque); } - #endregion + + + [TestCase(@"MediumLorry\HEV-S_mediumLorry_IEPC-S.xml")] + public void TestHEVIEPCSMediumLorry(string jobfile) + { + var filename = Path.Combine(BASE_DIR, jobfile); + var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); + + Assert.NotNull(dataProvider.JobInputData); + var vehicle = dataProvider.JobInputData.Vehicle; + Assert.NotNull(vehicle); + Assert.IsNotNull(vehicle.Components.EngineInputData); + Assert.IsNotNull(vehicle.Components.ElectricMachines); + Assert.AreEqual(1, vehicle.Components.ElectricMachines.Entries.Count); + Assert.AreEqual(PowertrainPosition.GEN, vehicle.Components.ElectricMachines.Entries[0].Position); + TestIEPCData(vehicle.Components.IEPC); + Assert.IsNotNull(vehicle.Components.IEPC); + Assert.IsNull(vehicle.Components.GearboxInputData); + Assert.IsNull(vehicle.Components.AngledriveInputData); + Assert.IsNotNull(vehicle.Components.RetarderInputData); + Assert.IsNotNull(vehicle.Components.AxleGearInputData); + Assert.IsNotNull(vehicle.Components.AxleWheels); + Assert.IsNotNull(vehicle.Components.AuxiliaryInputData); + Assert.IsNull(vehicle.Components.BusAuxiliaries); + Assert.IsNotNull(vehicle.Components.AirdragInputData); + Assert.IsNotNull(vehicle.Components.ElectricStorage); + Assert.IsNull(vehicle.Components.PTOTransmissionInputData); + Assert.IsNotNull(vehicle.CargoVolume); + Assert.IsNull(vehicle.TorqueLimits); + Assert.IsNull(vehicle.ElectricMotorTorqueLimits); + Assert.IsNull(vehicle.MaxPropulsionTorque); + } #region Test existence of torque converter -- GitLab