diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index bbc5b8c8b8b2f94e9b68c38a597b4d7fdb7179bd..82804227634cc3637b8457c288ceafd1510796ae 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -1138,20 +1138,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider protected XMLVehicleDataProviderHelperV201(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { } - + #region Overrides of XMLDeclarationVehicleDataProviderV10 - - public override VehicleCategory VehicleCategory - { - get - { - var val = GetString(XMLNames.ChassisConfiguration); - return "Rigid Lorry".Equals(val, StringComparison.InvariantCultureIgnoreCase) - ? VehicleCategory.RigidTruck : VehicleCategoryHelper.Parse(val); - } - } - + + public override bool ZeroEmissionVehicle => GetBool(XMLNames.Vehicle_ZeroEmissionVehicle); + + public override bool VocationalVehicle => GetBool(XMLNames.Vehicle_VocationalVehicle); + + public override VehicleCategory VehicleCategory => + VehicleCategoryHelper.Parse(GetString(XMLNames.ChassisConfiguration)); + public override Kilogram CurbMassChassis => GetDouble(XMLNames.CorrectedActualMass).SI<Kilogram>(); public override Kilogram GrossVehicleMassRating => GetDouble(XMLNames.TPMLM).SI<Kilogram>(); diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV-S_heavyLorry_AMT_S2_n_opt.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV-S_heavyLorry_AMT_S2_n_opt.xml index d16870fdd23b6a08c4b4783effd3955b17732ca5..bc95808f8adec5a099855e0d8da09dc96bf17920 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV-S_heavyLorry_AMT_S2_n_opt.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV-S_heavyLorry_AMT_S2_n_opt.xml @@ -8,22 +8,24 @@ <Date>2017-01-01T00:00:00Z</Date> <LegislativeCategory>N3</LegislativeCategory> <ChassisConfiguration>Rigid Lorry</ChassisConfiguration> - <AxleConfiguration>4x2</AxleConfiguration> + <AxleConfiguration>6x2</AxleConfiguration> <CorrectedActualMass>6000</CorrectedActualMass> <TechnicalPermissibleMaximumLadenMass>12000</TechnicalPermissibleMaximumLadenMass> - <IdlingSpeed>650</IdlingSpeed> - <RetarderType>None</RetarderType> - <AngledriveType>None</AngledriveType> + <IdlingSpeed>660</IdlingSpeed> + <RetarderType>Losses included in Gearbox</RetarderType> + <RetarderRatio>1.100</RetarderRatio> + <AngledriveType>Separate Angledrive</AngledriveType> <PTO xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:PTOType"> <v2.0:PTOShaftsGearWheels>none</v2.0:PTOShaftsGearWheels> <v2.0:PTOOtherElements>none</v2.0:PTOOtherElements> </PTO> - <ZeroEmissionVehicle>false</ZeroEmissionVehicle> - <VocationalVehicle>false</VocationalVehicle> - <SleeperCab>false</SleeperCab> + <ZeroEmissionVehicle>true</ZeroEmissionVehicle> + <VocationalVehicle>true</VocationalVehicle> + <SleeperCab>true</SleeperCab> <VehicleTypeApprovalNumber>ASDF</VehicleTypeApprovalNumber> <ArchitectureID>S2</ArchitectureID> - <OvcHev>false</OvcHev> + <OvcHev>true</OvcHev> + <MaxChargingPower>6</MaxChargingPower> <ADAS xsi:type="ADAS_HEV_Type"> <v2.10.2:EngineStopStart>true</v2.10.2:EngineStopStart> <v2.10.2:PredictiveCruiseControl>1,2,3</v2.10.2:PredictiveCruiseControl> diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs index 5267d02bb1bcf40b9e66d509dc2fc9717e090654..4859437ca032a2708b5feda469a468466d63b0bc 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs @@ -165,10 +165,37 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual(RetarderType.TransmissionOutputRetarder, vehicle.RetarderType); Assert.AreEqual(1.000, vehicle.RetarderRatio); Assert.AreEqual(AngledriveType.SeparateAngledrive, vehicle.AngledriveType); - Assert.AreEqual(false, vehicle.ZeroEmissionVehicle); + Assert.AreEqual(true, vehicle.ZeroEmissionVehicle); Assert.AreEqual(ArchitectureID.P2, vehicle.ArchitectureID); Assert.AreEqual(true, vehicle.OvcHev); Assert.AreEqual(5.SI<Watt>(), vehicle.MaxChargingPower); } + + + [TestCase(@"HEV-S_heavyLorry_AMT_S2_n_opt.xml", Optional_TESTS_DIR)] + public void TestHEVHeavyLorryS2VehicleData(string jobfile, string testDir) + { + var vehicle = ReadVehicleData(jobfile, testDir); + + Assert.NotNull(vehicle); + Assert.AreEqual(LegislativeClass.N3, vehicle.LegislativeClass); + Assert.AreEqual(VehicleCategory.RigidTruck, vehicle.VehicleCategory); + Assert.AreEqual(AxleConfiguration.AxleConfig_6x2, vehicle.AxleConfiguration); + Assert.AreEqual(6000.SI<Kilogram>(), vehicle.CurbMassChassis); + Assert.AreEqual(12000.SI<Kilogram>(), vehicle.GrossVehicleMassRating); + Assert.AreEqual(660.00.RPMtoRad(), vehicle.EngineIdleSpeed); + Assert.AreEqual(RetarderType.LossesIncludedInTransmission, vehicle.RetarderType); + Assert.AreEqual(1.100, vehicle.RetarderRatio); + Assert.AreEqual(AngledriveType.SeparateAngledrive, vehicle.AngledriveType); + Assert.IsNotNull(vehicle.PTOTransmissionInputData); + Assert.AreEqual(true, vehicle.ZeroEmissionVehicle); + Assert.AreEqual(true, vehicle.VocationalVehicle); + Assert.AreEqual(true, vehicle.SleeperCab); + Assert.AreEqual("ASDF", vehicle.VehicleTypeApprovalNumber); + Assert.AreEqual(ArchitectureID.S2, vehicle.ArchitectureID); + Assert.AreEqual(true, vehicle.OvcHev); + Assert.AreEqual(6.SI<Watt>(), vehicle.MaxChargingPower); + } + } }