diff --git a/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs b/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs
index 521c7def0bc698b9664b35171d50dca8d0b9119f..ec629b5e03ef76c0915fb82058667d189e968c61 100644
--- a/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs
@@ -239,6 +239,8 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 		const string TestJobP1_APTS = @"TestData\Hybrids\GenericVehicle_P1-APT\CityBus_AT_Ser.vecto";
 		const string TestJobP1_APTP = @"TestData\Hybrids\GenericVehicle_P1-APT\CityBus_AT_PS.vecto";
 
+		private const string TestJobP1 = @"E:\QUAM\tmp\Citybus_P1-APT-S-175kW-6.8l_C1\CityBus_AT_Ser.vecto";
+
 		private const string TestJobCityBusP1_APTP = @"TestData\Hybrids\Citybus_P1-APT-P-220kW-7.7l\CityBus_AT-P.vecto";
 
 		[
@@ -274,6 +276,14 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 			TestCase(TestJobCityBusP1_APTP, 7, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Suburban"),
 			TestCase(TestJobCityBusP1_APTP, 8, TestName = "P1 CityBus Hybrid APT-P, DriveCycle Urban"),
 			TestCase(TestJobCityBusP1_APTP, 9, TestName = "P1 CityBus Hybrid APT-P, DriveCycle UrbanDelivery"),
+
+			TestCase(TestJobP1, 0, TestName = "P1 Bus Hybrid Roeck - Urban"),
+			TestCase(TestJobP1, 1, TestName = "P1 Bus Hybrid Roeck - Coach"),
+			TestCase(TestJobP1, 2, TestName = "P1 Bus Hybrid Roeck - HeavyUrban"),
+			TestCase(TestJobP1, 3, TestName = "P1 Bus Hybrid Roeck - Interurban"),
+			TestCase(TestJobP1, 4, TestName = "P1 Bus Hybrid Roeck - Suburban"),
+			TestCase(TestJobP1, 5, TestName = "P1 Bus Hybrid Roeck - Suburban + stop"),
+
 		]
 		public void P1APTHybridDriveCycle(string jobFile, int cycleIdx)
 		{
@@ -535,68 +545,65 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 		}
 
 
-		public const string Group5TestJob = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5.vecto";
-
-		public const string Group5TestJob325kW = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_325kW.vecto";
-
-		public const string Group5TestJob_noESS = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5.vecto";
-
-		public const string Group5TestJob325kW_noESS = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_325kW.vecto";
-
-		public const string Group2TestJob = @"TestData\Hybrids\Hyb_P2_Group2\Class2_RigidTruck_ParHyb_ENG.vecto";
 
 		public const string Group2TestJob180kW = @"TestData\Hybrids\Hyb_P2_Group2\Class2_RigidTruck_ParHyb_ENG.vecto";
 
-		public const string Group5_80kWh_TestJob = @"TestData\Hybrids\Hyb_P2_Group5\Hyb_P2_Group5_80kWh.vecto";
-
-		public const string Group5TestJob2 = @"TestData\Hybrids\Hyb_P2_Group5\Hyb_P2_Group5.vecto";
-
-		public const string Group2TestJobSuperCapOvl = @"TestData\Hybrids\Hyb_P2_Group2SuperCapOvl\Class2_RigidTruck_ParHyb_SuperCap_Ovl_ENG.vecto";
-
-		public const string CityBus6x2 = @"TestData\Hybrids\Input CityBus 6x2_HEV_P2\CityBus_6x2_HEV_P2.vecto";
-
-		public const string Group5_EMTorqueLimit_TestJob = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_LimitEMTorqueDrive.vecto";
-
-		public const string Group5_LimitPropTq_TestJob = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_LimitVehiclePropTq.vecto";
 
-		public const string Group5TestJob_EMLossMap_1 = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_EMLossMap_1.vecto"; // non-linear EM Loss-Map
-
-		public const string Group5TestJob_EMLossMap_2 = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_EMLossMap_2.vecto"; // linear EM Loss-Map
+		public const string Group5TestJob = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5.vecto";
 
 		[
 		TestCase(Group5TestJob, 0, TestName = "P2 Hybrid Group 5 DriveCycle LongHaul"),
-		TestCase(Group5TestJob, 1, TestName = "P2 Hybrid Group 5 DriveCycle Coach"),  // error
-		TestCase(Group5TestJob, 2, TestName = "P2 Hybrid Group 5 DriveCycle Construction"),  // error
+		TestCase(Group5TestJob, 1, TestName = "P2 Hybrid Group 5 DriveCycle Coach"),  
+		TestCase(Group5TestJob, 2, TestName = "P2 Hybrid Group 5 DriveCycle Construction"),  
 		TestCase(Group5TestJob, 3, TestName = "P2 Hybrid Group 5 DriveCycle HeavyUrban"),
-		TestCase(Group5TestJob, 4, TestName = "P2 Hybrid Group 5 DriveCycle Interurban"),  // error
+		TestCase(Group5TestJob, 4, TestName = "P2 Hybrid Group 5 DriveCycle Interurban"),  
 		TestCase(Group5TestJob, 5, TestName = "P2 Hybrid Group 5 DriveCycle MunicipalUtility"),
 		TestCase(Group5TestJob, 6, TestName = "P2 Hybrid Group 5 DriveCycle RegionalDelivery"),
-		TestCase(Group5TestJob, 7, TestName = "P2 Hybrid Group 5 DriveCycle Suburban"),  // error
+		TestCase(Group5TestJob, 7, TestName = "P2 Hybrid Group 5 DriveCycle Suburban"),  
 		TestCase(Group5TestJob, 8, TestName = "P2 Hybrid Group 5 DriveCycle Urban"), 
-		TestCase(Group5TestJob, 9, TestName = "P2 Hybrid Group 5 DriveCycle UrbanDelivery"), // error
+		TestCase(Group5TestJob, 9, TestName = "P2 Hybrid Group 5 DriveCycle UrbanDelivery"), 
+		]
+		public void P2HybridGroup5DriveCycle(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
+
+
+		public const string Group5TestJob325kW = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_325kW.vecto";
 
+		[
 		TestCase(Group5TestJob325kW, 0, TestName = "P2 Hybrid Group 5 325kW DriveCycle LongHaul"),
-		TestCase(Group5TestJob325kW, 1, TestName = "P2 Hybrid Group 5 325kW DriveCycle Coach"),  // error
+		TestCase(Group5TestJob325kW, 1, TestName = "P2 Hybrid Group 5 325kW DriveCycle Coach"),  
 		TestCase(Group5TestJob325kW, 2, TestName = "P2 Hybrid Group 5 325kW DriveCycle Construction"),  
 		TestCase(Group5TestJob325kW, 3, TestName = "P2 Hybrid Group 5 325kW DriveCycle HeavyUrban"), 
-		TestCase(Group5TestJob325kW, 4, TestName = "P2 Hybrid Group 5 325kW DriveCycle Interurban"),  // error
+		TestCase(Group5TestJob325kW, 4, TestName = "P2 Hybrid Group 5 325kW DriveCycle Interurban"),  
 		TestCase(Group5TestJob325kW, 5, TestName = "P2 Hybrid Group 5 325kW DriveCycle MunicipalUtility"), 
 		TestCase(Group5TestJob325kW, 6, TestName = "P2 Hybrid Group 5 325kW DriveCycle RegionalDelivery"),
 		TestCase(Group5TestJob325kW, 7, TestName = "P2 Hybrid Group 5 325kW DriveCycle Suburban"), 
 		TestCase(Group5TestJob325kW, 8, TestName = "P2 Hybrid Group 5 325kW DriveCycle Urban"), 
 		TestCase(Group5TestJob325kW, 9, TestName = "P2 Hybrid Group 5 325kW DriveCycle UrbanDelivery"), 
+		]
+		public void P2HybridGroup5DriveCycle_325kW(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
+
+		public const string Group2TestJob = @"TestData\Hybrids\Hyb_P2_Group2\Class2_RigidTruck_ParHyb_ENG.vecto";
 
+		[
 		TestCase(Group2TestJob, 0, TestName = "P2 Hybrid Group 2 DriveCycle LongHaul"),
 		TestCase(Group2TestJob, 1, TestName = "P2 Hybrid Group 2 DriveCycle RegionalDelivery"),
-		TestCase(Group2TestJob, 2, TestName = "P2 Hybrid Group 2 DriveCycle UrbanDelivery"),  // error
-		TestCase(Group2TestJob, 3, TestName = "P2 Hybrid Group 2 DriveCycle Coach"), // 
-		TestCase(Group2TestJob, 4, TestName = "P2 Hybrid Group 2 DriveCycle Construction"), // error
+		TestCase(Group2TestJob, 2, TestName = "P2 Hybrid Group 2 DriveCycle UrbanDelivery"),  
+		TestCase(Group2TestJob, 3, TestName = "P2 Hybrid Group 2 DriveCycle Coach"), 
+		TestCase(Group2TestJob, 4, TestName = "P2 Hybrid Group 2 DriveCycle Construction"), 
 		TestCase(Group2TestJob, 5, TestName = "P2 Hybrid Group 2 DriveCycle HeavyUrban"),
-		TestCase(Group2TestJob, 6, TestName = "P2 Hybrid Group 2 DriveCycle Interurban"), // error
+		TestCase(Group2TestJob, 6, TestName = "P2 Hybrid Group 2 DriveCycle Interurban"), 
 		TestCase(Group2TestJob, 7, TestName = "P2 Hybrid Group 2 DriveCycle MunicipalUtility"),
 		TestCase(Group2TestJob, 8, TestName = "P2 Hybrid Group 2 DriveCycle Suburban"),
-		TestCase(Group2TestJob, 9, TestName = "P2 Hybrid Group 2 DriveCycle Urban"),
+		TestCase(Group2TestJob, 9, TestName = "P2 Hybrid Group 2 DriveCycle Urban"),]
+		public void P2HybridGroup2DriveCycle(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
+
 
+		public const string Group5_80kWh_TestJob = @"TestData\Hybrids\Hyb_P2_Group5\Hyb_P2_Group5_80kWh.vecto";
+
+		[
 		TestCase(Group5_80kWh_TestJob, 0, TestName = "P2 Hybrid Group 5 80kWh DriveCycle LongHaul"),
 		TestCase(Group5_80kWh_TestJob, 1, TestName = "P2 Hybrid Group 5 80kWh DriveCycle Coach"), 
 		TestCase(Group5_80kWh_TestJob, 2, TestName = "P2 Hybrid Group 5 80kWh DriveCycle Construction"), 
@@ -606,52 +613,86 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 		TestCase(Group5_80kWh_TestJob, 6, TestName = "P2 Hybrid Group 5 80kWh DriveCycle RegionalDelivery"),
 		TestCase(Group5_80kWh_TestJob, 7, TestName = "P2 Hybrid Group 5 80kWh DriveCycle Suburban"),
 		TestCase(Group5_80kWh_TestJob, 8, TestName = "P2 Hybrid Group 5 80kWh DriveCycle Urban"),  
-		TestCase(Group5_80kWh_TestJob, 9, TestName = "P2 Hybrid Group 5 80kWh DriveCycle UrbanDelivery"), 
+		TestCase(Group5_80kWh_TestJob, 9, TestName = "P2 Hybrid Group 5 80kWh DriveCycle UrbanDelivery"), ]
+		public void P2HybridGroup5DriveCycle_80kWh(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
 
+
+		public const string Group5TestJob2 = @"TestData\Hybrids\Hyb_P2_Group5\Hyb_P2_Group5.vecto";
+
+		[
 		TestCase(Group5TestJob2, 0, TestName = "P2 Hybrid Group 5 B DriveCycle LongHaul"),
-		TestCase(Group5TestJob2, 1, TestName = "P2 Hybrid Group 5 B DriveCycle Coach"), // error
-		TestCase(Group5TestJob2, 2, TestName = "P2 Hybrid Group 5 B DriveCycle Construction"), // error
-		TestCase(Group5TestJob2, 3, TestName = "P2 Hybrid Group 5 B DriveCycle HeavyUrban"), //error 
-		TestCase(Group5TestJob2, 4, TestName = "P2 Hybrid Group 5 B DriveCycle Interurban"),  // error
+		TestCase(Group5TestJob2, 1, TestName = "P2 Hybrid Group 5 B DriveCycle Coach"), 
+		TestCase(Group5TestJob2, 2, TestName = "P2 Hybrid Group 5 B DriveCycle Construction"), 
+		TestCase(Group5TestJob2, 3, TestName = "P2 Hybrid Group 5 B DriveCycle HeavyUrban"),  
+		TestCase(Group5TestJob2, 4, TestName = "P2 Hybrid Group 5 B DriveCycle Interurban"),  
 		TestCase(Group5TestJob2, 5, TestName = "P2 Hybrid Group 5 B DriveCycle MunicipalUtility"),
 		TestCase(Group5TestJob2, 6, TestName = "P2 Hybrid Group 5 B DriveCycle RegionalDelivery"),
-		TestCase(Group5TestJob2, 7, TestName = "P2 Hybrid Group 5 B DriveCycle Suburban"), // error
-		TestCase(Group5TestJob2, 8, TestName = "P2 Hybrid Group 5 B DriveCycle Urban"),  // error
-		TestCase(Group5TestJob2, 9, TestName = "P2 Hybrid Group 5 B DriveCycle UrbanDelivery"),  // error
+		TestCase(Group5TestJob2, 7, TestName = "P2 Hybrid Group 5 B DriveCycle Suburban"), 
+		TestCase(Group5TestJob2, 8, TestName = "P2 Hybrid Group 5 B DriveCycle Urban"),  
+		TestCase(Group5TestJob2, 9, TestName = "P2 Hybrid Group 5 B DriveCycle UrbanDelivery"),  
+		]
+		public void P2HybridGroup5DriveCycle2(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
 
+
+		public const string Group5TestJob_noESS = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5.vecto";
+
+		[
 		//// P2 without ESS is not really relevant
 		TestCase(Group5TestJob_noESS, 0, TestName = "P2 Hybrid Group 5 NoESS DriveCycle LongHaul"),
-		TestCase(Group5TestJob_noESS, 1, TestName = "P2 Hybrid Group 5 NoESS DriveCycle Coach"),  // error
-		TestCase(Group5TestJob_noESS, 2, TestName = "P2 Hybrid Group 5 NoESS DriveCycle Construction"),  // 
+		TestCase(Group5TestJob_noESS, 1, TestName = "P2 Hybrid Group 5 NoESS DriveCycle Coach"),  
+		TestCase(Group5TestJob_noESS, 2, TestName = "P2 Hybrid Group 5 NoESS DriveCycle Construction"),   
 		TestCase(Group5TestJob_noESS, 3, TestName = "P2 Hybrid Group 5 NoESS DriveCycle HeavyUrban"),
-		TestCase(Group5TestJob_noESS, 4, TestName = "P2 Hybrid Group 5 NoESS DriveCycle Interurban"),  // error
+		TestCase(Group5TestJob_noESS, 4, TestName = "P2 Hybrid Group 5 NoESS DriveCycle Interurban"),  
 		TestCase(Group5TestJob_noESS, 5, TestName = "P2 Hybrid Group 5 NoESS DriveCycle MunicipalUtility"),
 		TestCase(Group5TestJob_noESS, 6, TestName = "P2 Hybrid Group 5 NoESS DriveCycle RegionalDelivery"),
-		TestCase(Group5TestJob_noESS, 7, TestName = "P2 Hybrid Group 5 NoESS DriveCycle Suburban"),  // 
+		TestCase(Group5TestJob_noESS, 7, TestName = "P2 Hybrid Group 5 NoESS DriveCycle Suburban"),   
 		TestCase(Group5TestJob_noESS, 8, TestName = "P2 Hybrid Group 5 NoESS DriveCycle Urban"), 
-		TestCase(Group5TestJob_noESS, 9, TestName = "P2 Hybrid Group 5 NoESS DriveCycle UrbanDelivery"), // 
+		TestCase(Group5TestJob_noESS, 9, TestName = "P2 Hybrid Group 5 NoESS DriveCycle UrbanDelivery"),  
+		]
+		public void P2HybridGroup5DriveCycle_noESS(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
 
+
+		public const string Group5TestJob325kW_noESS = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_325kW.vecto";
+
+		[
 		//// P2 without ESS is not really relevant
 		TestCase(Group5TestJob325kW_noESS, 0, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle LongHaul"),
-		TestCase(Group5TestJob325kW_noESS, 1, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle Coach"),  // error
-		 TestCase(Group5TestJob325kW_noESS, 2, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle Construction"),  // 
-		 TestCase(Group5TestJob325kW_noESS, 3, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle HeavyUrban"), // 
-		 TestCase(Group5TestJob325kW_noESS, 4, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle Interurban"),  // error
+		TestCase(Group5TestJob325kW_noESS, 1, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle Coach"), 
+		 TestCase(Group5TestJob325kW_noESS, 2, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle Construction"),  
+		 TestCase(Group5TestJob325kW_noESS, 3, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle HeavyUrban"), 
+		 TestCase(Group5TestJob325kW_noESS, 4, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle Interurban"),  
 		TestCase(Group5TestJob325kW_noESS, 5, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle MunicipalUtility"), 
 		TestCase(Group5TestJob325kW_noESS, 6, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle RegionalDelivery"),
-		TestCase(Group5TestJob325kW_noESS, 7, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle Suburban"),  // error
-		TestCase(Group5TestJob325kW_noESS, 8, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle Urban"), // error
-		TestCase(Group5TestJob325kW_noESS, 9, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle UrbanDelivery"), // error 
+		TestCase(Group5TestJob325kW_noESS, 7, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle Suburban"), 
+		TestCase(Group5TestJob325kW_noESS, 8, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle Urban"), 
+		TestCase(Group5TestJob325kW_noESS, 9, TestName = "P2 Hybrid Group 5 325kW NoESS DriveCycle UrbanDelivery"),
+		] 
+		public void P2HybridGroup5DriveCycle_325kW_noESS(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
+
 
+		//public const string CityBus6x2 = @"TestData\Hybrids\Input CityBus 6x2_HEV_P2\CityBus_6x2_HEV_P2.vecto";
+
+		//[
 		//TestCase(CityBus6x2, 0, TestName = "P2 Hybrid CityBus DriveCycle Coach"),  // error
-		//TestCase(CityBus6x2, 1, TestName = "P2 Hybrid CityBus DriveCycle HeavyUrban"),  // error
-		//TestCase(CityBus6x2, 2, TestName = "P2 Hybrid CityBus DriveCycle Interurban"),  // error
-		//TestCase(CityBus6x2, 3, TestName = "P2 Hybrid CityBus DriveCycle LongHaul"),  // error
-		//TestCase(CityBus6x2, 4, TestName = "P2 Hybrid CityBus DriveCycle RegionalDelivery"),  // error
-		//TestCase(CityBus6x2, 5, TestName = "P2 Hybrid CityBus DriveCycle Suburban"),  // error
-		//TestCase(CityBus6x2, 6, TestName = "P2 Hybrid CityBus DriveCycle Urban"),  // error
-		//TestCase(CityBus6x2, 7, TestName = "P2 Hybrid CityBus DriveCycle UrbanDelivery"),  // error
+  //      TestCase(CityBus6x2, 1, TestName = "P2 Hybrid CityBus DriveCycle HeavyUrban"),  // error
+  //      TestCase(CityBus6x2, 2, TestName = "P2 Hybrid CityBus DriveCycle Interurban"),  // error
+  //      TestCase(CityBus6x2, 3, TestName = "P2 Hybrid CityBus DriveCycle LongHaul"),  // error
+  //      TestCase(CityBus6x2, 4, TestName = "P2 Hybrid CityBus DriveCycle RegionalDelivery"),  // error
+  //      TestCase(CityBus6x2, 5, TestName = "P2 Hybrid CityBus DriveCycle Suburban"),  // error
+  //      TestCase(CityBus6x2, 6, TestName = "P2 Hybrid CityBus DriveCycle Urban"),  // error
+  //      TestCase(CityBus6x2, 7, TestName = "P2 Hybrid CityBus DriveCycle UrbanDelivery"),  // error
+  //      ]
+		//public void P2HybridGroup5DriveCycle_CityBus6x2(string jobFile, int cycleIdx)
+		//{ RunHybridJob(jobFile, cycleIdx); }
+
 
+		public const string Group2TestJobSuperCapOvl = @"TestData\Hybrids\Hyb_P2_Group2SuperCapOvl\Class2_RigidTruck_ParHyb_SuperCap_Ovl_ENG.vecto";
+
+		[
 		TestCase(Group2TestJobSuperCapOvl, 0, TestName = "P2 Hybrid Group 2 SuperCap Ovl, DriveCycle LongHaul"),
 		TestCase(Group2TestJobSuperCapOvl, 1, TestName = "P2 Hybrid Group 2 SuperCap Ovl, DriveCycle RegionalDelivery"), 
 		TestCase(Group2TestJobSuperCapOvl, 2, TestName = "P2 Hybrid Group 2 SuperCap Ovl, DriveCycle UrbanDelivery"), 
@@ -662,7 +703,14 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 		TestCase(Group2TestJobSuperCapOvl, 7, TestName = "P2 Hybrid Group 2 SuperCap Ovl, DriveCycle MunicipalUtility"), 
 		TestCase(Group2TestJobSuperCapOvl, 8, TestName = "P2 Hybrid Group 2 SuperCap Ovl, DriveCycle Suburban"),
 		TestCase(Group2TestJobSuperCapOvl, 9, TestName = "P2 Hybrid Group 2 SuperCap Ovl, DriveCycle Urban"),
+		]
+		public void P2HybridGroup5DriveCycle_SuperCapOvl(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
+
 
+		public const string Group5_EMTorqueLimit_TestJob = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_LimitEMTorqueDrive.vecto";
+
+		[
 		TestCase(Group5_EMTorqueLimit_TestJob, 0, TestName = "P2 Hybrid Group 5 EM TorqueLimit DriveCycle LongHaul"),
 		TestCase(Group5_EMTorqueLimit_TestJob, 1, TestName = "P2 Hybrid Group 5 EM TorqueLimit DriveCycle Coach "),
 		TestCase(Group5_EMTorqueLimit_TestJob, 2, TestName = "P2 Hybrid Group 5 EM TorqueLimit DriveCycle Construction"),
@@ -673,7 +721,14 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 		TestCase(Group5_EMTorqueLimit_TestJob, 7, TestName = "P2 Hybrid Group 5 EM TorqueLimit DriveCycle Suburban"),
 		TestCase(Group5_EMTorqueLimit_TestJob, 8, TestName = "P2 Hybrid Group 5 EM TorqueLimit DriveCycle Urban"),
 		TestCase(Group5_EMTorqueLimit_TestJob, 9, TestName = "P2 Hybrid Group 5 EM TorqueLimit DriveCycle UrbanDelivery"),
+		]
+		public void P2HybridGroup5DriveCycle_EmTorqueLmit(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
+
 
+		public const string Group5_LimitPropTq_TestJob = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_LimitVehiclePropTq.vecto";
+
+		[
 		TestCase(Group5_LimitPropTq_TestJob, 0, TestName = "P2 Hybrid Group 5 Vehicle Prop TorqueLimit DriveCycle LongHaul"),
 		TestCase(Group5_LimitPropTq_TestJob, 1, TestName = "P2 Hybrid Group 5 Vehicle Prop TorqueLimit DriveCycle Coach "),
 		TestCase(Group5_LimitPropTq_TestJob, 2, TestName = "P2 Hybrid Group 5 Vehicle Prop TorqueLimit DriveCycle Construction"),
@@ -684,7 +739,13 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 		TestCase(Group5_LimitPropTq_TestJob, 7, TestName = "P2 Hybrid Group 5 Vehicle Prop TorqueLimit DriveCycle Suburban"),
 		TestCase(Group5_LimitPropTq_TestJob, 8, TestName = "P2 Hybrid Group 5 Vehicle Prop TorqueLimit DriveCycle Urban"),
 		TestCase(Group5_LimitPropTq_TestJob, 9, TestName = "P2 Hybrid Group 5 Vehicle Prop TorqueLimit DriveCycle UrbanDelivery"),
+			]
+		public void P2HybridGroup5DriveCycle_LimitPropTq(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
+
+		public const string Group5TestJob_EMLossMap_1 = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_EMLossMap_1.vecto"; // non-linear EM Loss-Map
 
+		[
 		TestCase(Group5TestJob_EMLossMap_1, 0, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle LongHaul"),
 		TestCase(Group5TestJob_EMLossMap_1, 1, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle Coach"),  
 		TestCase(Group5TestJob_EMLossMap_1, 2, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle Construction"),  
@@ -695,8 +756,14 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 		TestCase(Group5TestJob_EMLossMap_1, 7, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle Suburban"),  
 		TestCase(Group5TestJob_EMLossMap_1, 8, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle Urban"),
 		TestCase(Group5TestJob_EMLossMap_1, 9, TestName = "P2 Hybrid Group 5 EM-LossMap 1 DriveCycle UrbanDelivery"), 
+			]
+		public void P2HybridGroup5DriveCycle_EMLossMap_1(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx); }
 
-		TestCase(Group5TestJob_EMLossMap_2, 0, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle LongHaul"),
+
+		public const string Group5TestJob_EMLossMap_2 = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_EMLossMap_2.vecto"; // linear EM Loss-Map
+
+		[TestCase(Group5TestJob_EMLossMap_2, 0, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle LongHaul"),
 		TestCase(Group5TestJob_EMLossMap_2, 1, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle Coach"), 
 		TestCase(Group5TestJob_EMLossMap_2, 2, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle Construction"),  
 		TestCase(Group5TestJob_EMLossMap_2, 3, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle HeavyUrban"),
@@ -707,7 +774,10 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 		TestCase(Group5TestJob_EMLossMap_2, 8, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle Urban"),
 		TestCase(Group5TestJob_EMLossMap_2, 9, TestName = "P2 Hybrid Group 5 EM-LossMap 2 DriveCycle UrbanDelivery"), 
 			]
-		public void P2HybridGroup5DriveCycle(string jobFile, int cycleIdx)
+		public void P2HybridGroup5DriveCycle_EMLossMap_2(string jobFile, int cycleIdx)
+		{ RunHybridJob(jobFile, cycleIdx);}
+
+		public void RunHybridJob(string jobFile, int cycleIdx)
 		{
 			var inputProvider = JSONInputDataFactory.ReadJsonJob(jobFile);
 			
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/CityBus_6x2_HEV_P2.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/CityBus_6x2_HEV_P2.vecto
index 9674eb6b1236fe17f61bcffad2b6d7a4601a4248..76541515b31af5b12d51ee02053bcf7fb07c9da1 100644
--- a/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/CityBus_6x2_HEV_P2.vecto	
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/CityBus_6x2_HEV_P2.vecto	
@@ -19,7 +19,7 @@
     "AdvancedAuxiliaryFilePath": "",
     "Aux": [],
     "Padd": 10000.0,
-    "Padd_electric": 2800.0,
+    "Padd_electric": 0.0,
     "VACC": "Acc_Citybus.vacc",
     "EngineStopStartAtVehicleStopThreshold": 0.0,
     "EngineStopStartMaxOffTimespan": 1000.0,
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/Electric components/GenericBattery_10kWh_600V.vbat b/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/Electric components/GenericBattery_10kWh_600V.vbat
index dca09cb35fe2f18131c3f95fab69e1d48b2cdcf0..f9a1e2b6d513ad7b01414c54d5f83bd7196a762b 100644
--- a/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/Electric components/GenericBattery_10kWh_600V.vbat	
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/Electric components/GenericBattery_10kWh_600V.vbat	
@@ -11,8 +11,8 @@
     "Capacity": 15.9984,
     "SOC_min": 30.0,
     "SOC_max": 70.0,
-    "MaxCurrentFactor": 25.0,
     "InternalResistanceCurve": "GenericBattery_10kWh_600V.vbatr",
+    "MaxCurrentMap": "MaxCurrent_280.vimax",
     "SoCCurve": "GenericBattery_10kWh_600V.vbatv"
   }
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/Electric components/MaxCurrent_280.vimax b/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/Electric components/MaxCurrent_280.vimax
new file mode 100644
index 0000000000000000000000000000000000000000..8aeff5bf129db3370eab9930fba2e78d5ec5b12f
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/Input CityBus 6x2_HEV_P2/Electric components/MaxCurrent_280.vimax	
@@ -0,0 +1,4 @@
+SOC, I_charge, I_discharge
+0, 280, 280
+50, 280, 280
+100, 280, 280
\ No newline at end of file