From edd345d6b409d7df0913aa41970fedf55e513530 Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Thu, 19 May 2016 14:06:31 +0200
Subject: [PATCH] new parameterized tests in NUnit format (TestCase)

---
 VectoCommon/VectoCommon/VectoCommon.csproj    |    2 +-
 .../Models/SimulationComponent/Impl/Driver.cs |   30 +-
 VectoCore/VectoCore/VectoCore.csproj          |    4 +
 .../BusAuxiliaries/AuxDemandTest.cs           |    2 +-
 .../BusAuxiliaries/BusAdapterTest.cs          |    6 +-
 .../BusAuxiliaries/SimpleCycleTest.cs         | 1280 ++-----------
 .../DriverStrategy/DriverStrategyTestTruck.cs | 1593 +++++------------
 .../Integration/SimpleDrivingCycles.cs        |  425 +----
 .../CombustionEngineTest.cs                   |    9 -
 9 files changed, 634 insertions(+), 2717 deletions(-)

diff --git a/VectoCommon/VectoCommon/VectoCommon.csproj b/VectoCommon/VectoCommon/VectoCommon.csproj
index aee18349db..1a3b3c98ef 100644
--- a/VectoCommon/VectoCommon/VectoCommon.csproj
+++ b/VectoCommon/VectoCommon/VectoCommon.csproj
@@ -17,7 +17,7 @@
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
     <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DefineConstants>DEBUG</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs
index 63163d0fa9..a942b38e81 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs
@@ -31,9 +31,7 @@
 
 using System;
 using System.Collections.Generic;
-using System.Diagnostics;
 using System.Linq;
-using iTextSharp.text.pdf;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
@@ -59,7 +57,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 		protected IDriverStrategy DriverStrategy;
 		private Dictionary<string, object> _coastData = new Dictionary<string, object>(20);
-		private string CurrentAction = "";
+		private string _currentAction = "";
 
 		//public MeterPerSquareSecond LookaheadDeceleration { get; protected set; }
 
@@ -157,7 +155,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			IResponse previousResponse = null)
 		{
 			IterationStatistics.Increment(this, "Accelerate");
-			CurrentAction = "Accelerate";
+			_currentAction = "Accelerate";
 			Log.Debug("DrivingAction Accelerate");
 			var operatingPoint = ComputeAcceleration(ds, targetVelocity);
 
@@ -237,7 +235,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		public IResponse DrivingActionCoast(Second absTime, Meter ds, MeterPerSecond maxVelocity, Radian gradient)
 		{
 			IterationStatistics.Increment(this, "Coast");
-			CurrentAction = "Coast";
+			_currentAction = "Coast";
 			Log.Debug("DrivingAction Coast");
 
 			return CoastOrRollAction(absTime, ds, maxVelocity, gradient, false);
@@ -253,7 +251,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		/// <returns></returns>
 		public IResponse DrivingActionRoll(Second absTime, Meter ds, MeterPerSecond maxVelocity, Radian gradient)
 		{
-			CurrentAction = "Roll";
+			_currentAction = "Roll";
 			IterationStatistics.Increment(this, "Roll");
 
 			Log.Debug("DrivingAction Roll");
@@ -359,7 +357,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			IResponse previousResponse = null, Meter targetDistance = null)
 		{
 			IterationStatistics.Increment(this, "Brake");
-			CurrentAction = "Brake";
+			_currentAction = "Brake";
 			Log.Debug("DrivingAction Brake");
 
 			IResponse retVal = null;
@@ -767,7 +765,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		/// <returns></returns>
 		public IResponse DrivingActionHalt(Second absTime, Second dt, MeterPerSecond targetVelocity, Radian gradient)
 		{
-			CurrentAction = "Halt";
+			_currentAction = "Halt";
 			if (!targetVelocity.IsEqual(0) || !DataBus.VehicleStopped) {
 				Log.Error("TargetVelocity ({0}) and VehicleVelocity ({1}) must be zero when vehicle is halting!", targetVelocity,
 					DataBus.VehicleSpeed);
@@ -795,14 +793,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		{
 			container[ModalResultField.acc] = CurrentState.Acceleration;
 
-			//todo mk-2016-05-11: remove additional columns in moddata after testing of LAC finished
-			foreach (var kv in _coastData) {
-				container.SetDataValue(kv.Key, kv.Value);
-			}
-			container.SetDataValue("Alt", DataBus.Altitude.Value());
-			container.SetDataValue("DrivingMode", ((DefaultDriverStrategy)DriverStrategy).CurrentDrivingMode);
-			container.SetDataValue("Action", CurrentAction);
-			_coastData.Clear();
+			////todo mk-2016-05-11: remove additional columns in moddata after testing of LAC finished
+			//foreach (var kv in _coastData) {
+			//	container.SetDataValue(kv.Key, kv.Value);
+			//}
+			//container.SetDataValue("Alt", DataBus.Altitude.Value());
+			//container.SetDataValue("DrivingMode", ((DefaultDriverStrategy)DriverStrategy).CurrentDrivingMode);
+			//container.SetDataValue("Action", _currentAction);
+			//_coastData.Clear();
 		}
 
 		protected override void DoCommitSimulationStep()
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index 2f27bdd07c..acdc9603ce 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -13,6 +13,7 @@
     <FileAlignment>512</FileAlignment>
     <CodeContractsAssemblyMode>1</CodeContractsAssemblyMode>
     <NuGetPackageImportStamp>5f3566e7</NuGetPackageImportStamp>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -69,6 +70,7 @@
     <CodeContractsRuntimeCheckingLevel>Full</CodeContractsRuntimeCheckingLevel>
     <CodeContractsReferenceAssembly>%28none%29</CodeContractsReferenceAssembly>
     <CodeContractsAnalysisWarningLevel>3</CodeContractsAnalysisWarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
@@ -78,6 +80,8 @@
     </DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="itextsharp">
diff --git a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs
index 443e5aa264..c37bb9de86 100644
--- a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs
@@ -63,7 +63,7 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
 			var torque = busAux.PowerDemand(0.SI<Second>(), 1.SI<Second>(), engineDrivelinePower / engineSpeed,
 				(internalPower * 1000).SI<Watt>() / engineSpeed, engineSpeed);
 
-			Assert.AreEqual(expectedPowerDemand, (torque * engineSpeed).Value(), 1e-4);
+			Assert.AreEqual(expectedPowerDemand, (torque * engineSpeed).Value(), 1e-3);
 		}
 
 		[Test]
diff --git a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/BusAdapterTest.cs b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/BusAdapterTest.cs
index 2a2c4cae33..a86b9525a9 100644
--- a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/BusAdapterTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/BusAdapterTest.cs
@@ -66,7 +66,7 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
 			var torque = busAux.PowerDemand(0.SI<Second>(), 1.SI<Second>(), engineDrivelinePower / engineSpeed,
 				(internalPower * 1000).SI<Watt>() / engineSpeed, engineSpeed);
 
-			Assert.AreEqual(expectedPowerDemand, (torque * engineSpeed).Value(), 1e-4);
+			Assert.AreEqual(expectedPowerDemand, (torque * engineSpeed).Value(), 1e-3);
 		}
 
 		[Test]
@@ -98,7 +98,7 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
 			var torque = busAux.PowerDemand(0.SI<Second>(), 1.SI<Second>(), engineDrivelinePower / engineSpeed,
 				(internalPower * 1000).SI<Watt>() / engineSpeed, engineSpeed);
 
-			Assert.AreEqual(expectedPowerDemand, (torque * engineSpeed).Value(), 1e-4);
+			Assert.AreEqual(expectedPowerDemand, (torque * engineSpeed).Value(), 1e-3);
 		}
 
 		[Test]
@@ -124,7 +124,6 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
 			Assert.AreEqual(expectedPowerDemand, (torque * engineSpeed).Value(), 1e-3);
 		}
 
-
 		[Test,
 		TestCase(19000)]
 		public void AuxDemandContinuityTest(double vehicleWeight)
@@ -169,6 +168,5 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
 
 			//VectoCSVFile.Write("auxPowerDemand_EngineSpeed.csv", table);
 		}
-
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/SimpleCycleTest.cs b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/SimpleCycleTest.cs
index fb06010ea6..06c159f84b 100644
--- a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/SimpleCycleTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/SimpleCycleTest.cs
@@ -29,1106 +29,224 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using NLog;
+using System;
+using System.Globalization;
+using NUnit.Framework;
+using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.Simulation.Data;
-using TUGraz.VectoCore.Models.Simulation.Impl;
-using TUGraz.VectoCore.Models.SimulationComponent.Impl;
 using TUGraz.VectoCore.Tests.Utils;
 
 namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
 {
-	[TestClass]
-	public class SimpleCycleTest
+	[TestFixture]
+	public class DriverStrategyTestCoachAux
 	{
-		[TestInitialize]
+		[TestFixtureSetUp]
 		public void Init()
 		{
-			LogManager.DisableLogging();
+			//LogManager.DisableLogging();
 #if TRACE
 			GraphWriter.Enable();
 #else
 			GraphWriter.Disable();
 #endif
-		
 			GraphWriter.Xfields = new[] { ModalResultField.time, ModalResultField.dist };
 
 			GraphWriter.Yfields = new[] {
 				ModalResultField.v_act, ModalResultField.acc, ModalResultField.n_eng_avg, ModalResultField.Gear,
-				ModalResultField.P_eng_out, ModalResultField.P_aux, ModalResultField.AA_TotalCycleFC_Grams
+				ModalResultField.P_eng_out, ModalResultField.T_eng_fcmap, ModalResultField.FCMap
 			};
-
 			GraphWriter.Series1Label = "Vecto 3";
-			GraphWriter.Series2Label = "Vecto 2.0+AUX";
-		}
-
-		#region Accelerate
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_20_60_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_Level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Accelerate_20_60_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_20_60_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_20_60_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_20_60_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphilll_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_20_60_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_20_60_uphill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_20_60_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_20_60_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_20_60_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_20_60_downhill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_20_60_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_20_60_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_25);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_20_60_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_20_60_uphill_25.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_20_60_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_20_60_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_25);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_20_60_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_20_60_downhill_25.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_20_60_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_20_60_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_20_60_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_20_60_uphill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_20_60_uphill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_20_60_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_20_60_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_20_60_downhill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_20_60_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_0_85_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Accelerate_0_85_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_0_85_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_0_85_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_0_85_uphill_1()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_1);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Accelerate_0_85_uphill_1.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_0_85_uphill_1.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_0_85_uphill_1.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_0_85_uphill_2()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_2);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Accelerate_0_85_uphill_2.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_0_85_uphill_2.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_0_85_uphill_2.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_0_85_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Accelerate_0_85_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_0_85_uphill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_0_85_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_0_85_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_0_85_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_0_85_downhill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_0_85_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_0_85_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_25);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_0_85_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_0_85_uphill_25.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_0_85_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_0_85_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_25);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_0_85_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_0_85_downhill_25.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_0_85_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX"),]
-		public void Coach_AAUX_Accelerate_0_85_uphill_10()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_10);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_0_85_uphill_10.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_0_85_uphill_10.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_0_85_uphill_10.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_0_85_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_0_85_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_0_85_downhill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_0_85_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_stop_0_85_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_stop_0_85_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_stop_0_85_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_stop_0_85_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_stop_0_85_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Accelerate_20_22_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_22_uphill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Accelerate_20_22_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Accelerate_20_22_uphill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Accelerate_20_22_uphill_5.vmod");
-		}
-
-		#endregion
-
-		#region Decelerate
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_22_20_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_22_20_downhill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Decelerate_22_20_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_22_20_downhill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_22_20_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_60_20_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_60_20_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_60_20_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_60_20_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_45_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_45_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_45_0_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_45_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_45_0_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_uphill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_45_0_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_45_0_uphill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_45_0_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_45_0_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_downhill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_45_0_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_45_0_downhill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_45_0_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_60_20_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_60_20_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_60_20_uphill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_60_20_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_60_20_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Decelerate_60_20_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_60_20_downhill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_60_20_downhill_5.vmod");
-		}
-
-		//[TestMethod, TestCategory("ComparisonAAUX"), TestCategory("LongRunning")]
-		//public void Decelerate_60_20_uphill_25()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_25);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_60_20_uphill_25.vmod");
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Decelerate_60_20_uphill_25.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_60_20_uphill_25.vmod");
-		//}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_60_20_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_25);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Decelerate_60_20_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_60_20_downhill_25.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_60_20_downhill_25.vmod");
-		}
-
-		//[TestMethod, TestCategory("ComparisonAAUX"), TestCategory("LongRunning")]
-		//public void Coach_AAUX_Decelerate_60_20_uphill_15()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_15);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_60_20_uphill_15.vmod");
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Decelerate_60_20_uphill_15.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_60_20_uphill_15.vmod");
-		//}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_60_20_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Decelerate_60_20_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_60_20_downhill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_60_20_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_80_0_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_80_0_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_80_0_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_80_0_uphill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_80_0_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_80_0_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_80_0_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_80_0_downhill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_80_0_downhill_5.vmod");
-		}
-
-		//[TestMethod, TestCategory("ComparisonAAUX"), TestCategory("LongRunning")]
-		//public void Decelerate_80_0_uphill_25()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_25);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Decelerate_80_0_steep_uphill_25.vmod");
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Decelerate_80_0_steep_uphill_25.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_80_0_steep_uphill_25.vmod");
-		//}
-
-		[TestMethod, TestCategory("ComparisonAAUX"), TestCategory("LongRunning")]
-		public void Coach_AAUX_Decelerate_80_0_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_25);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Decelerate_80_0_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_80_0_downhill_25.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_80_0_downhill_25.vmod");
-		}
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Decelerate_80_0_uphill_3()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_3);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Decelerate_80_0_uphill_3.vmod");
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Decelerate_80_0_uphill_3.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaripublic void Coach_es\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_80_0_uphill_3.vmod");
-		//}
-
-		//[TestMethod, TestCategory("ComparisonAAUX"), TestCategory("LongRunning")]
-		//public void Decelerate_80_0_uphill_15()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_15);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Decelerate_80_0_steep_uphill_15.vmod");
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Decelerate_80_0_steep_uphill_15.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_80_0_steep_uphill_15.vmod");
-		//}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Decelerate_80_0_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Decelerate_80_0_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Decelerate_80_0_downhill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Decelerate_80_0_downhill_15.vmod");
-		}
-
-		#endregion
-
-		#region Drive
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_80_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_80_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_80_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_80_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_80_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_80_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_80_uphill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_80_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_80_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_5);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_80_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_80_downhill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_80_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_20_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_20_downhill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_20_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_20_downhill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_20_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_30_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_downhill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_30_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_30_downhill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_30_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_50_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_downhill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_50_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_50_downhill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_50_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX"), TestCategory("LongRunning")]
-		public void Coach_AAUX_Drive_80_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_25);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_80_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			//			GraphWriter.Write("Coach_AAUX_Drive_80_uphill_25.vmod",
-			//				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_80_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_80_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_80_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_80_downhill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_80_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_80_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_80_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_80_uphill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_80_uphill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_10_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_10_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_10_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_10_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_10_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(new[] {
-				// <s>,<v>,<grad>,<stop>
-				"   0,  10, 5,    0",
-				"800,  10, 5,    0",
-			});
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_10_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_10_uphill_5.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_10_uphill_5.vmod");
-		}
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Drive_10_downhill_5()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_5);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_10_downhill_5.vmod");
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Drive_10_downhill_5.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_10_downhill_5.vmod");
-		//}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_10_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_25);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_10_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_10_downhill_25.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_10_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_10_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_25);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_10_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_10_uphill_25.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_10_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_10_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_10_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_10_downhill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_10_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_10_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_15);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_10_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_10_uphill_15.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_10_uphill_15.vmod");
+			GraphWriter.Series2Label = "Vecto 2.0_aux";
+		}
+
+		[Category("ComparisonAAUX"),
+		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_AAUX_Cycle_Accelerate_{0}_{1}_{2}.vmod", v1, v2, slopeStr));
+		}
+
+		[Category("ComparisonAAUX"),
+		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_AAUX_Cycle_Decelerate_{0}_{1}_{2}.vmod", v1, v2, slopeStr));
+		}
+
+		[Category("ComparisonAAUX"),
+		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_AAUX_Cycle_Drive_{0}_{1}_{2}.vmod", v1, v2, slopeStr));
+		}
+
+		[Category("ComparisonAAUX"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope,
+			"Coach_AAUX_Drive_80_slope_inc.vmod", "24t Coach_AAUX_Cycle_Drive_80_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope,
+			"Coach_AAUX_Drive_50_slope_inc.vmod", "24t Coach_AAUX_Cycle_Drive_50_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope,
+			"Coach_AAUX_Drive_30_slope_inc.vmod", "24t Coach_AAUX_Cycle_Drive_30_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope,
+			"Coach_AAUX_Drive_80_slope_dec.vmod", "24t Coach_AAUX_Cycle_Drive_80_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope,
+			"Coach_AAUX_Drive_50_slope_dec.vmod", "24t Coach_AAUX_Cycle_Drive_50_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope,
+			"Coach_AAUX_Drive_30_slope_dec.vmod", "24t Coach_AAUX_Cycle_Drive_30_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope,
+			"Coach_AAUX_Drive_80_slope_dec-inc.vmod", "24t Coach_AAUX_Cycle_Drive_80_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope,
+			"Coach_AAUX_Drive_50_slope_dec-inc.vmod", "24t Coach_AAUX_Cycle_Drive_50_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope,
+			"Coach_AAUX_Drive_30_slope_dec-inc.vmod", "24t Coach_AAUX_Cycle_Drive_30_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level,
+			"Coach_AAUX_DecelerateWhileBrake_80_0_level.vmod", "24t Coach_AAUX_Cycle_DecelerateWhileBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level,
+			"Coach_AAUX_AccelerateWhileBrake_80_0_level.vmod", "24t Coach_AAUX_Cycle_AccelerateWhileBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level,
+			"Coach_AAUX_AccelerateAtBrake_80_0_level.vmod", "24t Coach_AAUX_Cycle_AccelerateAtBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level,
+			"Coach_AAUX_AccelerateBeforeBrake_80_0_level.vmod", "24t Coach_AAUX_Cycle_AccelerateBeforeBrake_80_0_level.vmod"
+			),
+		TestCase(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level,
+			"Coach_AAUX_Drive_stop_85_stop_85_level.vmod", "24t Coach_AAUX_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 = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, modFileName);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
+
+			GraphWriter.Write(modFileName, @"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\" + compareFileName);
 		}
-
-		#endregion
-
-		#region Slope
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_80_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_80_slope_inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_80_slope_inc.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_80_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_50_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_50_slope_inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_50_slope_inc.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_50_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_30_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_30_slope_inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_30_slope_inc.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_30_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_80_Decreasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_80_slope_dec.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_80_slope_dec.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_80_Decreasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_50_Decreasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_50_slope_dec.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_50_slope_dec.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_50_Decreasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_30_Decreasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_30_slope_dec.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_30_slope_dec.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_30_Decreasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_80_Dec_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_80_slope_dec-inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_80_slope_dec-inc.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_80_Dec_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_50_Dec_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_50_slope_dec-inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_50_slope_dec-inc.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_50_Dec_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_30_Dec_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle, "Coach_AAUX_Drive_30_slope_dec-inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_30_slope_dec-inc.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_30_Dec_Increasing_Slope.vmod");
-		}
-
-		#endregion
-
-		#region Misc
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_DecelerateWhileBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_DecelerateWhileBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_DecelerateWhileBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_DecelerateWhileBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_AccelerateWhileBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_AccelerateWhileBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_AccelerateWhileBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_AccelerateWhileBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_AccelerateAtBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_AccelerateAtBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_AccelerateAtBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_AccelerateAtBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_AccelerateBeforeBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_AccelerateBeforeBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_AccelerateBeforeBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_AccelerateBeforeBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonAAUX")]
-		public void Coach_AAUX_Drive_stop_85_stop_85_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level);
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_Drive_stop_85_stop_85_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Coach_AAUX_Drive_stop_85_stop_85_level.vmod",
-				@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0\24t Coach_AAUX_Cycle_Drive_stop_85_stop_85_level.vmod");
-		}
-
-		#endregion
-
-		//#region AccelerateOverspeed
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Accelerate_0_85_downhill_5_overspeed()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Accelerate_0_85_downhill_5-overspeed.vmod", true);
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Accelerate_0_85_downhill_5-overspeed.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0_Overspeed\24t Coach_AAUX_Cycle_Accelerate_0_85_downhill_5.vmod");
-		//}
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Accelerate_0_85_downhill_3_overspeed()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_3);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Accelerate_0_85_downhill_3-overspeed.vmod", true);
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Accelerate_0_85_downhill_3-overspeed.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0_Overspeed\24t Coach_AAUX_Cycle_Accelerate_0_85_downhill_3.vmod");
-		//}
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Accelerate_0_85_downhill_1_overspeed()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_1);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Accelerate_0_85_downhill_1-overspeed.vmod", true);
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Accelerate_0_85_downhill_1-overspeed.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0_Overspeed\24t Coach_AAUX_Cycle_Accelerate_0_85_downhill_1.vmod");
-		//}
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Accelerate_0_60_downhill_5_overspeed()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_5);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Accelerate_0_60_downhill_5-overspeed.vmod", true);
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Accelerate_0_60_downhill_5-overspeed.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0_Overspeed\24t Coach_AAUX_Cycle_Accelerate_0_60_downhill_5.vmod");
-		//}
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Accelerate_0_60_downhill_3_overspeed()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_3);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Accelerate_0_60_downhill_3-overspeed.vmod", true);
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Accelerate_0_60_downhill_3-overspeed.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0_Overspeed\24t Coach_AAUX_Cycle_Accelerate_0_60_downhill_3.vmod");
-		//}
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Accelerate_0_60_downhill_1_overspeed()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_1);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Accelerate_0_60_downhill_1-overspeed.vmod", true);
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Accelerate_0_60_downhill_1-overspeed.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0_Overspeed\24t Coach_AAUX_Cycle_Accelerate_0_60_downhill_1.vmod");
-		//}
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Accelerate_0_40_downhill_5_overspeed()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_5);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Accelerate_0_40_downhill_5-overspeed.vmod", true);
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Accelerate_0_40_downhill_5-overspeed.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0_Overspeed\24t Coach_AAUX_Cycle_Accelerate_0_40_downhill_5.vmod");
-		//}
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Accelerate_0_40_downhill_3_overspeed()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_3);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Accelerate_0_40_downhill_3-overspeed.vmod", true);
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Accelerate_0_40_downhill_3-overspeed.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0_Overspeed\24t Coach_AAUX_Cycle_Accelerate_0_40_downhill_3.vmod");
-		//}
-
-		//[TestMethod, TestCategory("ComparisonAAUX")]
-		//public void Coach_AAUX_Accelerate_0_40_downhill_1_overspeed()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_1);
-		//	var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-		//		"Coach_AAUX_Accelerate_0_40_downhill_1-overspeed.vmod", true);
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Coach_AAUX_Accelerate_0_40_downhill_1-overspeed.vmod",
-		//		@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0_Overspeed\24t Coach_AAUX_Cycle_Accelerate_0_40_downhill_1.vmod");
-		//}
-
-		//#endregion
-
-		[TestMethod, TestCategory("CycleTest")]
-		public void Coach_AAUX_Accelerate_0_40_downhill_1_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.ReadDeclarationCycle("Coach");
-			var run = CoachAdvancedAuxPowertrain.CreateEngineeringRun(cycle,
-				"Coach_AAUX_CoachCycle.vmod", true);
-
-			//((DistanceBasedDrivingCycle)((VehicleContainer)run.GetContainer()).Cycle).SetDriveOffDistance(123613.SI<Meter>());
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			//GraphWriter.Write("Coach_AAUX_Accelerate_0_40_downhill_1-overspeed.vmod",
-			//	@"..\..\TestData\Integration\BusAuxiliaries\Vecto2.0_Overspeed\24t Coach_AAUX_Cycle_Accelerate_0_40_downhill_1.vmod");
-		}
-
-		//@"E:\QUAM\Workspace\VECTO_quam\Generic Vehicles\Engineering Mode\24t Coach\24t Coach_AAux.vecto"
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs b/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
index b5b6334641..ac5a67786c 100644
--- a/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
+++ b/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
@@ -29,18 +29,20 @@
 *   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 DriverStrategyTestTruck
 	{
-		[TestInitialize]
-		public void DisableLogging()
+		[TestFixtureSetUp]
+		public void Init()
 		{
 			//LogManager.DisableLogging();
 #if TRACE
@@ -48,7 +50,6 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 #else
 			GraphWriter.Disable();
 #endif
-
 			GraphWriter.Xfields = new[] { ModalResultField.time, ModalResultField.dist };
 
 			GraphWriter.Yfields = new[] {
@@ -59,1200 +60,406 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 			GraphWriter.Series2Label = "Vecto 2.2";
 		}
 
-		#region Accelerate
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_20_60_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_Level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_20_60_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphilll_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_20_60_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_5.vmod");
-		}
-
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_20_60_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_20_60_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_5.vmod");
-		}
-
-
-		//[TestMethod, TestCategory("ComparisonV2"), TestCategory("LongRunning")]
-		//public void Truck_Accelerate_20_60_uphill_25()
-		//{
-		//	var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_25);
-		//	var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-		//		"Truck_DriverStrategy_Accelerate_20_60_uphill_25.vmod");
-
-		//	run.Run();
-		//	Assert.IsTrue(run.FinishedWithoutErrors);
-
-		//	GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_25.vmod",
-		//		@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_25.vmod");
-		//}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_20_60_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_25);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_20_60_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_20_60_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_20_60_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_20_60_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_20_60_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_uphill_1()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_1);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_85_uphill_1.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_1.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_1.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_uphill_2()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_2);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_85_uphill_2.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_2.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_2.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_85_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_5.vmod").Run();
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_25);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_85_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_25);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_85_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_uphill_10()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_10);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_85_uphill_10.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_10.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_10.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_85_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_stop_0_85_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_stop_0_85_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_stop_0_85_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_stop_0_85_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_stop_0_85_level.vmod");
-		}
-
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_20_22_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_22_uphill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_20_22_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_22_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_22_uphill_5.vmod");
-		}
-
-		#endregion
-
-		#region Decelerate
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_22_20_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_22_20_downhill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_22_20_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_22_20_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_22_20_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_60_20_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_45_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_45_0_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_uphill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_45_0_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_45_0_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_downhill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_45_0_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_60_20_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_60_20_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_60_20_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_60_20_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_5.vmod");
-		}
-
-//		[TestMethod, TestCategory("ComparisonV2"), TestCategory("LongRunning")]
-//		public void Decelerate_60_20_uphill_25()
-//		{
-//			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_25);
-//			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-//				"Truck_DriverStrategy_Decelerate_60_20_uphill_25.vmod");
-
-//			run.Run();
-//			Assert.IsTrue(run.FinishedWithoutErrors);
-
-////			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_25.vmod",
-////				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_25.vmod");
-//		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_60_20_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_25);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_60_20_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_60_20_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_60_20_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			//GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_15.vmod",
-			//	@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_60_20_downhill_15()
+		[TestCase, Category("ComparisonV2")]
+		public void TestGraph()
+		{
+			var imgV3 = @"TestData\Results\Integration\24t Truck_Cycle_Drive_50_Dec_Increasing_Slope.vmod";
+			var imgv22 = @"TestData\Results\Integration\24t Truck_Cycle_Drive_50_Dec_Increasing_Slope.vmod";
+
+			GraphWriter.Write(imgV3, imgv22);
+		}
+
+		[TestCase, Category("ComparisonV2")]
+		public void TestSingleGraph()
+		{
+			var imgV3 = @"..\..\..\VectoCoreTest\bin\Debug\Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod";
+
+			GraphWriter.Write(imgV3);
+		}
+
+		[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 Truck_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, @"Truck_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Truck_Special(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Truck_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 Truck_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, @"Truck_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Truck_Special(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Truck_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 Truck_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, @"Truck_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Truck_Special(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Truck_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 Truck_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, @"Truck_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Truck_Special_Overspeed(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Truck_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 Truck_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, @"Truck_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Truck_Special_Overspeed(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Truck_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 Truck_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, @"Truck_{0}_{1}_{3}_{2}.vmod", v1, v2, Math.Abs(slope),
+				slopeStr);
+
+			Truck_Special_Overspeed(cycle, modFileName,
+				string.Format(CultureInfo.InvariantCulture, "24t Truck_Cycle_Drive_{0}_{1}_{2}.vmod", v1, v2, slopeStr));
+		}
+
+		[Category("ComparisonV2"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_80_slope_inc.vmod", "24t Truck_Cycle_Drive_80_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_50_slope_inc.vmod", "24t Truck_Cycle_Drive_50_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_30_slope_inc.vmod", "24t Truck_Cycle_Drive_30_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope,
+			"Truck_DriverStrategy_Drive_80_slope_dec.vmod", "24t Truck_Cycle_Drive_80_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope,
+			"Truck_DriverStrategy_Drive_50_slope_dec.vmod", "24t Truck_Cycle_Drive_50_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope,
+			"Truck_DriverStrategy_Drive_30_slope_dec.vmod", "24t Truck_Cycle_Drive_30_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod", "24t Truck_Cycle_Drive_80_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod", "24t Truck_Cycle_Drive_50_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod", "24t Truck_Cycle_Drive_30_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level,
+			"Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod", "24t Truck_Cycle_DecelerateWhileBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level,
+			"Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod", "24t Truck_Cycle_AccelerateWhileBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level,
+			"Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod", "24t Truck_Cycle_AccelerateAtBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level,
+			"Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod", "24t Truck_Cycle_AccelerateBeforeBrake_80_0_level.vmod"
+			),
+		TestCase(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level,
+			"Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod", "24t Truck_Cycle_Drive_stop_85_stop_85_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_SlopeChangeBeforeStop, "Truck_DriverStrategy_SlopeChangeBeforeStop.vmod", null
+			),
+		TestCase(SimpleDrivingCycles.CycleDriver_FrequentSlopChange, "Truck_DriverStrategy_SlopeChangeBeforeStop.vmod", null),
+		]
+		public void Truck_Special(string cycleData, string modFileName, string compareFileName = null)
 		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_60_20_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_80_0_uphill_3()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_3);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_80_0_uphill_3.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_uphill_3.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_uphill_3.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_80_0_SlopeChangeDuringCoast()
-		{
-			var data = new[] {
-				// <s>,<v>,<grad>,<stop>
-				"  0,  60, -1.15,     0",
-				" 70,  60, -1.85,     0",
-				"300,   0, -1.85,     2",
-			};
-
-			var cycle = SimpleDrivingCycles.CreateCycleData(data);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_80_0_SlopeChangeDuringCoast.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_80_0_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_80_0_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			//GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_uphill_5.vmod",
-			//	@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_80_0_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_80_0_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_downhill_5.vmod");
-		}
-
-//		[TestMethod, TestCategory("ComparisonV2"), TestCategory("LongRunning")]
-//		public void Decelerate_80_0_uphill_25()
-//		{
-//			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_25);
-//			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-//				"Truck_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod");
-
-//			run.Run();
-//			Assert.IsTrue(run.FinishedWithoutErrors);
-
-////			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod",
-////				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_steep_uphill_25.vmod");
-//		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_80_0_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_25);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_80_0_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_80_0_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-//			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod",
-//				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_steep_uphill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_80_0_downhill_15()
+			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
+			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, modFileName);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
+
+			GraphWriter.Write(modFileName,
+				compareFileName != null ? @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Truck\" + compareFileName : null);
+		}
+
+		[Category("ComparisonV2"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_80_slope_inc.vmod", "24t Truck_Cycle_Drive_80_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_50_slope_inc.vmod", "24t Truck_Cycle_Drive_50_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_30_slope_inc.vmod", "24t Truck_Cycle_Drive_30_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope,
+			"Truck_DriverStrategy_Drive_80_slope_dec.vmod", "24t Truck_Cycle_Drive_80_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope,
+			"Truck_DriverStrategy_Drive_50_slope_dec.vmod", "24t Truck_Cycle_Drive_50_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope,
+			"Truck_DriverStrategy_Drive_30_slope_dec.vmod", "24t Truck_Cycle_Drive_30_Decreasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod", "24t Truck_Cycle_Drive_80_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod", "24t Truck_Cycle_Drive_50_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope,
+			"Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod", "24t Truck_Cycle_Drive_30_Dec_Increasing_Slope.vmod"),
+		TestCase(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level,
+			"Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod", "24t Truck_Cycle_DecelerateWhileBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level,
+			"Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod", "24t Truck_Cycle_AccelerateWhileBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level,
+			"Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod", "24t Truck_Cycle_AccelerateAtBrake_80_0_level.vmod"),
+		TestCase(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level,
+			"Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod", "24t Truck_Cycle_AccelerateBeforeBrake_80_0_level.vmod"
+			),
+		TestCase(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level,
+			"Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod", "24t Truck_Cycle_Drive_stop_85_stop_85_level.vmod"),
+		]
+		public void Truck_Special_Overspeed(string cycleData, string modFileName, string compareFileName = null)
 		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_80_0_downhill_15.vmod");
+			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
+			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, modFileName, true);
 
 			run.Run();
 			Assert.IsTrue(run.FinishedWithoutErrors);
 
-			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_downhill_15.vmod");
+			GraphWriter.Write(modFileName,
+				compareFileName != null
+					? @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Truck_Overspeed\" + compareFileName
+					: null);
 		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_20_0_downhill_2()
-		{
-			var cycleData = new[] {
-				// <s>,<v>,<grad>,<stop>
-				"   0,  20, -1.8,  0",
-				"2052,  0,  -1.8,  2"
-			};
-			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Decelerate_20_0_downhill_2_RefLoad.vmod",
-				7500.SI<Kilogram>(), 12900.SI<Kilogram>());
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			//GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_15.vmod",
-			//	@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_20_0_downhill_2_RefLoad.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Decelerate_55_43_0_downhill_RefLoad()
-		{
-			var cycleData = new[] {
-				// <s>,<v>,<grad>,<stop>
-				"   0,  55.2, -0.6,  0",
-				" 500,  43.6, -0.6,  0",
-				" 510,  43.6, -0.3,  0",
-				" 623,   0, -0.2,  4"
-			};
-			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_Decelerate_55_43_0_downhill_RefLoad.vmod",
-				7500.SI<Kilogram>(), 12900.SI<Kilogram>());
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-		}
-
-		#endregion
-
-		#region Drive
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_80_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_80_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_80_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_80_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_80_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_20_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_20_downhill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_20_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_20_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_20_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_30_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_downhill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_30_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_50_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_downhill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_50_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_80_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_25);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-//			GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_25.vmod",
-//				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_80_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_80_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_80_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_10_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_10_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_10_uphill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_10_downhill_5()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_5.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_5.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_10_downhill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_25);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_10_uphill_25()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_25);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_25.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_25.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_25.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_10_downhill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_15.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_10_uphill_15()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_15);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_15.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_15.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_15.vmod");
-		}
-
-		#endregion
-
-		#region Slope
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_80_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_50_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_30_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_80_Decreasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_dec.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_dec.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_Decreasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_50_Decreasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_dec.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_dec.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_Decreasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_30_Decreasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_dec.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_dec.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_Decreasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_80_Dec_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_Dec_Increasing_Slope.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_50_Dec_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_Dec_Increasing_Slope.vmod");
-		}
-
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_30_Dec_Increasing_Slope()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_Dec_Increasing_Slope.vmod");
-		}
-
-		#endregion
-
-		#region Misc
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_DecelerateWhileBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_DecelerateWhileBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_AccelerateWhileBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateWhileBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_AccelerateAtBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateAtBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_AccelerateBeforeBrake_80_0_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateBeforeBrake_80_0_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Drive_stop_85_stop_85_level()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_stop_85_stop_85_level.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_48_52_beforeStop_lefel()
-		{
-			var data = new[] {
-				// <s>,<v>,<grad>,<stop>
-				"  0,  49.9, -5,     0",
-				"200,  52, -5,     0",
-				"300,   0, -5,     2",
-			};
-
-			var cycle = SimpleDrivingCycles.CreateCycleData(data);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_48_52_beforeStop_level.vmod",
-				7500.SI<Kilogram>(), 19000.SI<Kilogram>());
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			//GraphWriter.Write("Truck_DriverStrategy_Accelerate_48_52_beforeStop_level.vmod");
-		}
-
-		#endregion
-
-		#region AccelerateOverspeed
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_downhill_5_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_downhill_3_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_3);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_3.vmod");
-		}
-
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_85_downhill_1_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_1);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_1.vmod");
-		}
-
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_60_downhill_5_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_60_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_60_downhill_3_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_3);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_60_downhill_3.vmod");
-		}
-
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_60_downhill_1_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_1);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_60_downhill_1.vmod");
-		}
-
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_40_downhill_5_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_5);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_40_downhill_5.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_40_downhill_3_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_3);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_40_downhill_3.vmod");
-		}
-
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_0_40_downhill_1_overspeed()
-		{
-			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_1);
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod", true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-
-			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod",
-				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_40_downhill_1.vmod");
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_Accelerate_Decelerate_Downhill_overspeed()
-		{
-			var cycleData = new[] {
-				// <s>,<v>,<grad>,<stop>
-				"  0,  60,  0,     0",
-				" 10,  60, -6,     0",
-				"100,  55, -6,     0",
-				"300,  55, -6,     0"
-			};
-			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
-
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
-				"Truck_DriverStrategy_Accelerate_Decelerate-overspeed.vmod",
-				true);
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_SlopeChangeBeforeStop()
-		{
-			var cycleData = new[] {
-				// <s>,<v>,<grad>,<stop>
-				"  0,  60, -1.4,     0",
-				"298,  60, -1.7,     0",
-				"300,   0, -1.7,     4",
-			};
-			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
-
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_SlopeChangeBeforeStop.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-		}
-
-		[TestMethod, TestCategory("ComparisonV2")]
-		public void Truck_FrequentSlopeChanges()
-		{
-			var cycleData = new[] {
-				// <s>,<v>,<grad>,<stop>
-				"  0,  60,  0,     0",
-				" 10,  60, -6,     0",
-				"100,  55, -6,     0",
-				"300,  55, -6,     0"
-			};
-			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
-
-			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_SlopeChangeBeforeStop.vmod");
-
-			run.Run();
-			Assert.IsTrue(run.FinishedWithoutErrors);
-		}
-
-		#endregion
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Integration/SimpleDrivingCycles.cs b/VectoCore/VectoCoreTest/Integration/SimpleDrivingCycles.cs
index ce5e964c72..237eaffaeb 100644
--- a/VectoCore/VectoCoreTest/Integration/SimpleDrivingCycles.cs
+++ b/VectoCore/VectoCoreTest/Integration/SimpleDrivingCycles.cs
@@ -52,418 +52,6 @@ namespace TUGraz.VectoCore.Tests.Integration
 			return DrivingCycleDataReader.ReadFromStream(cycleData, CycleType.DistanceBased, "", false);
 		}
 
-		#region Accelerate
-
-		public static readonly string[] CycleAccelerate_20_60_Level = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  20, 0,     0",
-			" 100, 60, 0,     0",
-			"1000, 60, 0,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_20_60_uphilll_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  20, 5,     0",
-			" 100, 60, 5,     0",
-			"1000, 60, 5,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_20_60_downhill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  20, -5,     0",
-			" 100, 60, -5,     0",
-			"1000, 60, -5,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_20_60_uphill_25 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  20, 25,     0",
-			" 100, 60, 25,     0",
-			"1000, 60, 25,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_20_60_downhill_25 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  20, -25,     0",
-			" 100, 60, -25,     0",
-			"1000, 60, -25,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_20_60_uphill_15 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  20, 15,     0",
-			" 100, 60, 15,     0",
-			"1000, 60, 15,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_20_60_downhill_15 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  20, -15,     0",
-			" 100,  60, -15,     0",
-			"1000,  60, -15,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_level = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"1000, 85, 0,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_uphill_1 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  1,     2",
-			"1000, 85, 1,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_uphill_2 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  2,     2",
-			"1000, 85, 2,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_uphill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  5,     2",
-			"1000, 85, 5,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_downhill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"  0,  85, -5,    0",
-			"1000, 85, -5,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_downhill_3 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"  0,  85, -3,    0",
-			"1000, 85, -3,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_downhill_1 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"  0,  85, -1,    0",
-			"1000, 85, -1,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_60_downhill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"  0,  60, -5,    0",
-			"1000, 60, -5,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_60_downhill_3 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"  0,  60, -3,    0",
-			"1000, 60, -3,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_60_downhill_1 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"  0,  60, -1,    0",
-			"1000, 60, -1,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_40_downhill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"  0,  40, -5,    0",
-			"1000, 40, -5,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_40_downhill_3 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"  0,  40, -3,    0",
-			"1000, 40, -3,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_40_downhill_1 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"  0,  40, -1,    0",
-			"1000, 40, -1,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_uphill_25 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"  0,  85, 25,    0",
-			"1000, 85, 25,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_downhill_25 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  -25,     2",
-			"1000, 85, -25,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_uphill_10 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  10,     2",
-			"1000, 85, 10,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_0_85_downhill_15 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  -15,     2",
-			"1000, 85, -15,    0"
-		};
-
-		public static readonly string[] CycleAccelerate_stop_0_85_level = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  0,  0,     2",
-			"1000, 85, 0,     0"
-		};
-
-		public static readonly string[] CycleAccelerate_20_22_uphill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  20, 5,     0",
-			" 100, 22, 5,     0",
-			" 200, 22, 5,     0"
-		};
-
-		#endregion
-
-		#region Decelerate
-
-		public static readonly string[] CycleDecelerate_22_20_downhill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  22, -5,     0",
-			" 100, 20, -5,     0",
-			" 300, 20, -5,     0"
-		};
-
-		public static readonly string[] CycleDecelerate_60_20_level = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  60, 0,     0",
-			"1000, 20, 0,     0",
-			"1100, 20, 0,     0"
-		};
-
-		public static readonly string[] CycleDecelerate_45_0_level = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  45, 0,     0",
-			" 200,  0, 0,     2"
-		};
-
-		public static readonly string[] CycleDecelerate_45_0_uphill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  45, 5,     0",
-			" 200,  0, 5,     2"
-		};
-
-		public static readonly string[] CycleDecelerate_45_0_downhill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  45, -5,     0",
-			" 200,  0, -5,     2"
-		};
-
-		public static readonly string[] CycleDecelerate_60_20_uphill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  60, 5,     0",
-			"1000, 20, 5,     0",
-			"1100, 20, 5,     0"
-		};
-
-		public static readonly string[] CycleDecelerate_60_20_downhill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  60, -5,     0",
-			"1000, 20, -5,     0",
-			"1100, 20, -5,     0"
-		};
-
-		public static readonly string[] CycleDecelerate_60_20_uphill_25 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  60, 25,     0",
-			"1000, 20, 25,     0"
-		};
-
-		public static readonly string[] CycleDecelerate_60_20_downhill_25 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  60, -25,     0",
-			"1000, 20, -25,     0",
-			"1100, 20, -25,     0"
-		};
-
-		public static readonly string[] CycleDecelerate_60_20_uphill_15 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  60, 15,     0",
-			"1000, 20, 15,     0",
-			"1100, 20, 0,     0"
-		};
-
-		public static readonly string[] CycleDecelerate_60_20_downhill_15 = {
-			// <s>,<v>,<grad>,<stop>
-			"  0,  60, -15,     0",
-			" 800, 20, -15,     0",
-			"1000, 20, -15,     0"
-		};
-
-		public static readonly string[] CycleDecelerate_80_0_level = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 0,    0",
-			"1000,  0,  0,    2"
-//				"1000,  0,  5,    2",
-		};
-
-		public static readonly string[] CycleDecelerate_80_0_uphill_3 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 3,    0",
-			"1000,  0,  3,    2"
-//				"1000,  0,  5,    2",
-		};
-
-		public static readonly string[] CycleDecelerate_80_0_uphill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 5,    0",
-			"1000,  0,  5,    2"
-//				"1000,  0,  5,    2",
-		};
-
-		public static readonly string[] CycleDecelerate_80_0_downhill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, -5,    0",
-			" 500,  0,  -5,    2"
-		};
-
-		public static readonly string[] CycleDecelerate_80_0_uphill_25 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 25,    0",
-			" 500,  0,  25,    2"
-		};
-
-		public static readonly string[] CycleDecelerate_80_0_downhill_25 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, -25,  0",
-			"1000,  0,  -25,  2"
-		};
-
-		public static readonly string[] CycleDecelerate_80_0_uphill_15 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 15,    0",
-			"1000,  0,  15,    0"
-		};
-
-		public static readonly string[] CycleDecelerate_80_0_uphill_20 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 20,    0",
-			"1000,  0,  20,    0"
-		};
-
-		public static readonly string[] CycleDecelerate_80_0_downhill_15 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, -15,  0",
-			"1000,  0,  -15,  2"
-		};
-
-		#endregion
-
-		#region Drive
-
-		public static readonly string[] CycleDrive_80_level = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 0,    0",
-			"1000,  80, 0,    0"
-		};
-
-		public static readonly string[] CycleDrive_80_uphill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, 5,    0",
-			"1000,  80, 5,    0"
-		};
-
-		public static readonly string[] CycleDrive_80_downhill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  80, -5,    0",
-			" 1000, 80,  -5,   0"
-		};
-
-		public static readonly string[] CycleDrive_20_downhill_15 = {
-			// <s>, <v>, <grad>, <stop>
-			"   0,  20,  -15,    0",
-			" 500,  20,  -25,    0"
-		};
-
-		public static readonly string[] CycleDrive_30_downhill_15 = {
-			// <s>, <v>, <grad>, <stop>
-			"   0,  30,  -15,    0",
-			" 500,  30,  -15,    0"
-		};
-
-		public static readonly string[] CycleDrive_50_downhill_15 = {
-			// <s>, <v>, <grad>, <stop>
-			"   0,  50,  -15,    0",
-			" 500,  50,  -15,    0"
-		};
-
-		public static readonly string[] CycleDrive_80_uphill_25 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0, 80, 25,    0",
-			" 500, 80, 25,    0"
-		};
-
-		public static readonly string[] CycleDrive_80_downhill_15 = {
-			// <s>, <v>, <grad>, <stop>
-			"   0,  80,  -15,    0",
-			" 500,  80,  -15,    0"
-		};
-
-		public static readonly string[] CycleDrive_80_uphill_15 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0, 80, 15,    0",
-			" 500, 80, 15,    0"
-		};
-
-		public static readonly string[] CycleDrive_10_level = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  10, 0,    0",
-			"200,  10, 0,    0"
-		};
-
-		public static readonly string[] CycleDrive_10_uphill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  10, 5,    0",
-			"200,  10, 5,    0"
-		};
-
-		public static readonly string[] CycleDrive_10_downhill_5 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0,  10, -5,    0",
-			" 200, 10,  -5,   0"
-		};
-
-		public static readonly string[] CycleDrive_10_downhill_25 = {
-			// <s>, <v>, <grad>, <stop>
-			"   0,  10,  -25,    0",
-			" 200,  10,  -25,    0"
-		};
-
-		public static readonly string[] CycleDrive_10_uphill_25 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0, 10, 25,    0",
-			" 200, 10, 25,    0"
-		};
-
-		public static readonly string[] CycleDrive_10_downhill_15 = {
-			// <s>, <v>, <grad>, <stop>
-			"   0,  10,  -15,    0",
-			" 200,  10,  -15,    0"
-		};
-
-		public static readonly string[] CycleDrive_10_uphill_15 = {
-			// <s>,<v>,<grad>,<stop>
-			"   0, 10, 15,    0",
-			" 200, 10, 15,    0"
-		};
-
-		#endregion
-
 		#region Misc
 
 		public const string CycleDrive_80_Increasing_Slope =
@@ -672,6 +260,19 @@ namespace TUGraz.VectoCore.Tests.Integration
 			2000,   0, 0,     2
 			3000, 85, 0,     0";
 
+		public const string CycleDrive_SlopeChangeBeforeStop =
+			// <s>,<v>,<grad>,<stop>
+			@"  0,  60, -1.4,     0
+				298,  60, -1.7,     0
+			    300,   0, -1.7,     4";
+
+		public const string CycleDriver_FrequentSlopChange =
+			// <s>,<v>,<grad>,<stop>
+			@"  0,  60,  0,     0
+				 10,  60, -6,     0
+				100,  55, -6,     0
+				300,  55, -6,     0";
+
 		#endregion
 
 		public static DrivingCycleData ReadDeclarationCycle(string missionType)
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
index 158cc4ed99..a8d28b6820 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
@@ -29,12 +29,9 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using System;
 using System.Collections.Generic;
 using System.Data;
-using System.IO;
 using System.Linq;
-using System.Reflection;
 using NUnit.Framework;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
@@ -63,12 +60,6 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 
 		private const string TruckEngine = @"TestData\Components\40t_Long_Haul_Truck.veng";
 
-		[TestCase]
-		public static void ClassInitialize(TestContext ctx)
-		{
-			AppDomain.CurrentDomain.SetData("DataDirectory", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
-		}
-
 		[TestCase]
 		public void TestEngineHasOutPort()
 		{
-- 
GitLab