diff --git a/VectoCore/Models/Simulation/Data/ModalResult.cs b/VectoCore/Models/Simulation/Data/ModalResult.cs
index a45ce1996027e76b216379675fa3ae4e63fb4202..27d588e1043a9070b9f56058921de86812e093ff 100644
--- a/VectoCore/Models/Simulation/Data/ModalResult.cs
+++ b/VectoCore/Models/Simulation/Data/ModalResult.cs
@@ -271,6 +271,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 		///     [m]	Altitude
 		/// </summary>
 		[ModalResultField(typeof(SI))] altitude,
+
+		[ModalResultField(typeof(SI), name: "ds [m]")] simulationDistance
 	}
 
 
diff --git a/VectoCore/Models/Simulation/IVectoRun.cs b/VectoCore/Models/Simulation/IVectoRun.cs
index f14714fdbfade715cbec59989fc9d9e029c245ee..eb359549ab11b2e8e2be1c06d9b83e2e9933464b 100644
--- a/VectoCore/Models/Simulation/IVectoRun.cs
+++ b/VectoCore/Models/Simulation/IVectoRun.cs
@@ -17,5 +17,7 @@ namespace TUGraz.VectoCore.Models.Simulation
 		/// </summary>
 		/// <returns></returns>
 		IVehicleContainer GetContainer();
+
+		bool FinishedWithoutErrors { get; }
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/Simulation/Impl/DistanceRun.cs b/VectoCore/Models/Simulation/Impl/DistanceRun.cs
index a4b7695ac4b36ea1e9564bd3264561e834cfce40..73f33ef975d9eab24e2295f3e9c28139013e7e47 100644
--- a/VectoCore/Models/Simulation/Impl/DistanceRun.cs
+++ b/VectoCore/Models/Simulation/Impl/DistanceRun.cs
@@ -36,6 +36,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 						ds = r.MaxDistance;
 					}).
 					Case<ResponseCycleFinished>(r => {
+						FinishedWithoutErrors = true;
 						Log.Info("========= Driving Cycle Finished");
 					}).
 					Default(r => {
diff --git a/VectoCore/Models/Simulation/Impl/VectoRun.cs b/VectoCore/Models/Simulation/Impl/VectoRun.cs
index 29e3d8bf3c01076129951694f0d89ee026597056..d5e36a81aef7855843794827d864c248f6a29d84 100644
--- a/VectoCore/Models/Simulation/Impl/VectoRun.cs
+++ b/VectoCore/Models/Simulation/Impl/VectoRun.cs
@@ -23,6 +23,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 		//protected IModalDataWriter DataWriter { get; set; }
 		protected IVehicleContainer Container { get; set; }
 
+		public bool FinishedWithoutErrors { get; protected set; }
+
 		protected VectoRun(IVehicleContainer container)
 		{
 			Container = container;
@@ -50,14 +52,20 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 					}
 				} while (response is ResponseSuccess);
 			} catch (VectoSimulationException vse) {
+				Log.Error("SIMULATION RUN ABORTED! ========================");
+				Log.Error(vse);
 				Container.FinishSimulation();
 				throw new VectoSimulationException("{6} - absTime: {0}, distance: {1}, dt: {2}, v: {3}, Gear: {4} | {5}", vse,
 					AbsTime, Container.Distance, dt, Container.VehicleSpeed, Container.Gear, vse.Message, Name);
 			} catch (VectoException ve) {
+				Log.Error("SIMULATION RUN ABORTED! ========================");
+				Log.Error(ve);
 				Container.FinishSimulation();
 				throw new VectoSimulationException("{6} - absTime: {0}, distance: {1}, dt: {2}, v: {3}, Gear: {4} | {5}", ve,
 					AbsTime, Container.Distance, dt, Container.VehicleSpeed, Container.Gear, ve.Message, Name);
 			} catch (Exception e) {
+				Log.Error("SIMULATION RUN ABORTED! ========================");
+				Log.Error(e);
 				Container.FinishSimulation();
 				throw new VectoSimulationException("{6} - absTime: {0}, distance: {1}, dt: {2}, v: {3}, Gear: {4} | {5}", e, AbsTime,
 					Container.Distance, dt, Container.VehicleSpeed, Container.Gear, e.Message, Name);
diff --git a/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
index 20e33b17a8fc6d4d2b0c9c45001d6079fdcd27df..74b636d786f75a4f58b4c705bf0144679e642858 100644
--- a/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
@@ -17,6 +17,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 {
 	public class DefaultDriverStrategy : LoggingObject, IDriverStrategy
 	{
+		public static readonly SIBase<Meter> BrakingSafetyMargin = 0.1.SI<Meter>();
+
 		protected internal DrivingBehaviorEntry NextDrivingAction;
 
 		public enum DrivingMode
@@ -43,7 +45,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		public IResponse Request(Second absTime, Meter ds, MeterPerSecond targetVelocity, Radian gradient)
 		{
 			if (CurrentDrivingMode == DrivingMode.DrivingModeBrake) {
-				if (Driver.DataBus.Distance.IsGreaterOrEqual(BrakeTrigger.TriggerDistance)) {
+				if (Driver.DataBus.Distance.IsGreaterOrEqual(BrakeTrigger.TriggerDistance, 1e-3.SI<Meter>())) {
 					CurrentDrivingMode = DrivingMode.DrivingModeDrive;
 					NextDrivingAction = null;
 					DrivingModes[CurrentDrivingMode].ResetMode();
@@ -107,7 +109,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 							NextDrivingAction.ActionDistance = NextDrivingAction.TriggerDistance - coastingDistance;
 							break;
 						case DrivingBehavior.Braking:
-							var brakingDistance = Driver.ComputeDecelerationDistance(NextDrivingAction.NextTargetSpeed);
+							var brakingDistance = Driver.ComputeDecelerationDistance(NextDrivingAction.NextTargetSpeed) + BrakingSafetyMargin;
 							NextDrivingAction.ActionDistance = NextDrivingAction.TriggerDistance - brakingDistance;
 							break;
 						default:
@@ -155,7 +157,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				if (nextTargetSpeed < currentSpeed) {
 					if (!Driver.DriverData.LookAheadCoasting.Enabled ||
 						currentSpeed < Driver.DriverData.LookAheadCoasting.MinSpeed) {
-						var brakingDistance = Driver.ComputeDecelerationDistance(nextTargetSpeed);
+						var brakingDistance = Driver.ComputeDecelerationDistance(nextTargetSpeed) + BrakingSafetyMargin;
 						Log.Debug("adding 'Braking' starting at distance {0}. brakingDistance: {1}, triggerDistance: {2}",
 							entry.Distance - brakingDistance, brakingDistance, entry.Distance);
 						nextActions.Add(new DrivingBehaviorEntry {
@@ -381,7 +383,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				default:
 					return response;
 			}
-			return null;
+			return response;
 		}
 
 		public override void ResetMode() {}
@@ -433,7 +435,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			var currentDistance = DataBus.Distance;
 
 			if (Phase == BrakingPhase.Coast) {
-				var brakingDistance = Driver.ComputeDecelerationDistance(DriverStrategy.BrakeTrigger.NextTargetSpeed);
+				var brakingDistance = Driver.ComputeDecelerationDistance(DriverStrategy.BrakeTrigger.NextTargetSpeed) +
+									DefaultDriverStrategy.BrakingSafetyMargin;
 				Log.Debug("breaking distance: {0}, start braking @ {1}", brakingDistance,
 					DriverStrategy.BrakeTrigger.TriggerDistance - brakingDistance);
 				if (currentDistance + Constants.SimulationSettings.DriverActionDistanceTolerance >
@@ -485,7 +488,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 						});
 					break;
 				case BrakingPhase.Brake:
-					var brakingDistance = Driver.ComputeDecelerationDistance(DriverStrategy.BrakeTrigger.NextTargetSpeed);
+					var brakingDistance = Driver.ComputeDecelerationDistance(DriverStrategy.BrakeTrigger.NextTargetSpeed) +
+										DefaultDriverStrategy.BrakingSafetyMargin;
 					Log.Debug("Phase: BRAKE. breaking distance: {0} start braking @ {1}", brakingDistance,
 						DriverStrategy.BrakeTrigger.TriggerDistance - brakingDistance);
 					if (DriverStrategy.BrakeTrigger.TriggerDistance - brakingDistance < currentDistance) {
@@ -533,7 +537,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				default:
 					return response;
 			}
-			return null;
+			return response;
 		}
 
 		public override void ResetMode()
diff --git a/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
index b1554fa8135906028c5d0fea7dde6ce4909e09ee..f3c72f5885d174e51d0281025f29affdeee05ff4 100644
--- a/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
@@ -148,6 +148,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			}
 
 			CurrentState.Distance = PreviousState.Distance + ds;
+			CurrentState.SimulationDistance = ds;
 			CurrentState.VehicleTargetSpeed = CycleIntervalIterator.LeftSample.VehicleTargetSpeed;
 			CurrentState.Gradient = ComputeGradient(ds);
 
@@ -240,6 +241,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		protected override void DoWriteModalResults(IModalDataWriter writer)
 		{
 			writer[ModalResultField.dist] = CurrentState.Distance;
+			writer[ModalResultField.simulationDistance] = CurrentState.SimulationDistance;
 			writer[ModalResultField.v_targ] = CurrentState.VehicleTargetSpeed;
 			writer[ModalResultField.grad] = (Math.Tan(CurrentState.Gradient.Value()) * 100).SI<Scalar>();
 			writer[ModalResultField.altitude] = CurrentState.Altitude;
@@ -413,6 +415,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			public IResponse Response;
 
 			public bool RequestToNextSamplePointDone = false;
+
+			public Meter SimulationDistance;
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/SimulationComponent/Impl/Driver.cs b/VectoCore/Models/SimulationComponent/Impl/Driver.cs
index eb8118aa528a33ab89c464b74ca2c703cb7a997c..876fb230162dac44e5493b5a81081900829eba9d 100644
--- a/VectoCore/Models/SimulationComponent/Impl/Driver.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/Driver.cs
@@ -492,7 +492,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			// braking power is in the range of the exceeding delta. set searching range to 2/3 so that 
 			// the target point is approximately in the center of the second interval
 			var searchInterval = origDelta.Abs() * 2 / 3;
-			
+
 			debug.Add(new { brakePower = 0.SI<Watt>(), searchInterval, delta = origDelta, operatingPoint });
 
 			var brakePower = searchInterval * -origDelta.Sign();
@@ -728,9 +728,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 					retVal.SimulationInterval = ds / currentSpeed;
 					return retVal;
 				}
-				Log.Error("vehicle speed is {0}, acceleration is {1}", currentSpeed, acceleration);
+				Log.Error("vehicle speed is {0}, acceleration is {1}", currentSpeed.Value(), acceleration.Value());
 				throw new VectoSimulationException(
-					"vehicle speed has to be > 0 if acceleration = 0!  v: {0}", currentSpeed);
+					"vehicle speed has to be > 0 if acceleration = 0!  v: {0}, a: {1}", currentSpeed.Value(), acceleration.Value());
 			}
 
 			// we need to accelerate / decelerate. solve quadratic equation...
@@ -777,7 +777,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		public IResponse DrivingActionHalt(Second absTime, Second dt, MeterPerSecond targetVelocity, Radian gradient)
 		{
 			if (!targetVelocity.IsEqual(0) || !DataBus.VehicleSpeed.IsEqual(0, 1e-3)) {
-				throw new NotImplementedException("TargetVelocity or VehicleVelocity is not zero!");
+				throw new NotImplementedException(string.Format(
+					"TargetVelocity or VehicleVelocity is not zero! v: {0} target: {1}", DataBus.VehicleSpeed.Value(),
+					targetVelocity.Value()));
 			}
 			DataBus.BreakPower = Double.PositiveInfinity.SI<Watt>();
 			var retVal = NextComponent.Request(absTime, dt, 0.SI<MeterPerSquareSecond>(), gradient);
diff --git a/VectoCore/Utils/Formulas.cs b/VectoCore/Utils/Formulas.cs
index 92236f2ea3e7990c5ef3ef66d4b9be23e96478c7..1067468cf298ebd1b4d7a07331961d77eb57f35d 100644
--- a/VectoCore/Utils/Formulas.cs
+++ b/VectoCore/Utils/Formulas.cs
@@ -24,10 +24,10 @@ namespace TUGraz.VectoCore.Utils
 			MeterPerSquareSecond deceleration)
 		{
 			if (deceleration >= 0) {
-				throw new VectoException("Deceleration must be negative!");
+				throw new VectoException("Deceleration must be negative! a: {0}", deceleration);
 			}
 			if (v2 > v1) {
-				throw new VectoException("v2 must not be greater than v1");
+				throw new VectoException("v2 must not be greater than v1 v1: {0} v2: {1}", v1.Value(), v2.Value());
 			}
 
 			return ((v2 - v1) * (v1 + v2) / deceleration / 2.0).Cast<Meter>();
diff --git a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
index accc9d10f91885d66a8218d6f3a689c27393ba3c..a13f1fbb0a082de7223527612237621384fa11ea 100644
--- a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
+++ b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
@@ -10,7 +10,7 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		[TestInitialize]
 		public void DisableLogging()
 		{
-			LogManager.DisableLogging();
+			//LogManager.DisableLogging();
 			//GraphWriter.Disable();
 		}
 
@@ -41,7 +41,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_20_60_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_Level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_level.vmod");
@@ -51,7 +54,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_20_60_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphilll_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_uphill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_uphill_5.vmod");
@@ -62,7 +68,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_20_60_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_downhill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_downhill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_downhill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_downhill_5.vmod");
@@ -73,7 +82,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_20_60_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_uphill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_uphill_25.vmod");
@@ -83,7 +95,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_20_60_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_downhill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_downhill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_downhill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_downhill_25.vmod");
@@ -93,7 +108,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_20_60_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_uphill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_uphill_15.vmod");
@@ -103,7 +121,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_20_60_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_downhill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_downhill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_downhill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_downhill_15.vmod");
@@ -113,7 +134,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_level.vmod");
@@ -123,7 +147,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_uphill_1()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_1);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_1.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_1.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_1.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_1.vmod");
@@ -133,7 +160,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_uphill_2()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_2);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_2.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_2.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_2.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_2.vmod");
@@ -143,7 +173,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_5.vmod");
@@ -153,7 +186,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_downhill_5.vmod");
@@ -163,7 +199,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_25.vmod");
@@ -173,7 +212,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_downhill_25.vmod");
@@ -183,7 +225,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_uphill_10()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_10);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_10.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_10.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_10.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_10.vmod");
@@ -193,7 +238,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_downhill_15.vmod");
@@ -203,7 +251,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_stop_0_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_stop_0_85_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_stop_0_85_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_stop_0_85_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_stop_0_85_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_stop_0_85_level.vmod");
@@ -214,7 +265,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_20_22_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_22_uphill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_22_uphill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_22_uphill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_22_uphill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_22_uphill_5.vmod");
@@ -228,7 +282,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_22_20_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_22_20_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_22_20_downhill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_22_20_downhill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_22_20_downhill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_22_20_downhill_5.vmod");
@@ -238,7 +295,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_60_20_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_level.vmod");
@@ -248,7 +308,7 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_45_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_level.vmod");
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_45_0_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_45_0_level.vmod");
@@ -258,7 +318,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_45_0_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_uphill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_uphill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_uphill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_45_0_uphill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_45_0_uphill_5.vmod");
@@ -268,7 +331,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_45_0_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_downhill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_downhill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_45_0_downhill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_45_0_downhill_5.vmod");
@@ -278,7 +344,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_60_20_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_uphill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_uphill_5.vmod");
@@ -288,7 +357,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_60_20_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_downhill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_downhill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_downhill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_downhill_5.vmod");
@@ -298,7 +370,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Decelerate_60_20_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_uphill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_uphill_25.vmod");
@@ -308,7 +383,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_60_20_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_downhill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_downhill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_downhill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_downhill_25.vmod");
@@ -318,7 +396,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Decelerate_60_20_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_uphill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_uphill_15.vmod");
@@ -328,7 +409,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_60_20_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_downhill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_downhill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_downhill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_downhill_15.vmod");
@@ -338,7 +422,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_level.vmod");
@@ -348,7 +435,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_80_0_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_uphill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_uphill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_uphill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_uphill_5.vmod");
@@ -358,7 +448,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_80_0_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_downhill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_downhill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_downhill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_downhill_5.vmod");
@@ -368,7 +461,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Decelerate_80_0_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_steep_uphill_25.vmod");
@@ -378,7 +474,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_80_0_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_downhill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_downhill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_downhill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_downhill_25.vmod");
@@ -388,7 +487,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_80_0_uphill_3()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_3);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_uphill_3.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_uphill_3.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_uphill_3.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_uphill_3.vmod");
@@ -398,7 +500,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Decelerate_80_0_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_steep_uphill_15.vmod");
@@ -408,7 +513,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Decelerate_80_0_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_downhill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_downhill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_downhill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_downhill_15.vmod");
@@ -422,7 +530,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_80_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_80_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_level.vmod");
@@ -432,7 +543,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_80_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_80_uphill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_uphill_5.vmod");
@@ -442,7 +556,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_80_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_downhill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_downhill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_80_downhill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_downhill_5.vmod");
@@ -452,7 +569,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_20_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_20_downhill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_20_downhill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_20_downhill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_20_downhill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_20_downhill_15.vmod");
@@ -462,7 +582,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_30_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_downhill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_downhill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_downhill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_30_downhill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_downhill_15.vmod");
@@ -472,7 +595,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_50_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_downhill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_downhill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_downhill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_50_downhill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_downhill_15.vmod");
@@ -482,7 +608,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_80_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_80_uphill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_uphill_25.vmod");
@@ -492,7 +621,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_80_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_downhill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_downhill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_80_downhill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_downhill_15.vmod");
@@ -502,7 +634,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_80_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_80_uphill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_uphill_15.vmod");
@@ -512,7 +647,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_10_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_10_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_level.vmod");
@@ -526,7 +664,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 				"   0,  10, 5,    0",
 				"800,  10, 5,    0",
 			});
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_10_uphill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_uphill_5.vmod");
@@ -536,7 +677,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_10_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_5.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_5.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_10_downhill_5.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_downhill_5.vmod");
@@ -546,7 +690,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_10_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_10_downhill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_downhill_25.vmod");
@@ -556,7 +703,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_10_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_25);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_25.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_25.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_10_uphill_25.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_uphill_25.vmod");
@@ -566,7 +716,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_10_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_10_downhill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_downhill_15.vmod");
@@ -576,7 +729,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_10_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_15);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_15.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_15.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_10_uphill_15.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_uphill_15.vmod");
@@ -590,7 +746,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_80_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_inc.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_inc.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_80_slope_inc.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_Increasing_Slope.vmod");
@@ -600,7 +759,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_50_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_inc.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_inc.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_inc.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Increasing_Slope.vmod");
@@ -610,7 +772,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_30_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_inc.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_inc.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_30_slope_inc.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_Increasing_Slope.vmod");
@@ -620,7 +785,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_80_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_dec.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_dec.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_80_slope_dec.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_Decreasing_Slope.vmod");
@@ -630,7 +798,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_50_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_dec.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_dec.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_dec.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Decreasing_Slope.vmod");
@@ -640,7 +811,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_30_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_dec.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_dec.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_30_slope_dec.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_Decreasing_Slope.vmod");
@@ -650,7 +824,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_80_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_dec-inc.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_dec-inc.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_80_slope_dec-inc.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_Dec_Increasing_Slope.vmod");
@@ -660,7 +837,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_50_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Dec_Increasing_Slope.vmod");
@@ -671,7 +851,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_30_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_dec-inc.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_dec-inc.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_30_slope_dec-inc.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_Dec_Increasing_Slope.vmod");
@@ -685,7 +868,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_DecelerateWhileBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_DecelerateWhileBrake_80_0_level.vmod");
@@ -695,7 +881,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_AccelerateWhileBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_AccelerateWhileBrake_80_0_level.vmod");
@@ -705,7 +894,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_AccelerateAtBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_AccelerateAtBrake_80_0_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_AccelerateAtBrake_80_0_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_AccelerateAtBrake_80_0_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_AccelerateAtBrake_80_0_level.vmod");
@@ -715,7 +907,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_AccelerateBeforeBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_AccelerateBeforeBrake_80_0_level.vmod");
@@ -725,7 +920,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Drive_stop_85_stop_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_stop_85_stop_85_level.vmod").Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_stop_85_stop_85_level.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Drive_stop_85_stop_85_level.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_stop_85_stop_85_level.vmod");
@@ -739,8 +937,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_downhill_5_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod", true)
-				.Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
+				"Coach_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod", true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_85_downhill_5.vmod");
@@ -750,8 +951,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_downhill_3_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_3);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod", true)
-				.Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
+				"Coach_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod", true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_85_downhill_3.vmod");
@@ -762,8 +966,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_85_downhill_1_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_1);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod", true)
-				.Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
+				"Coach_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod", true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_85_downhill_1.vmod");
@@ -774,8 +981,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_60_downhill_5_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod", true)
-				.Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
+				"Coach_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod", true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_60_downhill_5.vmod");
@@ -785,8 +995,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_60_downhill_3_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_3);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod", true)
-				.Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
+				"Coach_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod", true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_60_downhill_3.vmod");
@@ -797,8 +1010,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_60_downhill_1_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_1);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod", true)
-				.Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
+				"Coach_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod", true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_60_downhill_1.vmod");
@@ -809,8 +1025,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_40_downhill_5_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_5);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod", true)
-				.Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
+				"Coach_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod", true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_40_downhill_5.vmod");
@@ -820,8 +1039,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_40_downhill_3_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_3);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod", true)
-				.Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
+				"Coach_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod", true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_40_downhill_3.vmod");
@@ -832,8 +1054,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Coach_Accelerate_0_40_downhill_1_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_1);
-			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod", true)
-				.Run();
+			var run = CoachPowerTrain.CreateEngineeringRun(cycle,
+				"Coach_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod", true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 
 			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod",
 				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_40_downhill_1.vmod");
diff --git a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
index 4c96b6609cc2980082a02407c5b6fa03f16d91ed..486b6bc459991a179bcf9d70ced441cc181f766c 100644
--- a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
+++ b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
@@ -21,7 +21,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_20_60_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_Level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_level.vmod").Run();
+			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");
@@ -31,7 +34,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_20_60_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphilll_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_uphill_5.vmod").Run();
+			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");
@@ -42,7 +48,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_20_60_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_downhill_5.vmod").Run();
+			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");
@@ -53,7 +62,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_20_60_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_uphill_25.vmod").Run();
+			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");
@@ -63,7 +75,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_20_60_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_downhill_25.vmod").Run();
+			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");
@@ -73,7 +88,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_20_60_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_uphill_15.vmod").Run();
+			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");
@@ -83,7 +101,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_20_60_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_downhill_15.vmod").Run();
+			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");
@@ -93,7 +114,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_level.vmod").Run();
+			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");
@@ -103,7 +127,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_uphill_1()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_1);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_1.vmod").Run();
+			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");
@@ -113,7 +140,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_uphill_2()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_2);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_2.vmod").Run();
+			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");
@@ -123,7 +153,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_5.vmod").Run();
+			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");
@@ -143,7 +176,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_25.vmod").Run();
+			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");
@@ -153,7 +189,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_25.vmod").Run();
+			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");
@@ -163,7 +202,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_uphill_10()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_10);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_10.vmod").Run();
+			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");
@@ -173,7 +215,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_15.vmod").Run();
+			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");
@@ -183,7 +228,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_stop_0_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_stop_0_85_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_stop_0_85_level.vmod").Run();
+			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");
@@ -194,7 +242,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_20_22_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_22_uphill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_22_uphill_5.vmod").Run();
+			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");
@@ -208,7 +259,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_22_20_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_22_20_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_22_20_downhill_5.vmod").Run();
+			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");
@@ -218,7 +272,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_60_20_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_level.vmod").Run();
+			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");
@@ -228,7 +285,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_45_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_level.vmod").Run();
+			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");
@@ -238,7 +298,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_45_0_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_uphill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_uphill_5.vmod").Run();
+			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");
@@ -248,7 +311,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_45_0_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_downhill_5.vmod").Run();
+			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");
@@ -258,7 +324,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_60_20_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_uphill_5.vmod").Run();
+			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");
@@ -268,7 +337,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_60_20_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_downhill_5.vmod").Run();
+			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");
@@ -278,7 +350,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Decelerate_60_20_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_uphill_25.vmod").Run();
+			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");
@@ -288,7 +363,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_60_20_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_downhill_25.vmod").Run();
+			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");
@@ -298,7 +376,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Decelerate_60_20_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_uphill_15.vmod").Run();
+			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");
@@ -308,7 +389,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_60_20_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_downhill_15.vmod").Run();
+			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");
@@ -318,7 +402,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_level.vmod").Run();
+			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");
@@ -328,7 +415,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_80_0_uphill_3()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_3);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_uphill_3.vmod").Run();
+			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");
@@ -345,15 +435,21 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 			};
 
 			var cycle = SimpleDrivingCycles.CreateCycleData(data);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_SlopeChangeDuringCoast.vmod")
-				.Run();
+			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
+				"Truck_DriverStrategy_Decelerate_80_0_SlopeChangeDuringCoast.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 		}
 
 		[TestMethod, Ignore]
 		public void Truck_Decelerate_80_0_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_uphill_5.vmod").Run();
+			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");
@@ -363,7 +459,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_80_0_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_downhill_5.vmod").Run();
+			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");
@@ -373,7 +472,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Decelerate_80_0_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod").Run();
+			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");
@@ -383,7 +485,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_80_0_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_downhill_25.vmod").Run();
+			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");
@@ -393,7 +498,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Decelerate_80_0_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod").Run();
+			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");
@@ -403,12 +511,35 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Decelerate_80_0_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_downhill_15.vmod").Run();
+			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_downhill_15.vmod");
+
+			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");
 		}
 
+		[TestMethod]
+		public void Truck_Decelerate_20_0_downhill_2()
+		{
+			var cycleData = new string[] {
+				// <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");
+		}
+
 		#endregion
 
 		#region Drive
@@ -417,7 +548,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_80_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_level.vmod").Run();
+			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");
@@ -427,7 +561,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_80_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_5.vmod").Run();
+			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");
@@ -437,7 +574,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_80_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_downhill_5.vmod").Run();
+			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");
@@ -447,7 +587,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_20_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_20_downhill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_20_downhill_15.vmod").Run();
+			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");
@@ -457,7 +600,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_30_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_downhill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_downhill_15.vmod").Run();
+			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");
@@ -467,7 +613,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_50_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_downhill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_downhill_15.vmod").Run();
+			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");
@@ -477,7 +626,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_80_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_25.vmod").Run();
+			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");
@@ -487,7 +639,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_80_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_downhill_15.vmod").Run();
+			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");
@@ -497,7 +652,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_80_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_15.vmod").Run();
+			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");
@@ -507,7 +665,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_10_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_level.vmod").Run();
+			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");
@@ -517,7 +678,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_10_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_5.vmod").Run();
+			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");
@@ -527,7 +691,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_10_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_5.vmod").Run();
+			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");
@@ -537,7 +704,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_10_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_25.vmod").Run();
+			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");
@@ -547,7 +717,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_10_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_25);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_25.vmod").Run();
+			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");
@@ -557,7 +730,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_10_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_15.vmod").Run();
+			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");
@@ -567,7 +743,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_10_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_15);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_15.vmod").Run();
+			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");
@@ -581,7 +760,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_80_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_inc.vmod").Run();
+			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");
@@ -591,7 +773,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_50_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_inc.vmod").Run();
+			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");
@@ -601,7 +786,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_30_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_inc.vmod").Run();
+			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");
@@ -611,7 +799,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_80_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_dec.vmod").Run();
+			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");
@@ -621,7 +812,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_50_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_dec.vmod").Run();
+			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");
@@ -631,7 +825,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_30_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_dec.vmod").Run();
+			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");
@@ -641,7 +838,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_80_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod").Run();
+			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");
@@ -651,7 +851,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_50_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod").Run();
+			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");
@@ -662,7 +865,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_30_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod").Run();
+			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");
@@ -676,7 +882,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_DecelerateWhileBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod").Run();
+			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");
@@ -686,7 +895,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_AccelerateWhileBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod").Run();
+			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");
@@ -696,7 +908,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_AccelerateAtBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod").Run();
+			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");
@@ -706,7 +921,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_AccelerateBeforeBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod").Run();
+			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");
@@ -716,7 +934,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Drive_stop_85_stop_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod").Run();
+			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");
@@ -733,8 +954,12 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 			};
 
 			var cycle = SimpleDrivingCycles.CreateCycleData(data);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_48_52_beforeStop_level.vmod",
-				7500.SI<Kilogram>(), 19000.SI<Kilogram>()).Run();
+			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");
 		}
@@ -747,8 +972,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_downhill_5_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod", true)
-				.Run();
+			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");
@@ -758,8 +986,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_downhill_3_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_3);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod", true)
-				.Run();
+			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");
@@ -770,8 +1001,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_85_downhill_1_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_1);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod", true)
-				.Run();
+			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");
@@ -782,8 +1016,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_60_downhill_5_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod", true)
-				.Run();
+			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");
@@ -793,8 +1030,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_60_downhill_3_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_3);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod", true)
-				.Run();
+			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");
@@ -805,8 +1045,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_60_downhill_1_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_1);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod", true)
-				.Run();
+			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");
@@ -817,8 +1060,8 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_40_downhill_5_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_5);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod", true)
-				.Run();
+			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle,
+				"Truck_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod", true);
 
 			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");
@@ -828,8 +1071,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_40_downhill_3_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_3);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod", true)
-				.Run();
+			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");
@@ -840,8 +1086,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void Truck_Accelerate_0_40_downhill_1_overspeed()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_1);
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod", true)
-				.Run();
+			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");
@@ -859,8 +1108,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 			};
 			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
 
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_Decelerate-overspeed.vmod", true)
-				.Run();
+			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_Decelerate-overspeed.vmod",
+				true);
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 		}
 
 		[TestMethod]
@@ -874,8 +1126,10 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 			};
 			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
 
-			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_SlopeChangeBeforeStop.vmod")
-				.Run();
+			var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_SlopeChangeBeforeStop.vmod");
+
+			run.Run();
+			Assert.IsTrue(run.FinishedWithoutErrors);
 		}
 
 		[TestMethod]
diff --git a/VectoCoreTest/Integration/FullCycleDeclarationTest.cs b/VectoCoreTest/Integration/FullCycleDeclarationTest.cs
index 654f193d225713abefb6dd80198f22906d01a9a0..9039d8c8fd392ac9e0d132914fb73a3138c89302 100644
--- a/VectoCoreTest/Integration/FullCycleDeclarationTest.cs
+++ b/VectoCoreTest/Integration/FullCycleDeclarationTest.cs
@@ -16,7 +16,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 		[TestMethod]
 		public void Truck40tDeclarationTest()
 		{
-			//LogManager.DisableLogging();
+			LogManager.DisableLogging();
 
 			var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, TruckDeclarationJob);
 			var sumFileName = Path.GetFileNameWithoutExtension(TruckDeclarationJob) + Constants.FileExtensions.SumFile;
@@ -26,6 +26,10 @@ namespace TUGraz.VectoCore.Tests.Integration
 			jobContainer.AddRuns(factory);
 
 			jobContainer.Execute();
+
+			foreach (var run in jobContainer._runs) {
+				Assert.IsTrue(run.FinishedWithoutErrors);
+			}
 		}
 	}
 }
\ No newline at end of file