diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs index 0b3ad62e0ff87221e59e1fa09b7f02efa586a4c3..786b0be8c14a4e842881463a7437b00b85ccb32f 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs @@ -2,6 +2,7 @@ using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; using TUGraz.VectoCore.Utils; @@ -234,7 +235,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider // --------------------------------------------------------------------------------------- - public class XMLDeclarationComponentsPrimaryVehicleBusDataProviderV01 : XMLDeclarationComponentsDataProviderV10, IXMLVehicleComponentsDeclaration + public class XMLDeclarationComponentsPrimaryVehicleBusDataProviderV01 : XMLDeclarationComponentsDataProviderV10, IXMLVehicleComponentsDeclaration, + IRetarderInputData + { public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_PRIMARY_BUS_VEHICLE_URI_V01; @@ -244,13 +247,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider private IBusAuxiliariesDeclarationData _busAuxiliaries; - - public XMLDeclarationComponentsPrimaryVehicleBusDataProviderV01(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, - string sourceFile) : base(vehicle, componentNode, sourceFile) { } + + public XMLDeclarationComponentsPrimaryVehicleBusDataProviderV01(IXMLDeclarationVehicleData vehicle, + XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } + IRetarderInputData IVehicleComponentsDeclaration.RetarderInputData { - get { return null; } + get { return this; } } ITorqueConverterDeclarationInputData IVehicleComponentsDeclaration.TorqueConverterInputData @@ -277,5 +281,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { get { return NAMESPACE_URI; } } + + #region IRetarderInputData Interface Implementation + + public RetarderType Type { get{ return _vehicle.RetarderType; }} + public double Ratio { get { return _vehicle.RetarderRatio; }} + public TableData LossMap { get; } + + #endregion } } \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/XML/XMLPrimaryVehicleReportBusReaderTest.cs b/VectoCore/VectoCoreTest/XML/XMLPrimaryVehicleReportBusReaderTest.cs index da65eb60efbe92d2d1c0abf52bf62ac734d601d9..9ad11695f9dd1db55e8d84abf84e023b7214ed0d 100644 --- a/VectoCore/VectoCoreTest/XML/XMLPrimaryVehicleReportBusReaderTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLPrimaryVehicleReportBusReaderTest.cs @@ -61,9 +61,9 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual(false, vehicle.Articulated); Assert.AreEqual(25000, vehicle.GrossVehicleMassRating.Value()); Assert.AreEqual(600, vehicle.EngineIdleSpeed.Value()); - Assert.AreEqual("Transmission Output Retarder", ((XMLDeclarationPrimaryVehicleBusDataProviderV01)vehicle).RetarderType.ToXMLFormat()); - Assert.AreEqual(1.000, ((XMLDeclarationPrimaryVehicleBusDataProviderV01)vehicle).RetarderRatio); - Assert.AreEqual("None", ((XMLDeclarationPrimaryVehicleBusDataProviderV01)vehicle).AngledriveType.ToXMLFormat()); + Assert.AreEqual("Transmission Output Retarder", vehicle.Components.RetarderInputData.Type.ToXMLFormat()); + Assert.AreEqual(1.000, vehicle.Components.RetarderInputData.Ratio); + Assert.AreEqual("None", vehicle.Components.AngledriveInputData.Type.ToXMLFormat()); Assert.IsFalse(vehicle.ZeroEmissionVehicle); Assert.IsFalse(vehicle.ADAS.EngineStopStart); @@ -89,7 +89,7 @@ namespace TUGraz.VectoCore.Tests.XML TestAngledrive(components.AngledriveInputData); - Assert.IsNull(components.RetarderInputData); + TestRetarderInputData(components.RetarderInputData); TestAxlegear(components.AxleGearInputData); @@ -199,6 +199,14 @@ namespace TUGraz.VectoCore.Tests.XML Assert.That(() => angeldrive.Efficiency, Throws.TypeOf<VectoException>()); } + private void TestRetarderInputData(IRetarderInputData retarder) + { + Assert.IsNotNull(retarder); + Assert.IsNull(retarder.LossMap); + Assert.AreEqual("Transmission Output Retarder", retarder.Type.ToXMLFormat()); + Assert.AreEqual(1.000, retarder.Ratio); + } + private void TestAxlegear(IAxleGearInputData axelGear) { Assert.AreEqual("Generic Gearbox Manufacturer", axelGear.Manufacturer);