From d7ab4abccacd0389e11f3b1acd25fda4350d229b Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Mon, 2 Aug 2021 13:05:52 +0200
Subject: [PATCH] make testcases  run

---
 .../XMLDeclarationVehicleDataProvider.cs      |  2 --
 .../XMLManufacturerReportExemptedTruck.cs     | 32 +++++++++++++------
 .../OutputData/XML/XMLDeclarationReport.cs    | 19 +++++++----
 3 files changed, 34 insertions(+), 19 deletions(-)

diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
index 4761f9e33b..950eec19de 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
@@ -600,8 +600,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 
 		#endregion
 
-		public override XmlElement ADASNode => null;
-
 		public override AngledriveType AngledriveType => AngledriveType.None;
 
 		public override RetarderType RetarderType => RetarderType.None;
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/XMLManufacturerReportExemptedTruck.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/XMLManufacturerReportExemptedTruck.cs
index 1fe9400d30..1a2d964f31 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/XMLManufacturerReportExemptedTruck.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/XMLManufacturerReportExemptedTruck.cs
@@ -42,16 +42,28 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport
 
 		private XElement[] ExemptedData(VectoRunData modelData)
 		{
-			return new[] {
-				modelData.VehicleData.HybridElectricHDV
-					? new XElement(
-						tns + XMLNames.Vehicle_MaxNetPower1, XMLHelper.ValueAsUnit(modelData.VehicleData.MaxNetPower1, XMLNames.Unit_W))
-					: null,
-				modelData.VehicleData.HybridElectricHDV
-					? new XElement(
-						tns + XMLNames.Vehicle_MaxNetPower2, XMLHelper.ValueAsUnit(modelData.VehicleData.MaxNetPower2, XMLNames.Unit_W))
-					: null
-			};
+			var retVal = new List<XElement>();
+
+			if (modelData.VehicleData.AxleConfiguration != AxleConfiguration.AxleConfig_Undefined) {
+				retVal.Add(new XElement(tns + XMLNames.Vehicle_AxleConfiguration,
+					modelData.VehicleData.AxleConfiguration.GetName()));
+				retVal.Add(new XElement(tns + XMLNames.Report_Vehicle_VehicleGroup,
+					modelData.VehicleData.VehicleClass.GetClassNumber()));
+			}
+
+			if (modelData.VehicleData.SleeperCab.HasValue) {
+				retVal.Add(new XElement(tns + XMLNames.Vehicle_SleeperCab, modelData.VehicleData.SleeperCab.Value));
+			}
+
+			if (modelData.VehicleData.MaxNetPower1 != null)
+				retVal.Add(new XElement(tns + XMLNames.Vehicle_MaxNetPower1,
+					XMLHelper.ValueAsUnit(modelData.VehicleData.MaxNetPower1, XMLNames.Unit_W)));
+			if (modelData.VehicleData.MaxNetPower2 != null) {
+				retVal.Add(new XElement(tns + XMLNames.Vehicle_MaxNetPower2,
+					XMLHelper.ValueAsUnit(modelData.VehicleData.MaxNetPower2, XMLNames.Unit_W)));
+			}
+
+			return retVal.ToArray();
 		}
 
 	}
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
index 46bec9b30a..de0d9c3755 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
@@ -230,14 +230,17 @@ namespace TUGraz.VectoCore.OutputData.XML
 
 		public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
 		{
-			var weightingGroup = modelData.Exempted
-				? WeightingGroup.Unknown
-				: DeclarationData.WeightingGroup.Lookup(
-					modelData.VehicleData.VehicleClass, modelData.VehicleData.SleeperCab,
+			if (modelData.Exempted) {
+				WeightingGroup = WeightingGroup.Unknown;
+			} else {
+				if (modelData.VehicleData.SleeperCab == null) {
+					throw new VectoException("SleeperCab parameter is required");
+				}
+
+				WeightingGroup = DeclarationData.WeightingGroup.Lookup(
+					modelData.VehicleData.VehicleClass, modelData.VehicleData.SleeperCab.Value,
 					modelData.EngineData.RatedPowerDeclared);
-			_weightingFactors = weightingGroup == WeightingGroup.Unknown
-				? ZeroWeighting
-				: DeclarationData.WeightingFactors.Lookup(weightingGroup);
+			}
 
 			InstantiateReports(modelData);
 
@@ -245,6 +248,8 @@ namespace TUGraz.VectoCore.OutputData.XML
 			CustomerRpt.Initialize(modelData, fuelModes);
 		}
 
+		public WeightingGroup WeightingGroup { get; protected set; }
+
 		protected virtual void InstantiateReports(VectoRunData modelData)
 		{
 			if (modelData.Exempted) {
-- 
GitLab