From 326acc30610b24dbe9d6c05648f90e34f643cd47 Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Wed, 9 Sep 2015 12:04:05 +0200
Subject: [PATCH] added many driving situation tests

---
 .../DriverStrategy/DriverStrategyTest.cs      | 241 ++++++++++++++++--
 VectoCoreTest/Models/Simulation/AuxTests.cs   |   7 +-
 2 files changed, 220 insertions(+), 28 deletions(-)

diff --git a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTest.cs b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTest.cs
index e165acea73..f7e6b1d3c9 100644
--- a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTest.cs
+++ b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTest.cs
@@ -28,6 +28,62 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public const string GearboxShiftPolygonFile = @"TestData\Components\ShiftPolygons.vgbs";
 		public const string GearboxFullLoadCurveFile = @"TestData\Components\Gearbox.vfld";
 
+		#region Accelerate
+
+		[TestMethod]
+		public void Accelerate_20_60_level()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  20, 0,     0",
+				"1000, 60, 0,     0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_20_60_level.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Accelerate_20_60_uphill_5()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  20, 5,     0",
+				"1000, 60, 5,     0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_20_60_uphill_5.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Accelerate_20_60_downhill_5()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  20, -5,     0",
+				"1000, 60, -5,     0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_20_60_downhill_5.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Accelerate_20_60_uphill_25()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  20, 25,     0",
+				"1000, 60, 25,     0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_20_60_uphill_25.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Accelerate_20_60_downhill_25()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  20, -25,     0",
+				"1000, 60, -25,     0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_20_60_downhill_25.vmod").Run();
+		}
 
 		[TestMethod]
 		public void Accelerate_0_85_level()
@@ -42,7 +98,7 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill()
+		public void Accelerate_0_85_uphill_5()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
@@ -50,11 +106,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 				"  0,  85, 5,     0",
 				"1000, 85, 5,     0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_0_85_uphill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_0_85_uphill_5.vmod").Run();
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_downhill()
+		public void Accelerate_0_85_downhill_5()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
@@ -62,12 +118,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 				"  0,  85, -5,    0",
 				"1000, 85, -5,    0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_0_85_downhill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_0_85_downhill_5.vmod").Run();
 		}
 
-
 		[TestMethod]
-		public void Accelerate_0_85_steep_uphill()
+		public void Accelerate_0_85_uphill_25()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
@@ -75,11 +130,11 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 				"  0,  85, 25,    0",
 				"1000, 85, 25,    0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_0_85_steep_uphill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_0_85_uphill_25.vmod").Run();
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_steep_downhill()
+		public void Accelerate_0_85_downhill_25()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
@@ -87,7 +142,7 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 				"  0,  85, -25,    0",
 				"1000, 85, -25,    0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_0_85_steep_downhill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_0_85_downhill_25.vmod").Run();
 		}
 
 		[TestMethod]
@@ -102,6 +157,76 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_stop_0_85_level.vmod").Run();
 		}
 
+		[TestMethod]
+		public void Accelerate_85_0_level_stop()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  85, 0,     0",
+				"1000, 85, 0,     0",
+				"  0,  0,  0,     2",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Accelerate_85_0_level_stop.vmod").Run();
+		}
+
+		#endregion
+
+		#region Decelerate
+
+		[TestMethod]
+		public void Decelerate_60_20_level()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  60, 0,     0",
+				"1000, 20, 0,     0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_60_20_level.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Decelerate_60_20_uphill_5()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  60, 5,     0",
+				"1000, 20, 5,     0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_60_20_uphill_5.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Decelerate_60_20_downhill_5()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  60, -5,     0",
+				"1000, 20, -5,     0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_60_20_downhill_5.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Decelerate_60_20_uphill_25()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  60, 25,     0",
+				"1000, 20, 25,     0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_60_20_uphill_25.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Decelerate_60_20_downhill_25()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"  0,  60, -25,     0",
+				"1000, 20, -25,     0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_60_20_downhill_25.vmod").Run();
+		}
 
 		[TestMethod]
 		public void Decelerate_80_0_level()
@@ -115,49 +240,52 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_uphill()
+		public void Decelerate_80_0_uphill_5()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
 				"   0,  80, 5,    0",
 				"1000,  0,  5,    0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_80_0_uphill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_80_0_uphill_5.vmod").Run();
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_downhill()
+		public void Decelerate_80_0_downhill_5()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
 				"   0,  80, -5,    0",
 				" 500,  0,  -5,    0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_80_0_downhill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_80_0_downhill_5.vmod").Run();
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_steep_uphill()
+		public void Decelerate_80_0_uphill_25()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
 				"   0,  80, 25,    0",
 				"1000,  0,  25,    0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_80_0_steep_uphill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod").Run();
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_steep_downhill()
+		public void Decelerate_80_0_downhill_25()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
 				"   0,  80, -25,  0",
 				"1000,  0,  -25,  0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_80_0_steep_downhill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Decelerate_80_0_downhill_25.vmod").Run();
 		}
 
+		#endregion
+
+		#region Drive
 
 		[TestMethod]
 		public void Drive_80_level()
@@ -171,49 +299,106 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		}
 
 		[TestMethod]
-		public void Drive_80_uphill()
+		public void Drive_80_uphill_5()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
 				"   0,  80, 5,    0",
 				"1000,  80, 5,    0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Drive_80_uphill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Drive_80_uphill_5.vmod").Run();
 		}
 
 		[TestMethod]
-		public void Drive_80_downhill()
+		public void Drive_80_downhill_5()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
 				"   0,  80, -5,    0",
 				" 1000, 80,  -5,   0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Drive_80_downhill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Drive_80_downhill_5.vmod").Run();
 		}
 
 		[TestMethod]
-		public void Drive_80_steep_downhill()
+		public void Drive_80_downhill_25()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>, <v>, <grad>, <stop>
 				"   0,  80,  -25,    0",
 				" 500,  80,  -25,    0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Drive_80_steep_downhill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Drive_80_downhill_25.vmod").Run();
 		}
 
 		[TestMethod]
-		public void Drive_80_steep_uphill()
+		public void Drive_80_uphill_25()
 		{
 			var cycle = CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
 				"   0, 80, 25,    0",
 				" 500, 80, 25,    0",
 			});
-			CreatePowerTrain(cycle, "DriverStrategy_Drive_80_steep_uphill.vmod").Run();
+			CreatePowerTrain(cycle, "DriverStrategy_Drive_80_uphill_25.vmod").Run();
 		}
 
+		[TestMethod]
+		public void Drive_10_level()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"   0,  10, 0,    0",
+				"1000,  10, 0,    0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Drive_10_level.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Drive_10_uphill_5()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"   0,  10, 5,    0",
+				"1000,  10, 5,    0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Drive_10_uphill_5.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Drive_10_downhill_5()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"   0,  10, -5,    0",
+				" 1000, 10,  -5,   0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Drive_10_downhill_5.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Drive_10_downhill_25()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>, <v>, <grad>, <stop>
+				"   0,  10,  -25,    0",
+				" 500,  10,  -25,    0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Drive_10_downhill_25.vmod").Run();
+		}
+
+		[TestMethod]
+		public void Drive_10_uphill_25()
+		{
+			var cycle = CreateCycleData(new[] {
+				// <s>,<v>,<grad>,<stop>
+				"   0, 10, 25,    0",
+				" 500, 10, 25,    0",
+			});
+			CreatePowerTrain(cycle, "DriverStrategy_Drive_10_uphill_25.vmod").Run();
+		}
+
+		#endregion
+
 		// ===============================
 
 		public DrivingCycleData CreateCycleData(string[] entries)
@@ -251,6 +436,12 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 			tmp = Port.AddComponent(tmp, new AxleGear(container, axleGearData));
 			tmp = Port.AddComponent(tmp, new Gearbox(container, gearboxData));
 			tmp = Port.AddComponent(tmp, new Clutch(container, engineData));
+
+			var aux = new Auxiliary(container);
+			aux.AddConstant("", 500.SI<Watt>());
+
+			tmp = Port.AddComponent(tmp, aux);
+
 			Port.AddComponent(tmp, new CombustionEngine(container, engineData));
 
 			return new DistanceRun(container);
diff --git a/VectoCoreTest/Models/Simulation/AuxTests.cs b/VectoCoreTest/Models/Simulation/AuxTests.cs
index 70d23b3695..a27a629e4e 100644
--- a/VectoCoreTest/Models/Simulation/AuxTests.cs
+++ b/VectoCoreTest/Models/Simulation/AuxTests.cs
@@ -267,13 +267,14 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 				"Auxiliary file not found: NOT_EXISTING_AUX_FILE.vaux");
 		}
 
-		[TestMethod]
+		[TestMethod, Ignore]
 		public void AuxReadJobFileDeclarationMode()
 		{
 			var sumWriter = new SummaryFileWriter(@"AuxReadJobFileDeclarationMode.vsum");
 			var jobContainer = new JobContainer(sumWriter);
 
-			var runsFactory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, @"TestData\Jobs\40t_Long_Haul_Truck.vecto");
+			var runsFactory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode,
+				@"TestData\Jobs\40t_Long_Haul_Truck.vecto");
 
 			jobContainer.AddRuns(runsFactory);
 			jobContainer.Execute();
@@ -282,7 +283,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 				@"AuxReadJobFileDeclarationMode.vsum");
 		}
 
-		[TestMethod]
+		[TestMethod, Ignore]
 		public void AuxReadJobFileEngineeringMode()
 		{
 			var sumWriter = new SummaryFileWriter(@"AuxReadJobFileEngineeringMode.vsum");
-- 
GitLab