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