From 6f77671e1e76a68b79eae32870eae7a349313e25 Mon Sep 17 00:00:00 2001
From: "VKMTHD\\haraldmartini" <harald.martini@student.tugraz.at>
Date: Tue, 7 Mar 2023 08:51:47 +0100
Subject: [PATCH] fixed parameters for single run testcases, assert that the
 _resultCount in the report must be zero after the simulation

---
 .../Declaration/HeavyLorry/LorrySimulation.cs | 30 ++++++++++++++-----
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/HeavyLorry/LorrySimulation.cs b/VectoCore/VectoCoreTest/Integration/Declaration/HeavyLorry/LorrySimulation.cs
index ba4bca4ac9..f9e0180dfa 100644
--- a/VectoCore/VectoCoreTest/Integration/Declaration/HeavyLorry/LorrySimulation.cs
+++ b/VectoCore/VectoCoreTest/Integration/Declaration/HeavyLorry/LorrySimulation.cs
@@ -96,9 +96,9 @@ public class LorrySimulation
 	public void HeavyLorrySimulationTest(string jobFile)
     {
 #if singlethreaded
-		RunSimulation(jobFile, false);
+		RunFullSimulation(jobFile, false);
 #else
-        RunSimulation(jobFile, true, false);
+        RunFullSimulation(jobFile, true, false);
 #endif
     }
 
@@ -113,16 +113,16 @@ public class LorrySimulation
 	[TestCase(@"MediumLorry\PEV\Group5_ PEV_E3_ES_Standard.xml")]
 	public void MediumLorrySimulationTest(string jobFile)
 	{
-		RunSimulation(jobFile, true, false);
+		RunFullSimulation(jobFile, true, false);
 	}
 
 	[TestCase(@"HeavyLorry\Exempted\exempted_heavy_lorry.xml")]
 	public void ExemptedTest(string jobFile)
 	{
-		RunSimulation(jobFile, true);
+		RunFullSimulation(jobFile, true);
 	}
 
-    public void RunSimulation(string jobFile, bool multiThreaded = true, bool disableIterativeRuns = false)
+    public void RunFullSimulation(string jobFile, bool multiThreaded = true, bool disableIterativeRuns = false)
     {
         var filePath = Path.Combine(BASE_DIR, jobFile);
         var runsFactory = GetSimulatorFactory(filePath, out var dataProvider, out var fileWriter, out var summaryDataContainer);
@@ -151,6 +151,9 @@ public class LorrySimulation
         PrintRuns(jobContainer, fileWriter);
         PrintFiles(fileWriter);
 
+		Assert.AreEqual(0, GetResultCount(jobContainer.Runs.First().Run.GetContainer().RunData.Report),
+			"_resultCount must be zero after simulation");
+
 		var mrfPath = fileWriter.GetWrittenFiles()[ReportType.DeclarationReportManufacturerXML];
 		var cifPath = fileWriter.GetWrittenFiles()[ReportType.DeclarationReportCustomerXML];
 		var cifSchema = XMLValidator.GetXMLSchema(XmlDocumentType.CustomerReport);
@@ -507,7 +510,7 @@ public class LorrySimulation
 	[TestCase(Group5_HEV_P4_OVC, 20)]
 	[TestCase(Group5_HEV_P2_5_OVC, 20)]
 	[TestCase(@"MediumLorry\P-HEV\Group5_HEV_P3_ovc.xml", 8, MissionType.UrbanDelivery, LoadingType.LowLoading)]
-	public void PHEV_ChargeSustainingIt(string jobFile, int nrRuns, MissionType? missionType = MissionType.UrbanDelivery, LoadingType? loadingType = LoadingType.ReferenceLoad)
+	public void PHEV_ChargeSustainingIt(string jobFile, int nrRuns, MissionType missionType = MissionType.UrbanDelivery, LoadingType loadingType = LoadingType.ReferenceLoad)
 	{
 		var jobContainer = GetJobContainer(jobFile, nrRuns, out var fileWriter, out var runs, out var sumDataContainer);
 
@@ -559,7 +562,7 @@ public class LorrySimulation
 	[TestCase(@"HeavyLorry\P-HEV\Group5_HEV_IHPC.xml", 20)]
 	[TestCase(@"HeavyLorry\P-HEV\Group5_HEV_P2_OVC_stefan.xml", 20, MissionType.UrbanDelivery, LoadingType.LowLoading)]
 	[TestCase(@"HeavyLorry\P-HEV\Group5_HEV_P3_OVC_stefan.xml", 20)]
-    public void PHEV_ChargeDepleting(string jobFile, int nrRuns, MissionType? missionType = MissionType.UrbanDelivery, LoadingType? loadingType = LoadingType.ReferenceLoad)
+    public void PHEV_ChargeDepleting(string jobFile, int nrRuns, MissionType missionType = MissionType.UrbanDelivery, LoadingType loadingType = LoadingType.ReferenceLoad)
 	{
 		var jobContainer = GetJobContainer(jobFile, nrRuns, out var fileWriter, out var runs, out var sumDataContainer);
 
@@ -954,6 +957,19 @@ public class LorrySimulation
 
 	}
 
+	private int GetResultCount(IDeclarationReport report)
+	{
+
+		if (report is XMLDeclarationReport09 rep09)
+		{
+
+
+			return (int)GetField("_resultCount", rep09.GetType()).GetValue(rep09);
+			
+		}
+		return int.MinValue;
+	}
+
 	private FieldInfo GetField(string name, Type type)
 	{
 		bool found = false;
-- 
GitLab