diff --git a/VectoCore/VectoCoreTest/Integration/DriverStrategy/CoastingTests.cs b/VectoCore/VectoCoreTest/Integration/DriverStrategy/CoastingTests.cs
index 00465fe616ac5641a4c9e5a4f1792a5d5f6de3e3..a6467d41629ad4082f966cd0b10a72f224a584f1 100644
--- a/VectoCore/VectoCoreTest/Integration/DriverStrategy/CoastingTests.cs
+++ b/VectoCore/VectoCoreTest/Integration/DriverStrategy/CoastingTests.cs
@@ -31,7 +31,6 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 			GraphWriter.Series1Label = "Vecto 3";
 		}
 
-
 		[Test,
 		TestCase(60, 20, 0),
 		TestCase(60, 20, 0.6),
@@ -51,7 +50,7 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 				// <s>,<v>,<grad>,<stop>
 				string.Format("  0,  {0}, {2},  0", v1, v2, slope),
 				string.Format("1000, {1}, {2},  0", v1, v2, slope),
-				string.Format("1100, {1},   0,  0", v1, v2, slope)
+				string.Format("1100, {1}, {2},  0", v1, v2, slope)
 			};
 			System.IO.Directory.CreateDirectory(string.Format(@"Coast_{0}_{1}", v1, v2, slope));
 			var slopePrefix = "";
diff --git a/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs b/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
index 7febf10c61dad617b2d0131b15b1e51d9d3626e5..2285f73e081b2229baf3b824fd4e233cf2bf5d27 100644
--- a/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
+++ b/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
@@ -29,16 +29,19 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System;
+using System.Globalization;
+using NUnit.Framework;
+using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Tests.Utils;
 
 namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 {
-	[TestClass]
+	[TestFixture]
 	public class DriverStrategyTestCoach
 	{
-		[TestInitialize]
+		[TestFixtureSetUp]
 		public void Init()
 		{
 			//LogManager.DisableLogging();
@@ -57,16 +60,16 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 			GraphWriter.Series2Label = "Vecto 2.2";
 		}
 
-		[TestMethod, TestCategory("ComparisonV2")]
+		[TestCase, Category("ComparisonV2")]
 		public void TestGraph()
 		{
-			var imgV3 = @"TestData\Results\Integration\Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod";
+			var imgV3 = @"TestData\Results\Integration\24t Coach_Cycle_Drive_50_Dec_Increasing_Slope.vmod";
 			var imgv22 = @"TestData\Results\Integration\24t Coach_Cycle_Drive_50_Dec_Increasing_Slope.vmod";
 
 			GraphWriter.Write(imgV3, imgv22);
 		}
 
-		[TestMethod, TestCategory("ComparisonV2")]
+		[TestCase, Category("ComparisonV2")]
 		public void TestSingleGraph()
 		{
 			var imgV3 = @"..\..\..\VectoCoreTest\bin\Debug\Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod";
@@ -74,1047 +77,383 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 			GraphWriter.Write(imgV3);
 		}
 
-		#region Accelerate
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_20_60_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_Level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_20_60_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphilll_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_20_60_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_20_60_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_20_60_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_uphill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_20_60_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_20_60_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_downhill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_20_60_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_uphill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_uphill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_20_60_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_20_60_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_uphill_1()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_1);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_1.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_1.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_1.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_uphill_2()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_2);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_2.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_2.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_2.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_85_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_uphill_10()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_10);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_10.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_10.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_10.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_85_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_stop_0_85_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_stop_0_85_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_stop_0_85_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_stop_0_85_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_stop_0_85_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_20_22_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_22_uphill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_22_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_22_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_22_uphill_5.vmod");
-		}
-
-		#endregion
-
-		#region Decelerate
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_22_20_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_22_20_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Decelerate_22_20_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_22_20_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_22_20_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_60_20_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_45_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_45_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_45_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_45_0_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_uphill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_45_0_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_45_0_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_45_0_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_45_0_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_45_0_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_60_20_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_60_20_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Decelerate_60_20_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_60_20_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-//			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_uphill_25.vmod",
-//				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_60_20_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Decelerate_60_20_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_downhill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_60_20_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			//GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_uphill_15.vmod",
-			//	@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_uphill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_60_20_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Decelerate_60_20_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_80_0_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_80_0_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_80_0_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_steep_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_80_0_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Decelerate_80_0_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_downhill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_80_0_uphill_3()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_3);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_uphill_3.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_uphill_3.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_uphill_3.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_80_0_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-//			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod",
-//				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_steep_uphill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Decelerate_80_0_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Decelerate_80_0_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_downhill_15.vmod");
-		}
-
-		#endregion
-		
-		#region Drive
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_80_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_80_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_80_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_80_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_80_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_80_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_20_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_20_downhill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_20_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_20_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_20_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_30_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_downhill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_30_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_50_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_downhill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_50_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_80_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-//			GraphWriter.Write("Coach_DriverStrategy_Drive_80_uphill_25.vmod",
-//				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_80_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_80_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_80_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_80_uphill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_uphill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_10_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_10_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_10_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(new[] {
-				// <s>,<v>,<grad>,<stop>
-				"   0,  10, 5,    0",
-				"800,  10, 5,    0",
-			});
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_10_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_10_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_10_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_10_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_10_downhill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_10_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_25);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_10_uphill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_10_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_10_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_10_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_15);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_10_uphill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_uphill_15.vmod");
-		}
-
-		#endregion
-
-		#region Slope
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_80_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_80_slope_inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_50_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_30_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_30_slope_inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_80_Decreasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_dec.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_80_slope_dec.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_Decreasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_50_Decreasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_dec.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_dec.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Decreasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_30_Decreasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_dec.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_30_slope_dec.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_Decreasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_80_Dec_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_dec-inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_80_slope_dec-inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_Dec_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_50_Dec_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Dec_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_30_Dec_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_dec-inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_30_slope_dec-inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_Dec_Increasing_Slope.vmod");
-		}
-
-		#endregion
-
-		#region Misc
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_DecelerateWhileBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_DecelerateWhileBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_AccelerateWhileBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_AccelerateWhileBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_AccelerateAtBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_AccelerateAtBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_AccelerateAtBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_AccelerateAtBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_AccelerateBeforeBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_AccelerateBeforeBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Drive_stop_85_stop_85_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Drive_stop_85_stop_85_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Drive_stop_85_stop_85_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_stop_85_stop_85_level.vmod");
-		}
-
-		#endregion
-
-		#region AccelerateOverspeed
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_downhill_5_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_85_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_downhill_3_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_3);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_85_downhill_3.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_85_downhill_1_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_1);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_85_downhill_1.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_60_downhill_5_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_60_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_60_downhill_3_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_3);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_60_downhill_3.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_60_downhill_1_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_1);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_60_downhill_1.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_40_downhill_5_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_5);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_40_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_40_downhill_3_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_3);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_40_downhill_3.vmod");
+		[Category("ComparisonV2"),
+		TestCase(0, 40, 25), TestCase(0, 40, 20), TestCase(0, 40, 15),
+		TestCase(0, 40, 10), TestCase(0, 40, 5), TestCase(0, 40, 1),
+		TestCase(0, 40, 0),
+		TestCase(0, 40, -1), TestCase(0, 40, -5), TestCase(0, 40, -10),
+		TestCase(0, 40, -15), TestCase(0, 40, -20), TestCase(0, 40, -25),
+		TestCase(0, 60, 25), TestCase(0, 60, 20), TestCase(0, 60, 15),
+		TestCase(0, 60, 10), TestCase(0, 60, 5), TestCase(0, 60, 1),
+		TestCase(0, 60, 0),
+		TestCase(0, 60, -1), TestCase(0, 60, -5), TestCase(0, 60, -10),
+		TestCase(0, 60, -15), TestCase(0, 60, -20), TestCase(0, 60, -25),
+		TestCase(0, 85, 25), TestCase(0, 85, 20), TestCase(0, 85, 15),
+		TestCase(0, 85, 10), TestCase(0, 85, 5), TestCase(0, 85, 1),
+		TestCase(0, 85, 0),
+		TestCase(0, 85, -1), TestCase(0, 85, -5), TestCase(0, 85, -10),
+		TestCase(0, 85, -15), TestCase(0, 85, -20), TestCase(0, 85, -25),
+		TestCase(20, 40, 25), TestCase(20, 40, 20), TestCase(20, 40, 15),
+		TestCase(20, 40, 10), TestCase(20, 40, 5), TestCase(20, 40, 1),
+		TestCase(20, 40, 0),
+		TestCase(20, 40, -1), TestCase(20, 40, -5), TestCase(20, 40, -10),
+		TestCase(20, 40, -15), TestCase(20, 40, -20), TestCase(20, 40, -25),
+		TestCase(20, 60, 25), TestCase(20, 60, 20), TestCase(20, 60, 15),
+		TestCase(20, 60, 10), TestCase(20, 60, 5), TestCase(20, 60, 1),
+		TestCase(20, 60, 0),
+		TestCase(20, 60, -1), TestCase(20, 60, -5), TestCase(20, 60, -10),
+		TestCase(20, 60, -15), TestCase(20, 60, -20), TestCase(20, 60, -25),
+		TestCase(20, 85, 25), TestCase(20, 85, 20), TestCase(20, 85, 15),
+		TestCase(20, 85, 10), TestCase(20, 85, 5), TestCase(20, 85, 1),
+		TestCase(20, 85, 0),
+		TestCase(20, 85, -1), TestCase(20, 85, -5), TestCase(20, 85, -10),
+		TestCase(20, 85, -15), TestCase(20, 85, -20), TestCase(20, 85, -25),
+		TestCase(20, 22, 5),
+		]
+		public void Coach_Accelerate(double v1, double v2, double slope)
+		{
+			var cycle = string.Format(CultureInfo.InvariantCulture, "0, {0}, {1}, {2}\n1000, {3}, {4}, {5}", v1, slope,
+				v1.IsEqual(0) ? 2 : 0, v2, slope, v2.IsEqual(0) ? 2 : 0);
+
+			var slopeStr = slope > 0 ? "uhpill" : slope < 0 ? "downhill" : "level";
+			var modFileName = string.Format(CultureInfo.InvariantCulture, @"Coach_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Coach_Special(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Coach_Cycle_Accelerate_{0}_{1}_{2}.vmod", v1, v2, slopeStr));
+		}
+
+		[Category("ComparisonV2"),
+		TestCase(40, 0, 25), TestCase(40, 0, 20), TestCase(40, 0, 15),
+		TestCase(40, 0, 10), TestCase(40, 0, 5), TestCase(40, 0, 1),
+		TestCase(40, 0, 0),
+		TestCase(40, 0, -1), TestCase(40, 0, -5), TestCase(40, 0, -10),
+		TestCase(40, 0, -15), TestCase(40, 0, -20), TestCase(40, 0, -25),
+		TestCase(60, 0, 25), TestCase(60, 0, 20), TestCase(60, 0, 15),
+		TestCase(60, 0, 10), TestCase(60, 0, 5), TestCase(60, 0, 1),
+		TestCase(60, 0, 0),
+		TestCase(60, 0, -1), TestCase(60, 0, -5), TestCase(60, 0, -10),
+		TestCase(60, 0, -15), TestCase(60, 0, -20), TestCase(60, 0, -25),
+		TestCase(85, 0, 25), TestCase(85, 0, 20), TestCase(85, 0, 15),
+		TestCase(85, 0, 10), TestCase(85, 0, 5), TestCase(85, 0, 1),
+		TestCase(85, 0, 0),
+		TestCase(85, 0, -1), TestCase(85, 0, -5), TestCase(85, 0, -10),
+		TestCase(85, 0, -15), TestCase(85, 0, -20), TestCase(85, 0, -25),
+		TestCase(40, 20, 25), TestCase(40, 20, 20), TestCase(40, 20, 15),
+		TestCase(40, 20, 10), TestCase(40, 20, 5), TestCase(40, 20, 1),
+		TestCase(40, 20, 0),
+		TestCase(40, 20, -1), TestCase(40, 20, -5), TestCase(40, 20, -10),
+		TestCase(40, 20, -15), TestCase(40, 20, -20), TestCase(40, 20, -25),
+		TestCase(60, 20, 25), TestCase(60, 20, 20), TestCase(60, 20, 15),
+		TestCase(60, 20, 10), TestCase(60, 20, 5), TestCase(60, 20, 1),
+		TestCase(60, 20, 0),
+		TestCase(60, 20, -1), TestCase(60, 20, -5), TestCase(60, 20, -10),
+		TestCase(60, 20, -15), TestCase(60, 20, -20), TestCase(60, 20, -25),
+		TestCase(85, 20, 25), TestCase(85, 20, 20), TestCase(85, 20, 15),
+		TestCase(85, 20, 10), TestCase(85, 20, 5), TestCase(85, 20, 1),
+		TestCase(85, 20, 0),
+		TestCase(85, 20, -1), TestCase(85, 20, -5), TestCase(85, 20, -10),
+		TestCase(85, 20, -15), TestCase(85, 20, -20), TestCase(85, 20, -25),
+		TestCase(22, 20, -5),
+		]
+		public void Coach_Decelerate(double v1, double v2, double slope)
+		{
+			var cycle = string.Format(CultureInfo.InvariantCulture, "0, {0}, {1}, {2}\n1000, {3}, {4}, {5}", v1, slope,
+				v1.IsEqual(0) ? 2 : 0, v2, slope, v2.IsEqual(0) ? 2 : 0);
+
+			var slopeStr = slope > 0 ? "uhpill" : slope < 0 ? "downhill" : "level";
+			var modFileName = string.Format(CultureInfo.InvariantCulture, @"Coach_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Coach_Special(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Coach_Cycle_Decelerate_{0}_{1}_{2}.vmod", v1, v2, slopeStr));
+		}
+
+		[Category("ComparisonV2"),
+		TestCase(10, 10, 25), TestCase(10, 10, 20), TestCase(10, 10, 15),
+		TestCase(10, 10, 10), TestCase(10, 10, 5), TestCase(10, 10, 1),
+		TestCase(10, 10, 0),
+		TestCase(10, 10, -1), TestCase(10, 10, -5), TestCase(10, 10, -10),
+		TestCase(10, 10, -15), TestCase(10, 10, -20), TestCase(10, 10, -25),
+		TestCase(20, 20, 25), TestCase(20, 20, 20), TestCase(20, 20, 15),
+		TestCase(20, 20, 10), TestCase(20, 20, 5), TestCase(20, 20, 1),
+		TestCase(20, 20, 0),
+		TestCase(20, 20, -1), TestCase(20, 20, -5), TestCase(20, 20, -10),
+		TestCase(20, 20, -15), TestCase(20, 20, -20), TestCase(20, 20, -25),
+		TestCase(30, 30, 25), TestCase(30, 30, 20), TestCase(30, 30, 15),
+		TestCase(30, 30, 10), TestCase(30, 30, 5), TestCase(30, 30, 1),
+		TestCase(30, 30, 0),
+		TestCase(30, 30, -1), TestCase(30, 30, -5), TestCase(30, 30, -10),
+		TestCase(30, 30, -15), TestCase(30, 30, -20), TestCase(30, 30, -25),
+		TestCase(40, 40, 25), TestCase(40, 40, 20), TestCase(40, 40, 15),
+		TestCase(40, 40, 10), TestCase(40, 40, 5), TestCase(40, 40, 1),
+		TestCase(40, 40, 0),
+		TestCase(40, 40, -1), TestCase(40, 40, -5), TestCase(40, 40, -10),
+		TestCase(40, 40, -15), TestCase(40, 40, -20), TestCase(40, 40, -25),
+		TestCase(50, 50, 25), TestCase(50, 50, 20), TestCase(50, 50, 15),
+		TestCase(50, 50, 10), TestCase(50, 50, 5), TestCase(50, 50, 1),
+		TestCase(50, 50, 0),
+		TestCase(50, 50, -1), TestCase(50, 50, -5), TestCase(50, 50, -10),
+		TestCase(50, 50, -15), TestCase(50, 50, -20), TestCase(50, 50, -25),
+		TestCase(60, 60, 25), TestCase(60, 60, 20), TestCase(60, 60, 15),
+		TestCase(60, 60, 10), TestCase(60, 60, 5), TestCase(60, 60, 1),
+		TestCase(60, 60, 0),
+		TestCase(60, 60, -1), TestCase(60, 60, -5), TestCase(60, 60, -10),
+		TestCase(60, 60, -15), TestCase(60, 60, -20), TestCase(60, 60, -25),
+		TestCase(80, 80, 25), TestCase(80, 80, 20), TestCase(80, 80, 15),
+		TestCase(80, 80, 10), TestCase(80, 80, 5), TestCase(80, 80, 1),
+		TestCase(80, 80, 0),
+		TestCase(80, 80, -1), TestCase(80, 80, -5), TestCase(80, 80, -10),
+		TestCase(80, 80, -15), TestCase(80, 80, -20), TestCase(80, 80, -25),
+		TestCase(85, 85, 25), TestCase(85, 85, 20), TestCase(85, 85, 15),
+		TestCase(85, 85, 10), TestCase(85, 85, 5), TestCase(85, 85, 1),
+		TestCase(85, 85, 0),
+		TestCase(85, 85, -1), TestCase(85, 85, -5), TestCase(85, 85, -10),
+		TestCase(85, 85, -15), TestCase(85, 85, -20), TestCase(85, 85, -25),
+		]
+		public void Coach_Drive(double v1, double v2, double slope)
+		{
+			var cycle = string.Format(CultureInfo.InvariantCulture, "0, {0}, {1}, {2}\n1000, {3}, {4}, {5}", v1, slope,
+				v1.IsEqual(0) ? 2 : 0, v2, slope, v2.IsEqual(0) ? 2 : 0);
+
+			var slopeStr = slope > 0 ? "uhpill" : slope < 0 ? "downhill" : "level";
+			var modFileName = string.Format(CultureInfo.InvariantCulture, @"Coach_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Coach_Special(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Coach_Cycle_Drive_{0}_{1}_{2}.vmod", v1, v2, slopeStr));
+		}
+
+		[Category("ComparisonV2"),
+		TestCase(0, 40, 25), TestCase(0, 40, 20), TestCase(0, 40, 15),
+		TestCase(0, 40, 10), TestCase(0, 40, 5), TestCase(0, 40, 1),
+		TestCase(0, 40, 0),
+		TestCase(0, 40, -1), TestCase(0, 40, -5), TestCase(0, 40, -10),
+		TestCase(0, 40, -15), TestCase(0, 40, -20), TestCase(0, 40, -25),
+		TestCase(0, 60, 25), TestCase(0, 60, 20), TestCase(0, 60, 15),
+		TestCase(0, 60, 10), TestCase(0, 60, 5), TestCase(0, 60, 1),
+		TestCase(0, 60, 0),
+		TestCase(0, 60, -1), TestCase(0, 60, -5), TestCase(0, 60, -10),
+		TestCase(0, 60, -15), TestCase(0, 60, -20), TestCase(0, 60, -25),
+		TestCase(0, 85, 25), TestCase(0, 85, 20), TestCase(0, 85, 15),
+		TestCase(0, 85, 10), TestCase(0, 85, 5), TestCase(0, 85, 1),
+		TestCase(0, 85, 0),
+		TestCase(0, 85, -1), TestCase(0, 85, -5), TestCase(0, 85, -10),
+		TestCase(0, 85, -15), TestCase(0, 85, -20), TestCase(0, 85, -25),
+		TestCase(20, 40, 25), TestCase(20, 40, 20), TestCase(20, 40, 15),
+		TestCase(20, 40, 10), TestCase(20, 40, 5), TestCase(20, 40, 1),
+		TestCase(20, 40, 0),
+		TestCase(20, 40, -1), TestCase(20, 40, -5), TestCase(20, 40, -10),
+		TestCase(20, 40, -15), TestCase(20, 40, -20), TestCase(20, 40, -25),
+		TestCase(20, 60, 25), TestCase(20, 60, 20), TestCase(20, 60, 15),
+		TestCase(20, 60, 10), TestCase(20, 60, 5), TestCase(20, 60, 1),
+		TestCase(20, 60, 0),
+		TestCase(20, 60, -1), TestCase(20, 60, -5), TestCase(20, 60, -10),
+		TestCase(20, 60, -15), TestCase(20, 60, -20), TestCase(20, 60, -25),
+		TestCase(20, 85, 25), TestCase(20, 85, 20), TestCase(20, 85, 15),
+		TestCase(20, 85, 10), TestCase(20, 85, 5), TestCase(20, 85, 1),
+		TestCase(20, 85, 0),
+		TestCase(20, 85, -1), TestCase(20, 85, -5), TestCase(20, 85, -10),
+		TestCase(20, 85, -15), TestCase(20, 85, -20), TestCase(20, 85, -25),
+		TestCase(20, 22, 5),
+		]
+		public void Coach_Accelerate_Overspeed(double v1, double v2, double slope)
+		{
+			var cycle = string.Format(CultureInfo.InvariantCulture, "0, {0}, {1}, {2}\n1000, {3}, {4}, {5}", v1, slope,
+				v1.IsEqual(0) ? 2 : 0, v2, slope, v2.IsEqual(0) ? 2 : 0);
+
+			var slopeStr = slope > 0 ? "uhpill" : slope < 0 ? "downhill" : "level";
+			var modFileName = string.Format(CultureInfo.InvariantCulture, @"Coach_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Coach_Special_Overspeed(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Coach_Cycle_Accelerate_{0}_{1}_{2}.vmod", v1, v2, slopeStr));
+		}
+
+		[Category("ComparisonV2"),
+		TestCase(40, 0, 25), TestCase(40, 0, 20), TestCase(40, 0, 15),
+		TestCase(40, 0, 10), TestCase(40, 0, 5), TestCase(40, 0, 1),
+		TestCase(40, 0, 0),
+		TestCase(40, 0, -1), TestCase(40, 0, -5), TestCase(40, 0, -10),
+		TestCase(40, 0, -15), TestCase(40, 0, -20), TestCase(40, 0, -25),
+		TestCase(60, 0, 25), TestCase(60, 0, 20), TestCase(60, 0, 15),
+		TestCase(60, 0, 10), TestCase(60, 0, 5), TestCase(60, 0, 1),
+		TestCase(60, 0, 0),
+		TestCase(60, 0, -1), TestCase(60, 0, -5), TestCase(60, 0, -10),
+		TestCase(60, 0, -15), TestCase(60, 0, -20), TestCase(60, 0, -25),
+		TestCase(85, 0, 25), TestCase(85, 0, 20), TestCase(85, 0, 15),
+		TestCase(85, 0, 10), TestCase(85, 0, 5), TestCase(85, 0, 1),
+		TestCase(85, 0, 0),
+		TestCase(85, 0, -1), TestCase(85, 0, -5), TestCase(85, 0, -10),
+		TestCase(85, 0, -15), TestCase(85, 0, -20), TestCase(85, 0, -25),
+		TestCase(40, 20, 25), TestCase(40, 20, 20), TestCase(40, 20, 15),
+		TestCase(40, 20, 10), TestCase(40, 20, 5), TestCase(40, 20, 1),
+		TestCase(40, 20, 0),
+		TestCase(40, 20, -1), TestCase(40, 20, -5), TestCase(40, 20, -10),
+		TestCase(40, 20, -15), TestCase(40, 20, -20), TestCase(40, 20, -25),
+		TestCase(60, 20, 25), TestCase(60, 20, 20), TestCase(60, 20, 15),
+		TestCase(60, 20, 10), TestCase(60, 20, 5), TestCase(60, 20, 1),
+		TestCase(60, 20, 0),
+		TestCase(60, 20, -1), TestCase(60, 20, -5), TestCase(60, 20, -10),
+		TestCase(60, 20, -15), TestCase(60, 20, -20), TestCase(60, 20, -25),
+		TestCase(85, 20, 25), TestCase(85, 20, 20), TestCase(85, 20, 15),
+		TestCase(85, 20, 10), TestCase(85, 20, 5), TestCase(85, 20, 1),
+		TestCase(85, 20, 0),
+		TestCase(85, 20, -1), TestCase(85, 20, -5), TestCase(85, 20, -10),
+		TestCase(85, 20, -15), TestCase(85, 20, -20), TestCase(85, 20, -25),
+		TestCase(22, 20, -5),
+		]
+		public void Coach_Decelerate_Overspeed(double v1, double v2, double slope)
+		{
+			var cycle = string.Format(CultureInfo.InvariantCulture, "0, {0}, {1}, {2}\n1000, {3}, {4}, {5}", v1, slope,
+				v1.IsEqual(0) ? 2 : 0, v2, slope, v2.IsEqual(0) ? 2 : 0);
+
+			var slopeStr = slope > 0 ? "uhpill" : slope < 0 ? "downhill" : "level";
+			var modFileName = string.Format(CultureInfo.InvariantCulture, @"Coach_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Coach_Special_Overspeed(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Coach_Cycle_Decelerate_{0}_{1}_{2}.vmod", v1, v2, slopeStr));
+		}
+
+		[Category("ComparisonV2"),
+		TestCase(10, 10, 25), TestCase(10, 10, 20), TestCase(10, 10, 15),
+		TestCase(10, 10, 10), TestCase(10, 10, 5), TestCase(10, 10, 1),
+		TestCase(10, 10, 0),
+		TestCase(10, 10, -1), TestCase(10, 10, -5), TestCase(10, 10, -10),
+		TestCase(10, 10, -15), TestCase(10, 10, -20), TestCase(10, 10, -25),
+		TestCase(20, 20, 25), TestCase(20, 20, 20), TestCase(20, 20, 15),
+		TestCase(20, 20, 10), TestCase(20, 20, 5), TestCase(20, 20, 1),
+		TestCase(20, 20, 0),
+		TestCase(20, 20, -1), TestCase(20, 20, -5), TestCase(20, 20, -10),
+		TestCase(20, 20, -15), TestCase(20, 20, -20), TestCase(20, 20, -25),
+		TestCase(30, 30, 25), TestCase(30, 30, 20), TestCase(30, 30, 15),
+		TestCase(30, 30, 10), TestCase(30, 30, 5), TestCase(30, 30, 1),
+		TestCase(30, 30, 0),
+		TestCase(30, 30, -1), TestCase(30, 30, -5), TestCase(30, 30, -10),
+		TestCase(30, 30, -15), TestCase(30, 30, -20), TestCase(30, 30, -25),
+		TestCase(40, 40, 25), TestCase(40, 40, 20), TestCase(40, 40, 15),
+		TestCase(40, 40, 10), TestCase(40, 40, 5), TestCase(40, 40, 1),
+		TestCase(40, 40, 0),
+		TestCase(40, 40, -1), TestCase(40, 40, -5), TestCase(40, 40, -10),
+		TestCase(40, 40, -15), TestCase(40, 40, -20), TestCase(40, 40, -25),
+		TestCase(50, 50, 25), TestCase(50, 50, 20), TestCase(50, 50, 15),
+		TestCase(50, 50, 10), TestCase(50, 50, 5), TestCase(50, 50, 1),
+		TestCase(50, 50, 0),
+		TestCase(50, 50, -1), TestCase(50, 50, -5), TestCase(50, 50, -10),
+		TestCase(50, 50, -15), TestCase(50, 50, -20), TestCase(50, 50, -25),
+		TestCase(60, 60, 25), TestCase(60, 60, 20), TestCase(60, 60, 15),
+		TestCase(60, 60, 10), TestCase(60, 60, 5), TestCase(60, 60, 1),
+		TestCase(60, 60, 0),
+		TestCase(60, 60, -1), TestCase(60, 60, -5), TestCase(60, 60, -10),
+		TestCase(60, 60, -15), TestCase(60, 60, -20), TestCase(60, 60, -25),
+		TestCase(80, 80, 25), TestCase(80, 80, 20), TestCase(80, 80, 15),
+		TestCase(80, 80, 10), TestCase(80, 80, 5), TestCase(80, 80, 1),
+		TestCase(80, 80, 0),
+		TestCase(80, 80, -1), TestCase(80, 80, -5), TestCase(80, 80, -10),
+		TestCase(80, 80, -15), TestCase(80, 80, -20), TestCase(80, 80, -25),
+		TestCase(85, 85, 25), TestCase(85, 85, 20), TestCase(85, 85, 15),
+		TestCase(85, 85, 10), TestCase(85, 85, 5), TestCase(85, 85, 1),
+		TestCase(85, 85, 0),
+		TestCase(85, 85, -1), TestCase(85, 85, -5), TestCase(85, 85, -10),
+		TestCase(85, 85, -15), TestCase(85, 85, -20), TestCase(85, 85, -25),
+		]
+		public void Coach_Drive_Overspeed(double v1, double v2, double slope)
+		{
+			var cycle = string.Format(CultureInfo.InvariantCulture, "0, {0}, {1}, {2}\n1000, {3}, {4}, {5}", v1, slope,
+				v1.IsEqual(0) ? 2 : 0, v2, slope, v2.IsEqual(0) ? 2 : 0);
+
+			var slopeStr = slope > 0 ? "uhpill" : slope < 0 ? "downhill" : "level";
+			var modFileName = string.Format(CultureInfo.InvariantCulture, @"Coach_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Coach_Special_Overspeed(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Coach_Cycle_Drive_{0}_{1}_{2}.vmod", v1, v2, slopeStr));
+		}
+
+		[Category("ComparisonV2"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_80_slope_inc.vmod", "24t Coach_Cycle_Drive_80_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_50_slope_inc.vmod", "24t Coach_Cycle_Drive_50_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_30_slope_inc.vmod", "24t Coach_Cycle_Drive_30_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope,
+			"Coach_DriverStrategy_Drive_80_slope_dec.vmod", "24t Coach_Cycle_Drive_80_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope,
+			"Coach_DriverStrategy_Drive_50_slope_dec.vmod", "24t Coach_Cycle_Drive_50_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope,
+			"Coach_DriverStrategy_Drive_30_slope_dec.vmod", "24t Coach_Cycle_Drive_30_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_80_slope_dec-inc.vmod", "24t Coach_Cycle_Drive_80_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod", "24t Coach_Cycle_Drive_50_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_30_slope_dec-inc.vmod", "24t Coach_Cycle_Drive_30_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level,
+			"Coach_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod", "24t Coach_Cycle_DecelerateWhileBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level,
+			"Coach_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod", "24t Coach_Cycle_AccelerateWhileBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level,
+			"Coach_DriverStrategy_AccelerateAtBrake_80_0_level.vmod", "24t Coach_Cycle_AccelerateAtBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level,
+			"Coach_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod", "24t Coach_Cycle_AccelerateBeforeBrake_80_0_level.vmod"
+			),
+		TestCase(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level,
+			"Coach_DriverStrategy_Drive_stop_85_stop_85_level.vmod", "24t Coach_Cycle_Drive_stop_85_stop_85_level.vmod"),
+		]
+		public void Coach_Special(string cycleData, string modFileName, string compareFileName)
+		{
+			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, modFileName);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
+
+			GraphWriter.Write(modFileName, @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\" + compareFileName);
+		}
+
+		[Category("ComparisonV2"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_80_slope_inc.vmod", "24t Coach_Cycle_Drive_80_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_50_slope_inc.vmod", "24t Coach_Cycle_Drive_50_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_30_slope_inc.vmod", "24t Coach_Cycle_Drive_30_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope,
+			"Coach_DriverStrategy_Drive_80_slope_dec.vmod", "24t Coach_Cycle_Drive_80_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope,
+			"Coach_DriverStrategy_Drive_50_slope_dec.vmod", "24t Coach_Cycle_Drive_50_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope,
+			"Coach_DriverStrategy_Drive_30_slope_dec.vmod", "24t Coach_Cycle_Drive_30_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_80_slope_dec-inc.vmod", "24t Coach_Cycle_Drive_80_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod", "24t Coach_Cycle_Drive_50_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope,
+			"Coach_DriverStrategy_Drive_30_slope_dec-inc.vmod", "24t Coach_Cycle_Drive_30_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level,
+			"Coach_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod", "24t Coach_Cycle_DecelerateWhileBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level,
+			"Coach_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod", "24t Coach_Cycle_AccelerateWhileBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level,
+			"Coach_DriverStrategy_AccelerateAtBrake_80_0_level.vmod", "24t Coach_Cycle_AccelerateAtBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level,
+			"Coach_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod", "24t Coach_Cycle_AccelerateBeforeBrake_80_0_level.vmod"
+			),
+		TestCase(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level,
+			"Coach_DriverStrategy_Drive_stop_85_stop_85_level.vmod", "24t Coach_Cycle_Drive_stop_85_stop_85_level.vmod"),
+		]
+		public void Coach_Special_Overspeed(string cycleData, string modFileName, string compareFileName)
+		{
+			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, modFileName, true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
+
+			GraphWriter.Write(modFileName,
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\" + compareFileName);
 		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Coach_Accelerate_0_40_downhill_1_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_1);
-			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
-				"Coach_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_40_downhill_1.vmod");
-		}
-
-		#endregion
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Integration/SimpleDrivingCycles.cs b/VectoCore/VectoCoreTest/Integration/SimpleDrivingCycles.cs
index 001c17e2d8b5db07991c334363dad4ac0b1edf73..ce5e964c729033e185d41fc693c58a86f1362128 100644
--- a/VectoCore/VectoCoreTest/Integration/SimpleDrivingCycles.cs
+++ b/VectoCore/VectoCoreTest/Integration/SimpleDrivingCycles.cs
@@ -46,6 +46,12 @@ namespace TUGraz.VectoCore.Tests.Integration
 			return DrivingCycleDataReader.ReadFromStream(cycleData, CycleType.DistanceBased, "", false);
 		}
 
+		public static DrivingCycleData CreateCycleData(string entries)
+		{
+			var cycleData = InputDataHelper.InputDataAsStream("<s>,<v>,<grad>,<stop>", entries.Split('\n'));
+			return DrivingCycleDataReader.ReadFromStream(cycleData, CycleType.DistanceBased, "", false);
+		}
+
 		#region Accelerate
 
 		public static readonly string[] CycleAccelerate_20_60_Level = {
@@ -55,7 +61,6 @@ namespace TUGraz.VectoCore.Tests.Integration
 			"1000, 60, 0,     0"
 		};
 
-
 		public static readonly string[] CycleAccelerate_20_60_uphilll_5 = {
 			// <s>,<v>,<grad>,<stop>
 			"  0,  20, 5,     0",
@@ -84,7 +89,6 @@ namespace TUGraz.VectoCore.Tests.Integration
 			"1000, 60, -25,     0"
 		};
 
-
 		public static readonly string[] CycleAccelerate_20_60_uphill_15 = {
 			// <s>,<v>,<grad>,<stop>
 			"  0,  20, 15,     0",
@@ -452,7 +456,6 @@ namespace TUGraz.VectoCore.Tests.Integration
 			" 200,  10,  -15,    0"
 		};
 
-
 		public static readonly string[] CycleDrive_10_uphill_15 = {
 			// <s>,<v>,<grad>,<stop>
 			"   0, 10, 15,    0",
@@ -463,225 +466,211 @@ namespace TUGraz.VectoCore.Tests.Integration
 
 		#region Misc
 
-		public static readonly string[] CycleDrive_80_Increasing_Slope = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 0,    0",
-			" 100,  80, 0.25, 0",
-			" 200,  80, 0.5,  0",
-			" 300,  80, 0.75, 0",
-			" 400,  80, 1,    0",
-			" 500,  80, 1.25, 0",
-			" 600,  80, 1.5,  0",
-			" 700,  80, 1.75, 0",
-			" 800,  80, 2,    0",
-			" 900,  80, 2.25, 0",
-			"1000,  80, 2.5,  0",
-			"1100,  80, 0,    0"
-		};
-
-		public static readonly string[] CycleDrive_50_Increasing_Slope = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  50, 0,    0",
-			" 100,  50, 0.25, 0",
-			" 200,  50, 0.5,  0",
-			" 300,  50, 0.75, 0",
-			" 400,  50, 1,    0",
-			" 500,  50, 1.25, 0",
-			" 600,  50, 1.5,  0",
-			" 700,  50, 1.75, 0",
-			" 800,  50, 2,    0",
-			" 900,  50, 2.25, 0",
-			"1000,  50, 2.5,  0",
-			"1100,  50, 0,    0"
-		};
-
-		public static readonly string[] CycleDrive_30_Increasing_Slope = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  30, 0,    0",
-			" 100,  30, 0.25, 0",
-			" 200,  30, 0.5,  0",
-			" 300,  30, 0.75, 0",
-			" 400,  30, 1,    0",
-			" 500,  30, 1.25, 0",
-			" 600,  30, 1.5,  0",
-			" 700,  30, 1.75, 0",
-			" 800,  30, 2,    0",
-			" 900,  30, 2.25, 0",
-			"1000,  30, 2.5,  0",
-			"1100,  30, 0,    0"
-		};
-
-		public static readonly string[] CycleDrive_80_Decreasing_Slope = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80,  0,    0",
-			" 100,  80, -0.25, 0",
-			" 200,  80, -0.5,  0",
-			" 300,  80, -0.75, 0",
-			" 400,  80, -1,    0",
-			" 500,  80, -1.25, 0",
-			" 600,  80, -1.5,  0",
-			" 700,  80, -1.75, 0",
-			" 800,  80, -2,    0",
-			" 900,  80, -2.25, 0",
-			"1000,  80, -2.5,  0",
-			"1100,  80,  0,    0"
-		};
-
-		public static readonly string[] CycleDrive_50_Decreasing_Slope = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  50,  0,    0",
-			" 100,  50, -0.25, 0",
-			" 200,  50, -0.5,  0",
-			" 300,  50, -0.75, 0",
-			" 400,  50, -1,    0",
-			" 500,  50, -1.25, 0",
-			" 600,  50, -1.5,  0",
-			" 700,  50, -1.75, 0",
-			" 800,  50, -2,    0",
-			" 900,  50, -2.25, 0",
-			"1000,  50, -2.5,  0",
-			"1100,  50,  0,    0"
-		};
-
-		public static readonly string[] CycleDrive_30_Decreasing_Slope = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  30,  0,    0",
-			" 100,  30, -0.25, 0",
-			" 200,  30, -0.5,  0",
-			" 300,  30, -0.75, 0",
-			" 400,  30, -1,    0",
-			" 500,  30, -1.25, 0",
-			" 600,  30, -1.5,  0",
-			" 700,  30, -1.75, 0",
-			" 800,  30, -2,    0",
-			" 900,  30, -2.25, 0",
-			"1000,  30, -2.5,  0",
-			"1100,  30,  0,    0"
-		};
-
-		public static readonly string[] CycleDrive_80_Dec_Increasing_Slope = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80,  0,    0",
-			" 100,  80, -0.25, 0",
-			" 200,  80, -0.5,  0",
-			" 300,  80, -0.75, 0",
-			" 400,  80, -1,    0",
-			" 500,  80, -1.25, 0",
-			" 600,  80, -1.5,  0",
-			" 700,  80, -1.75, 0",
-			" 800,  80, -2,    0",
-			" 900,  80, -2.25, 0",
-			"1000,  80, -2.5,  0",
-			"1100,  80,  0,    0",
-			"1200,  80, 0,    0",
-			"1300,  80, 0.25, 0",
-			"1400,  80, 0.5,  0",
-			"1500,  80, 0.75, 0",
-			"1600,  80, 1,    0",
-			"1700,  80, 1.25, 0",
-			"1800,  80, 1.5,  0",
-			"1900,  80, 1.75, 0",
-			"2000,  80, 2,    0",
-			"2100,  80, 2.25, 0",
-			"2200,  80, 2.5,  0",
-			"2300,  80, 0,    0"
-		};
-
-		public static readonly string[] CycleDrive_50_Dec_Increasing_Slope = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  50,  0,    0",
-			"  50,  50, -0.25, 0",
-			" 100,  50, -0.5,  0",
-			" 150,  50, -0.75, 0",
-			" 200,  50, -1,    0",
-			" 250,  50, -1.25, 0",
-			" 300,  50, -1.5,  0",
-			" 350,  50, -1.75, 0",
-			" 400,  50, -2,    0",
-			" 450,  50, -2.25, 0",
-			" 500,  50, -2.5,  0",
-			" 550,  50,  0,    0",
-			" 600,  50, 0,    0",
-			" 650,  50, 0.25, 0",
-			" 700,  50, 0.5,  0",
-			" 750,  50, 0.75, 0",
-			" 800,  50, 1,    0",
-			" 850,  50, 1.25, 0",
-			" 900,  50, 1.5,  0",
-			" 950,  50, 1.75, 0",
-			"1000,  50, 2,    0",
-			"1050,  50, 2.25, 0",
-			"1100,  50, 2.5,  0",
-			"1150,  50, 5,    0",
-			"1200,  50, 0,    0"
-		};
-
-		public static readonly string[] CycleDrive_30_Dec_Increasing_Slope = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  30,  0,    0",
-			"  50,  30, -0.25, 0",
-			" 100,  30, -0.5,  0",
-			" 150,  30, -0.75, 0",
-			" 200,  30, -1,    0",
-			" 250,  30, -1.25, 0",
-			" 300,  30, -1.5,  0",
-			" 350,  30, -1.75, 0",
-			" 400,  30, -2,    0",
-			" 450,  30, -2.25, 0",
-			" 500,  30, -2.5,  0",
-			" 550,  30,  0,    0",
-			" 600,  30, 0,    0",
-			" 650,  30, 0.25, 0",
-			" 700,  30, 0.5,  0",
-			" 750,  30, 0.75, 0",
-			" 800,  30, 1,    0",
-			" 850,  30, 1.25, 0",
-			" 900,  30, 1.5,  0",
-			" 950,  30, 1.75, 0",
-			"1000,  30, 2,    0",
-			"1050,  30, 2.25, 0",
-			"1100,  30, 2.5,  0",
-			"1150,  30, 0,    0"
-		};
-
-		public static readonly string[] CycleDecelerateWhileBrake_80_0_level = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 0,    0",
-			" 990,  65, 0,    0",
-			"1000,   0, 0,    2"
-		};
-
-		public static readonly string[] CycleAccelerateWhileBrake_80_0_level = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 0,    0",
-			" 800,  90, 0,    0",
-			" 950,  80, 0,    0",
-			"1000,   0, 0,    2"
-		};
-
-		public static readonly string[] CycleAccelerateAtBrake_80_0_level = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 0,    0",
-			" 505,  90, 0,    0",
-			" 650,  80, 0,    0",
-			"1000,   0, 0,    2"
-		};
-
-		public static readonly string[] CycleAccelerateBeforeBrake_80_0_level = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 0,    0",
-			" 450,  90, 0,    0",
-			" 650,  80, 0,    0",
-			"1000,   0, 0,    2"
-		};
-
-		public static readonly string[] CycleDrive_stop_85_stop_85_level = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,   0, 0,     2",
-			"1000, 85, 0,     0",
-			"2000,   0, 0,     2",
-			"3000, 85, 0,     0"
-		};
+		public const string CycleDrive_80_Increasing_Slope =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  80, 0,    0
+			 100,  80, 0.25, 0
+			 200,  80, 0.5,  0
+			 300,  80, 0.75, 0
+			 400,  80, 1,    0
+			 500,  80, 1.25, 0
+			 600,  80, 1.5,  0
+			 700,  80, 1.75, 0
+			 800,  80, 2,    0
+			 900,  80, 2.25, 0
+			1000,  80, 2.5,  0
+			1100,  80, 0,    0";
+
+		public const string CycleDrive_50_Increasing_Slope =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  50, 0,    0
+			 100,  50, 0.25, 0
+			 200,  50, 0.5,  0
+			 300,  50, 0.75, 0
+			 400,  50, 1,    0
+			 500,  50, 1.25, 0
+			 600,  50, 1.5,  0
+			 700,  50, 1.75, 0
+			 800,  50, 2,    0
+			 900,  50, 2.25, 0
+			1000,  50, 2.5,  0
+			1100,  50, 0,    0";
+
+		public const string CycleDrive_30_Increasing_Slope =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  30, 0,    0
+			 100,  30, 0.25, 0
+			 200,  30, 0.5,  0
+			 300,  30, 0.75, 0
+			 400,  30, 1,    0
+			 500,  30, 1.25, 0
+			 600,  30, 1.5,  0
+			 700,  30, 1.75, 0
+			 800,  30, 2,    0
+			 900,  30, 2.25, 0
+			1000,  30, 2.5,  0
+			1100,  30, 0,    0";
+
+		public const string CycleDrive_80_Decreasing_Slope =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  80,  0,    0
+			 100,  80, -0.25, 0
+			 200,  80, -0.5,  0
+			 300,  80, -0.75, 0
+			 400,  80, -1,    0
+			 500,  80, -1.25, 0
+			 600,  80, -1.5,  0
+			 700,  80, -1.75, 0
+			 800,  80, -2,    0
+			 900,  80, -2.25, 0
+			1000,  80, -2.5,  0
+			1100,  80,  0,    0";
+
+		public const string CycleDrive_50_Decreasing_Slope =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  50,  0,    0
+			 100,  50, -0.25, 0
+			 200,  50, -0.5,  0
+			 300,  50, -0.75, 0
+			 400,  50, -1,    0
+			 500,  50, -1.25, 0
+			 600,  50, -1.5,  0
+			 700,  50, -1.75, 0
+			 800,  50, -2,    0
+			 900,  50, -2.25, 0
+			1000,  50, -2.5,  0
+			1100,  50,  0,    0  ";
+
+		public const string CycleDrive_30_Decreasing_Slope =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  30,  0,    0
+			 100,  30, -0.25, 0
+			 200,  30, -0.5,  0
+			 300,  30, -0.75, 0
+			 400,  30, -1,    0
+			 500,  30, -1.25, 0
+			 600,  30, -1.5,  0
+			 700,  30, -1.75, 0
+			 800,  30, -2,    0
+			 900,  30, -2.25, 0
+			1000,  30, -2.5,  0
+			1100,  30,  0,    0	";
+
+		public const string CycleDrive_80_Dec_Increasing_Slope =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  80,  0,    0
+			 100,  80, -0.25, 0
+			 200,  80, -0.5,  0
+			 300,  80, -0.75, 0
+			 400,  80, -1,    0
+			 500,  80, -1.25, 0
+			 600,  80, -1.5,  0
+			 700,  80, -1.75, 0
+			 800,  80, -2,    0
+			 900,  80, -2.25, 0
+			1000,  80, -2.5,  0
+			1100,  80,  0,    0
+			1200,  80, 0,    0
+			1300,  80, 0.25, 0
+			1400,  80, 0.5,  0
+			1500,  80, 0.75, 0
+			1600,  80, 1,    0
+			1700,  80, 1.25, 0
+			1800,  80, 1.5,  0
+			1900,  80, 1.75, 0
+			2000,  80, 2,    0
+			2100,  80, 2.25, 0
+			2200,  80, 2.5,  0
+			2300,  80, 0,    0		";
+
+		public const string CycleDrive_50_Dec_Increasing_Slope =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  50,  0,    0
+			  50,  50, -0.25, 0
+			 100,  50, -0.5,  0
+			 150,  50, -0.75, 0
+			 200,  50, -1,    0
+			 250,  50, -1.25, 0
+			 300,  50, -1.5,  0
+			 350,  50, -1.75, 0
+			 400,  50, -2,    0
+			 450,  50, -2.25, 0
+			 500,  50, -2.5,  0
+			 550,  50,  0,    0
+			 600,  50, 0,    0
+			 650,  50, 0.25, 0
+			 700,  50, 0.5,  0
+			 750,  50, 0.75, 0
+			 800,  50, 1,    0
+			 850,  50, 1.25, 0
+			 900,  50, 1.5,  0
+			 950,  50, 1.75, 0
+			1000,  50, 2,    0
+			1050,  50, 2.25, 0
+			1100,  50, 2.5,  0
+			1150,  50, 5,    0
+			1200,  50, 0,    0	  ";
+
+		public const string CycleDrive_30_Dec_Increasing_Slope =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  30,  0,    0
+			  50,  30, -0.25, 0
+			 100,  30, -0.5,  0
+			 150,  30, -0.75, 0
+			 200,  30, -1,    0
+			 250,  30, -1.25, 0
+			 300,  30, -1.5,  0
+			 350,  30, -1.75, 0
+			 400,  30, -2,    0
+			 450,  30, -2.25, 0
+			 500,  30, -2.5,  0
+			 550,  30,  0,    0
+			 600,  30, 0,    0
+			 650,  30, 0.25, 0
+			 700,  30, 0.5,  0
+			 750,  30, 0.75, 0
+			 800,  30, 1,    0
+			 850,  30, 1.25, 0
+			 900,  30, 1.5,  0
+			 950,  30, 1.75, 0
+			1000,  30, 2,    0
+			1050,  30, 2.25, 0
+			1100,  30, 2.5,  0
+			1150,  30, 0,    0";
+
+		public const string CycleDecelerateWhileBrake_80_0_level =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  80, 0,    0
+			 990,  65, 0,    0
+			1000,   0, 0,    2";
+
+		public const string CycleAccelerateWhileBrake_80_0_level =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  80, 0,    0
+				 800,  90, 0,    0
+				 950,  80, 0,    0
+				1000,   0, 0,    2";
+
+		public const string CycleAccelerateAtBrake_80_0_level =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  80, 0,    0
+				 505,  90, 0,    0
+				 650,  80, 0,    0
+				1000,   0, 0,    2";
+
+		public const string CycleAccelerateBeforeBrake_80_0_level =
+			// <s>,<v>,<grad>,<stop>
+			@"   0,  80, 0,    0
+			 450,  90, 0,    0
+			 650,  80, 0,    0
+			1000,   0, 0,    2";
+
+		public const string CycleDrive_stop_85_stop_85_level =
+			// <s>,<v>,<grad>,<stop>
+			@"  0,   0, 0,     2
+			1000, 85, 0,     0
+			2000,   0, 0,     2
+			3000, 85, 0,     0";
 
 		#endregion