From 2c0e189821d1db6bfb37564db3d4b35f20b5b76c Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Fri, 20 Aug 2021 18:40:50 +0200
Subject: [PATCH] added testcasese for P3, P4, P2.5

---
 .../Integration/ADAS/ADASTestsHEV.cs          | 116 +++++++++++++++++-
 ... Class5_P25_PCC123EcoRollEngineStop.vecto} |   2 +-
 ...> Class5_P25_PCC123EcoRollEngineStop.vveh} |   0
 VectoCore/VectoCoreTest/VectoCoreTest.csproj  |   4 +-
 4 files changed, 118 insertions(+), 4 deletions(-)
 rename VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/{Class5_P2.5_PCC123EcoRollEngineStop.vecto => Class5_P25_PCC123EcoRollEngineStop.vecto} (96%)
 rename VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/{Class5_P2.5_PCC123EcoRollEngineStop.vveh => Class5_P25_PCC123EcoRollEngineStop.vveh} (100%)

diff --git a/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsHEV.cs b/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsHEV.cs
index ddd92d38c9..5f490f4164 100644
--- a/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsHEV.cs
+++ b/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsHEV.cs
@@ -644,6 +644,120 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS
 			(4752, 4771, OutsideSegment, Roll),           // len: 19m
 			(4771, 1e6, OutsideSegment, Accelerate));
 
+
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CaseA() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 4037, OutsideSegment, Accelerate),        // len: 4037m
+			(4037, 5332, WithinSegment, Accelerate),      // len: 1295m
+			(5332, 5897, UseCase1, Roll),                 // len: 565m
+			(5897, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CaseB() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CaseC() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CaseD() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CaseE() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CaseF() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CaseG() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CaseH() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CaseI() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CaseJ() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CrestCoast1() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P3_PCC123EcoRollEngineStop_CrestCoast2() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CaseA() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+	(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CaseB() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CaseC() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CaseD() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CaseE() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CaseF() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CaseG() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CaseH() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CaseI() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CaseJ() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CrestCoast1() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P4_PCC123EcoRollEngineStop_CrestCoast2() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CaseA() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CaseB() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CaseC() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CaseD() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CaseE() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CaseF() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CaseG() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CaseH() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CaseI() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CaseJ() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CrestCoast1() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+		[Test]
+		public void Class5_P25_PCC123EcoRollEngineStop_CrestCoast2() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
+			(0, 1e6, OutsideSegment, Accelerate));
+
+
 		[Test]
 		public void Class5_EcoRollWithoutEngineStop_CaseA() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).JoinString("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(),
 			(0, 5531, OutsideSegment, Accelerate),        // len: 5531m
@@ -1253,7 +1367,7 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS
 			var driverAction = driverActionCol.Values<DrivingAction>();
 			var distances = sCol.Values<Meter>();
 			var sections = GetDistancesOfStateChanges(pccStates.Zip(driverAction), distances).ToArray();
-			
+
 			Console.WriteLine("Start-End Segments:");
 			if (sections.Any()) {
 				var start = 0d;
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/Class5_P2.5_PCC123EcoRollEngineStop.vecto b/VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/Class5_P25_PCC123EcoRollEngineStop.vecto
similarity index 96%
rename from VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/Class5_P2.5_PCC123EcoRollEngineStop.vecto
rename to VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/Class5_P25_PCC123EcoRollEngineStop.vecto
index 626e9de3d2..a33d0bc57e 100644
--- a/VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/Class5_P2.5_PCC123EcoRollEngineStop.vecto
+++ b/VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/Class5_P25_PCC123EcoRollEngineStop.vecto
@@ -8,7 +8,7 @@
   "Body": {
     "SavedInDeclMode": false,
     "EngineOnlyMode": false,
-    "VehicleFile": "Class5_P2.5_PCC123EcoRollEngineStop.vveh",
+    "VehicleFile": "Class5_P25_PCC123EcoRollEngineStop.vveh",
     "EngineFile": "Engine_325kW_12.7l.veng",
     "GearboxFile": "AMT_12.vgbx",
     "TCU": "AMT_12.vgbx",
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/Class5_P2.5_PCC123EcoRollEngineStop.vveh b/VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/Class5_P25_PCC123EcoRollEngineStop.vveh
similarity index 100%
rename from VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/Class5_P2.5_PCC123EcoRollEngineStop.vveh
rename to VectoCore/VectoCoreTest/TestData/Integration/ADAS-HEV/Group5PCCEng/Class5_P25_PCC123EcoRollEngineStop.vveh
diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
index 1012ed9452..123e22098c 100644
--- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
@@ -2470,10 +2470,10 @@
     <None Include="TestData\Integration\ADAS-HEV\Group5PCCEng\Class5_NoADAS.vveh">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
-    <None Include="TestData\Integration\ADAS-HEV\Group5PCCEng\Class5_P2.5_PCC123EcoRollEngineStop.vecto">
+    <None Include="TestData\Integration\ADAS-HEV\Group5PCCEng\Class5_P25_PCC123EcoRollEngineStop.vecto">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
-    <None Include="TestData\Integration\ADAS-HEV\Group5PCCEng\Class5_P2.5_PCC123EcoRollEngineStop.vveh">
+    <None Include="TestData\Integration\ADAS-HEV\Group5PCCEng\Class5_P25_PCC123EcoRollEngineStop.vveh">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
     <None Include="TestData\Integration\ADAS-HEV\Group5PCCEng\Class5_P4_PCC123EcoRollEngineStop.vecto">
-- 
GitLab