diff --git a/VectoConsole/Properties/Version.cs b/VectoConsole/Properties/Version.cs index 1e3461f92616c511c4821ab414f309d08195a581..156b25260edd612541c4523d13f4550fd0d0a936 100644 --- a/VectoConsole/Properties/Version.cs +++ b/VectoConsole/Properties/Version.cs @@ -1,6 +1,6 @@ using System.Reflection; -// generated on 11.11.2015 13:07:57 +// generated on 11.11.2015 13:31:46 [assembly: AssemblyVersion("3.0.1.314")] [assembly: AssemblyFileVersion("3.0.1.314")] diff --git a/VectoCore/Properties/Version.cs b/VectoCore/Properties/Version.cs index c4ca35d67c2edc48b62abb0fcef1b6b43ad75077..9680f4689a839af2e8b611743fc6714001d50f13 100644 --- a/VectoCore/Properties/Version.cs +++ b/VectoCore/Properties/Version.cs @@ -1,5 +1,5 @@ using System.Reflection; -// generated on 11.11.2015 13:07:52 +// generated on 11.11.2015 13:31:44 [assembly: AssemblyVersion("3.0.1.314")] [assembly: AssemblyFileVersion("3.0.1.314")] diff --git a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs index a13f1fbb0a082de7223527612237621384fa11ea..57d954c2361a39d7ad1a6a0922772eb2c5c1325b 100644 --- a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs +++ b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs @@ -4,1066 +4,1085 @@ using TUGraz.VectoCore.Tests.Utils; namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy { - [TestClass] - public class DriverStrategyTestCoach - { - [TestInitialize] - public void DisableLogging() - { - //LogManager.DisableLogging(); - //GraphWriter.Disable(); - } + [TestClass] + public class DriverStrategyTestCoach + { + [TestInitialize] + public void DisableLogging() + { + //LogManager.DisableLogging(); + //GraphWriter.Disable(); + } + + [TestMethod] + public void TestGraph() + { + var imgV3 = @"..\..\..\VectoCoreTest\bin\Debug\Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod"; + var imgv22 = + @"..\..\..\VectoCoreTest\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Dec_Increasing_Slope.vmod"; + + GraphWriter.Write(imgV3, imgv22); + } + + + [TestMethod] + public void TestSingleGraph() + { + var imgV3 = @"..\..\..\VectoCoreTest\bin\Debug\Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod"; + + GraphWriter.Write(imgV3); + } + + #region Accelerate + + [TestMethod] + 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] + 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] + 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, Ignore] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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, Ignore] + public void 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] + 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, Ignore] + public void 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] + 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] + 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] + 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] + 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, Ignore] + public void 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] + 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] + 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, Ignore] + public void 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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, Ignore] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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); - [TestMethod] - public void TestGraph() - { - var imgV3 = @"..\..\..\VectoCoreTest\bin\Debug\Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod"; - var imgv22 = - @"..\..\..\VectoCoreTest\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Dec_Increasing_Slope.vmod"; - - GraphWriter.Write(imgV3, imgv22); - } - - - [TestMethod] - public void TestSingleGraph() - { - var imgV3 = @"..\..\..\VectoCoreTest\bin\Debug\Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod"; - - GraphWriter.Write(imgV3); - } - - - - #region Accelerate - - [TestMethod] - 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"); + GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_inc.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Increasing_Slope.vmod"); + } + + [TestMethod] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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_Accelerate_20_60_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_level.vmod"); - } - - [TestMethod] - 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] - 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, Ignore] - 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] - 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] - 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"); - } + 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] + 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"); - [TestMethod] - 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_Drive_stop_85_stop_85_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_stop_85_stop_85_level.vmod"); + } + + #endregion - 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"); - } + #region AccelerateOverspeed - [TestMethod] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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"); - - GraphWriter.Write("Coach_DriverStrategy_Decelerate_45_0_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_45_0_level.vmod"); - } - - [TestMethod] - 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] - 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] - 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] - 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, Ignore] - public void 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] - 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, Ignore] - public void 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] - 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] - 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] - 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] - 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, Ignore] - public void 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] - 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] - 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, Ignore] - public void 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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, Ignore] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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); + [TestMethod] + 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] + 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] + 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] + 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] + 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_Drive_50_slope_inc.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Increasing_Slope.vmod"); - } - - [TestMethod] - 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_Accelerate_0_60_downhill_3-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_60_downhill_3.vmod"); + } - GraphWriter.Write("Coach_DriverStrategy_Drive_30_slope_inc.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_Increasing_Slope.vmod"); - } - - [TestMethod] - 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] - 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); + [TestMethod] + 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); - GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_dec.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_Decreasing_Slope.vmod"); - } - - [TestMethod] - 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); + 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] - 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_Accelerate_0_60_downhill_1-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach_Overspeed\24t Coach_Cycle_Accelerate_0_60_downhill_1.vmod"); + } - 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] - 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] + 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); - [TestMethod] - 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 + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); - #region Misc + 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] + 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); - [TestMethod] - 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); + 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"); - } + 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"); + } - [TestMethod] - 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] + 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); - [TestMethod] - 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); + 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"); - } + 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"); + } - [TestMethod] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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] - 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"); - } - - - [TestMethod] - 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 - } + #endregion + } } \ No newline at end of file diff --git a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs index 9ff58535f3e3f6400e3bddcb57bf664903f5ee62..eaa1cbf0f13c8a7d641ea4f3a0e60392c5891f8d 100644 --- a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs +++ b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs @@ -5,1164 +5,1204 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy { - [TestClass] - public class DriverStrategyTestTruck - { - [TestInitialize] - public void DisableLogging() - { - //LogManager.DisableLogging(); - //GraphWriter.Disable(); - } - - #region Accelerate - - [TestMethod] - public void Truck_Accelerate_20_60_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_Level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_level.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_20_60_uphill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphilll_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_uphill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_5.vmod"); - } - - - [TestMethod] - public void Truck_Accelerate_20_60_downhill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_downhill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_5.vmod"); - } - - - [TestMethod, Ignore] - public void Truck_Accelerate_20_60_uphill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_uphill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_25.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_20_60_downhill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_downhill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_25.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_20_60_uphill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_uphill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_15.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_20_60_downhill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_downhill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_15.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_85_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_level.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_85_uphill_1() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_1); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_1.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_1.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_1.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_85_uphill_2() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_2); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_2.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_2.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_2.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_85_uphill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_5.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_85_downhill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5); - Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_5.vmod").Run(); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_5.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_85_uphill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_25.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_85_downhill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_25.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_85_uphill_10() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_10); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_10.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_10.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_10.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_85_downhill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_15.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_stop_0_85_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_stop_0_85_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_stop_0_85_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_stop_0_85_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_stop_0_85_level.vmod"); - } - - - [TestMethod] - public void Truck_Accelerate_20_22_uphill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_22_uphill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_22_uphill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_22_uphill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_22_uphill_5.vmod"); - } - - #endregion - - #region Decelerate - - [TestMethod] - public void Truck_Decelerate_22_20_downhill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_22_20_downhill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_22_20_downhill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_22_20_downhill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_22_20_downhill_5.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_60_20_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_level.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_45_0_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_level.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_45_0_uphill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_uphill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_uphill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_uphill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_uphill_5.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_45_0_downhill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_downhill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_downhill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_downhill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_downhill_5.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_60_20_uphill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_uphill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_5.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_60_20_downhill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_downhill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_5.vmod"); - } - - [TestMethod, Ignore] - public void Decelerate_60_20_uphill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_uphill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_25.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_60_20_downhill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_downhill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_25.vmod"); - } - - [TestMethod, Ignore] - public void Decelerate_60_20_uphill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_uphill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_15.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_60_20_downhill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_downhill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_15.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_80_0_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_level.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_80_0_uphill_3() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_3); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_uphill_3.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_uphill_3.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_uphill_3.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_80_0_SlopeChangeDuringCoast() - { - var data = new string[] { - // <s>,<v>,<grad>,<stop> - " 0, 60, -1.15, 0", - " 70, 60, -1.85, 0", - "300, 0, -1.85, 2", - }; - - var cycle = SimpleDrivingCycles.CreateCycleData(data); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Decelerate_80_0_SlopeChangeDuringCoast.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod, Ignore] - public void Truck_Decelerate_80_0_uphill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_uphill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_uphill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_uphill_5.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_80_0_downhill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_downhill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_downhill_5.vmod"); - } - - [TestMethod, Ignore] - public void Decelerate_80_0_uphill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_steep_uphill_25.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_80_0_downhill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_downhill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_downhill_25.vmod"); - } - - [TestMethod, Ignore] - public void Decelerate_80_0_uphill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_steep_uphill_15.vmod"); - } - - [TestMethod] - public void Truck_Decelerate_80_0_downhill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_15); - 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"); - } - - [TestMethod] - public void Truck_Decelerate_55_43_0_downhill_RefLoad() - { - var cycleData = new string[] { - // <s>,<v>,<grad>,<stop> - " 0, 55.2, -0.6, 0", - " 500, 43.6, -0.6, 0", - " 510, 43.6, -0.3, 0", - " 623, 0, -0.2, 4" - }; - var cycle = SimpleDrivingCycles.CreateCycleData(cycleData); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_Decelerate_55_43_0_downhill_RefLoad.vmod", - 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - #endregion - - #region Drive - - [TestMethod] - public void Truck_Drive_80_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_80_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_level.vmod"); - } - - [TestMethod] - public void Truck_Drive_80_uphill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_5.vmod"); - } - - [TestMethod] - public void Truck_Drive_80_downhill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_downhill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_80_downhill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_downhill_5.vmod"); - } - - [TestMethod] - public void Truck_Drive_20_downhill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_20_downhill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_20_downhill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_20_downhill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_20_downhill_15.vmod"); - } - - [TestMethod] - public void Truck_Drive_30_downhill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_downhill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_downhill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_30_downhill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_downhill_15.vmod"); - } - - [TestMethod] - public void Truck_Drive_50_downhill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_downhill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_downhill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_50_downhill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_downhill_15.vmod"); - } - - [TestMethod, Ignore] - public void Truck_Drive_80_uphill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_25.vmod"); - } - - [TestMethod] - public void Truck_Drive_80_downhill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_downhill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_80_downhill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_downhill_15.vmod"); - } - - [TestMethod] - public void Truck_Drive_80_uphill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_15.vmod"); - } - - [TestMethod] - public void Truck_Drive_10_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_10_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_level.vmod"); - } - - [TestMethod] - public void Truck_Drive_10_uphill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_5.vmod"); - } - - [TestMethod] - public void Truck_Drive_10_downhill_5() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_5.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_5.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_5.vmod"); - } - - [TestMethod] - public void Truck_Drive_10_downhill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_25.vmod"); - } - - [TestMethod] - public void Truck_Drive_10_uphill_25() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_25); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_25.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_25.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_25.vmod"); - } - - [TestMethod] - public void Truck_Drive_10_downhill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_15.vmod"); - } - - [TestMethod] - public void Truck_Drive_10_uphill_15() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_15); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_15.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_15.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_15.vmod"); - } - - #endregion - - #region Slope - - [TestMethod] - public void Truck_Drive_80_Increasing_Slope() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_inc.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_inc.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_Increasing_Slope.vmod"); - } - - [TestMethod] - public void Truck_Drive_50_Increasing_Slope() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_inc.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); + [TestClass] + public class DriverStrategyTestTruck + { + [TestInitialize] + public void DisableLogging() + { + //LogManager.DisableLogging(); + //GraphWriter.Disable(); + } + + #region Accelerate + + [TestMethod] + public void Truck_Accelerate_20_60_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_Level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_level.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_20_60_uphill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphilll_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_20_60_uphill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_5.vmod"); + } + + + [TestMethod] + public void Truck_Accelerate_20_60_downhill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_20_60_downhill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_5.vmod"); + } + + + [TestMethod, Ignore] + public void Truck_Accelerate_20_60_uphill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_20_60_uphill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_25.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_20_60_downhill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_20_60_downhill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_25.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_20_60_uphill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_20_60_uphill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_15.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_20_60_downhill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_20_60_downhill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_15.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_85_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_level.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_85_uphill_1() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_1); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_85_uphill_1.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_1.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_1.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_85_uphill_2() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_2); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_85_uphill_2.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_2.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_2.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_85_uphill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_85_uphill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_5.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_85_downhill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5); + Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_5.vmod").Run(); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_5.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_85_uphill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_85_uphill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_25.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_85_downhill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_85_downhill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_25.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_85_uphill_10() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_10); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_85_uphill_10.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_10.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_10.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_85_downhill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_85_downhill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_15.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_stop_0_85_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_stop_0_85_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_stop_0_85_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_stop_0_85_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_stop_0_85_level.vmod"); + } + + + [TestMethod] + public void Truck_Accelerate_20_22_uphill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_22_uphill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_20_22_uphill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_22_uphill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_22_uphill_5.vmod"); + } + + #endregion + + #region Decelerate + + [TestMethod] + public void Truck_Decelerate_22_20_downhill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_22_20_downhill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_22_20_downhill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_22_20_downhill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_22_20_downhill_5.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_60_20_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_level.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_45_0_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_level.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_45_0_uphill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_uphill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_45_0_uphill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_uphill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_uphill_5.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_45_0_downhill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_downhill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_45_0_downhill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_downhill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_downhill_5.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_60_20_uphill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_60_20_uphill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_5.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_60_20_downhill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_60_20_downhill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_5.vmod"); + } + + [TestMethod, Ignore] + public void Decelerate_60_20_uphill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_60_20_uphill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_25.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_60_20_downhill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_60_20_downhill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_25.vmod"); + } + + [TestMethod, Ignore] + public void Decelerate_60_20_uphill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_60_20_uphill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_15.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_60_20_downhill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_60_20_downhill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_15.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_80_0_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_level.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_80_0_uphill_3() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_3); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_80_0_uphill_3.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_uphill_3.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_uphill_3.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_80_0_SlopeChangeDuringCoast() + { + var data = new string[] { + // <s>,<v>,<grad>,<stop> + " 0, 60, -1.15, 0", + " 70, 60, -1.85, 0", + "300, 0, -1.85, 2", + }; + + var cycle = SimpleDrivingCycles.CreateCycleData(data); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_80_0_SlopeChangeDuringCoast.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod, Ignore] + public void Truck_Decelerate_80_0_uphill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_80_0_uphill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_uphill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_uphill_5.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_80_0_downhill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_80_0_downhill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_downhill_5.vmod"); + } + + [TestMethod, Ignore] + public void Decelerate_80_0_uphill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_steep_uphill_25.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_80_0_downhill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_80_0_downhill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_downhill_25.vmod"); + } + + [TestMethod, Ignore] + public void Decelerate_80_0_uphill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_steep_uphill_15.vmod"); + } + + [TestMethod] + public void Truck_Decelerate_80_0_downhill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_15); + 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"); + } + + [TestMethod] + public void Truck_Decelerate_55_43_0_downhill_RefLoad() + { + var cycleData = new string[] { + // <s>,<v>,<grad>,<stop> + " 0, 55.2, -0.6, 0", + " 500, 43.6, -0.6, 0", + " 510, 43.6, -0.3, 0", + " 623, 0, -0.2, 4" + }; + var cycle = SimpleDrivingCycles.CreateCycleData(cycleData); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_Decelerate_55_43_0_downhill_RefLoad.vmod", + 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + #endregion + + #region Drive + + [TestMethod] + public void Truck_Drive_80_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_80_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_level.vmod"); + } + + [TestMethod] + public void Truck_Drive_80_uphill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_5.vmod"); + } + + [TestMethod] + public void Truck_Drive_80_downhill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_downhill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_80_downhill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_downhill_5.vmod"); + } + + [TestMethod] + public void Truck_Drive_20_downhill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_20_downhill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_20_downhill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_20_downhill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_20_downhill_15.vmod"); + } + + [TestMethod] + public void Truck_Drive_30_downhill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_downhill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_downhill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_30_downhill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_downhill_15.vmod"); + } + + [TestMethod] + public void Truck_Drive_50_downhill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_downhill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_downhill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_50_downhill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_downhill_15.vmod"); + } + + [TestMethod, Ignore] + public void Truck_Drive_80_uphill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_25.vmod"); + } + + [TestMethod] + public void Truck_Drive_80_downhill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_downhill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_80_downhill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_downhill_15.vmod"); + } + + [TestMethod] + public void Truck_Drive_80_uphill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_15.vmod"); + } + + [TestMethod] + public void Truck_Drive_10_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_10_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_level.vmod"); + } + + [TestMethod] + public void Truck_Drive_10_uphill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_5.vmod"); + } + + [TestMethod] + public void Truck_Drive_10_downhill_5() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_5.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_5.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_5.vmod"); + } + + [TestMethod] + public void Truck_Drive_10_downhill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_25.vmod"); + } + + [TestMethod] + public void Truck_Drive_10_uphill_25() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_25); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_25.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_25.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_25.vmod"); + } + + [TestMethod] + public void Truck_Drive_10_downhill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_15.vmod"); + } + + [TestMethod] + public void Truck_Drive_10_uphill_15() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_15); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_15.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_15.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_15.vmod"); + } + + #endregion + + #region Slope + + [TestMethod] + public void Truck_Drive_80_Increasing_Slope() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_inc.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_inc.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_Increasing_Slope.vmod"); + } + + [TestMethod] + public void Truck_Drive_50_Increasing_Slope() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_inc.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); - GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_inc.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_Increasing_Slope.vmod"); - } - - [TestMethod] - public void Truck_Drive_30_Increasing_Slope() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_inc.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_inc.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_Increasing_Slope.vmod"); - } - - [TestMethod] - public void Truck_Drive_80_Decreasing_Slope() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_dec.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_dec.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_Decreasing_Slope.vmod"); - } - - [TestMethod] - public void Truck_Drive_50_Decreasing_Slope() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_dec.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_dec.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_Decreasing_Slope.vmod"); - } - - [TestMethod] - public void Truck_Drive_30_Decreasing_Slope() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_dec.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_dec.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_Decreasing_Slope.vmod"); - } - - [TestMethod] - public void Truck_Drive_80_Dec_Increasing_Slope() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_Dec_Increasing_Slope.vmod"); - } - - [TestMethod] - public void Truck_Drive_50_Dec_Increasing_Slope() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_Dec_Increasing_Slope.vmod"); - } - - - [TestMethod] - public void Truck_Drive_30_Dec_Increasing_Slope() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_Dec_Increasing_Slope.vmod"); - } - - #endregion - - #region Misc - - [TestMethod] - public void Truck_DecelerateWhileBrake_80_0_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_DecelerateWhileBrake_80_0_level.vmod"); - } - - [TestMethod] - public void Truck_AccelerateWhileBrake_80_0_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateWhileBrake_80_0_level.vmod"); - } - - [TestMethod] - public void Truck_AccelerateAtBrake_80_0_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateAtBrake_80_0_level.vmod"); - } - - [TestMethod] - public void Truck_AccelerateBeforeBrake_80_0_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateBeforeBrake_80_0_level.vmod"); - } - - [TestMethod] - public void Truck_Drive_stop_85_stop_85_level() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_stop_85_stop_85_level.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_48_52_beforeStop_lefel() - { - var data = new string[] { - // <s>,<v>,<grad>,<stop> - " 0, 49.9, -5, 0", - "200, 52, -5, 0", - "300, 0, -5, 2", - }; - - var cycle = SimpleDrivingCycles.CreateCycleData(data); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Accelerate_48_52_beforeStop_level.vmod", - 7500.SI<Kilogram>(), 19000.SI<Kilogram>()); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - //GraphWriter.Write("Truck_DriverStrategy_Accelerate_48_52_beforeStop_level.vmod"); - } - - #endregion - - #region AccelerateOverspeed - - [TestMethod] - public void Truck_Accelerate_0_85_downhill_5_overspeed() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod", true); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_5.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_85_downhill_3_overspeed() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_3); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod", true); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_3.vmod"); - } - - - [TestMethod] - public void Truck_Accelerate_0_85_downhill_1_overspeed() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_1); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod", true); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_1.vmod"); - } - - - [TestMethod] - public void Truck_Accelerate_0_60_downhill_5_overspeed() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod", true); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_60_downhill_5.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_60_downhill_3_overspeed() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_3); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod", true); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_60_downhill_3.vmod"); - } - - - [TestMethod] - public void Truck_Accelerate_0_60_downhill_1_overspeed() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_1); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod", true); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_60_downhill_1.vmod"); - } - - - [TestMethod] - public void Truck_Accelerate_0_40_downhill_5_overspeed() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_5); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod", true); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_40_downhill_5.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_0_40_downhill_3_overspeed() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_3); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod", true); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_40_downhill_3.vmod"); - } - - - [TestMethod] - public void Truck_Accelerate_0_40_downhill_1_overspeed() - { - var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_1); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, - "Truck_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod", true); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - - GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod", - @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_40_downhill_1.vmod"); - } - - [TestMethod] - public void Truck_Accelerate_Decelerate_Downhill_overspeed() - { - var cycleData = new string[] { - // <s>,<v>,<grad>,<stop> - " 0, 60, 0, 0", - " 10, 60, -6, 0", - "100, 55, -6, 0", - "300, 55, -6, 0" - }; - var cycle = SimpleDrivingCycles.CreateCycleData(cycleData); - - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_Decelerate-overspeed.vmod", - true); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck_SlopeChangeBeforeStop() - { - var cycleData = new string[] { - // <s>,<v>,<grad>,<stop> - " 0, 60, -1.4, 0", - "298, 60, -1.7, 0", - "300, 0, -1.7, 4", - }; - var cycle = SimpleDrivingCycles.CreateCycleData(cycleData); - - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_SlopeChangeBeforeStop.vmod"); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck_FrequentSlopeChanges() - { - var cycleData = new string[] { - // <s>,<v>,<grad>,<stop> - " 0, 60, 0, 0", - " 10, 60, -6, 0", - "100, 55, -6, 0", - "300, 55, -6, 0" - }; - } - - #endregion - } + GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_inc.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_Increasing_Slope.vmod"); + } + + [TestMethod] + public void Truck_Drive_30_Increasing_Slope() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_inc.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_inc.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_Increasing_Slope.vmod"); + } + + [TestMethod] + public void Truck_Drive_80_Decreasing_Slope() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_dec.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_dec.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_Decreasing_Slope.vmod"); + } + + [TestMethod] + public void Truck_Drive_50_Decreasing_Slope() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_dec.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_dec.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_Decreasing_Slope.vmod"); + } + + [TestMethod] + public void Truck_Drive_30_Decreasing_Slope() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_dec.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_dec.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_Decreasing_Slope.vmod"); + } + + [TestMethod] + public void Truck_Drive_80_Dec_Increasing_Slope() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_Dec_Increasing_Slope.vmod"); + } + + [TestMethod] + public void Truck_Drive_50_Dec_Increasing_Slope() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_Dec_Increasing_Slope.vmod"); + } + + + [TestMethod] + public void Truck_Drive_30_Dec_Increasing_Slope() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_Dec_Increasing_Slope.vmod"); + } + + #endregion + + #region Misc + + [TestMethod] + public void Truck_DecelerateWhileBrake_80_0_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_DecelerateWhileBrake_80_0_level.vmod"); + } + + [TestMethod] + public void Truck_AccelerateWhileBrake_80_0_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateWhileBrake_80_0_level.vmod"); + } + + [TestMethod] + public void Truck_AccelerateAtBrake_80_0_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateAtBrake_80_0_level.vmod"); + } + + [TestMethod] + public void Truck_AccelerateBeforeBrake_80_0_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateBeforeBrake_80_0_level.vmod"); + } + + [TestMethod] + public void Truck_Drive_stop_85_stop_85_level() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_stop_85_stop_85_level.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_48_52_beforeStop_lefel() + { + var data = new string[] { + // <s>,<v>,<grad>,<stop> + " 0, 49.9, -5, 0", + "200, 52, -5, 0", + "300, 0, -5, 2", + }; + + var cycle = SimpleDrivingCycles.CreateCycleData(data); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_48_52_beforeStop_level.vmod", + 7500.SI<Kilogram>(), 19000.SI<Kilogram>()); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + //GraphWriter.Write("Truck_DriverStrategy_Accelerate_48_52_beforeStop_level.vmod"); + } + + #endregion + + #region AccelerateOverspeed + + [TestMethod] + public void Truck_Accelerate_0_85_downhill_5_overspeed() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod", true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_5-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_5.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_85_downhill_3_overspeed() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_3); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod", true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_3-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_3.vmod"); + } + + + [TestMethod] + public void Truck_Accelerate_0_85_downhill_1_overspeed() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_1); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod", true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_1-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_1.vmod"); + } + + + [TestMethod] + public void Truck_Accelerate_0_60_downhill_5_overspeed() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod", true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_60_downhill_5-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_60_downhill_5.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_60_downhill_3_overspeed() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_3); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod", true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_60_downhill_3-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_60_downhill_3.vmod"); + } + + + [TestMethod] + public void Truck_Accelerate_0_60_downhill_1_overspeed() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_60_downhill_1); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod", true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_60_downhill_1-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_60_downhill_1.vmod"); + } + + + [TestMethod] + public void Truck_Accelerate_0_40_downhill_5_overspeed() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_5); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod", true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_40_downhill_5-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_40_downhill_5.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_0_40_downhill_3_overspeed() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_3); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod", true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_40_downhill_3-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_40_downhill_3.vmod"); + } + + + [TestMethod] + public void Truck_Accelerate_0_40_downhill_1_overspeed() + { + var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_40_downhill_1); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod", true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + + GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_40_downhill_1-overspeed.vmod", + @"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck_Overspeed\40t_Long_Haul_Truck_Cycle_Accelerate_0_40_downhill_1.vmod"); + } + + [TestMethod] + public void Truck_Accelerate_Decelerate_Downhill_overspeed() + { + var cycleData = new string[] { + // <s>,<v>,<grad>,<stop> + " 0, 60, 0, 0", + " 10, 60, -6, 0", + "100, 55, -6, 0", + "300, 55, -6, 0" + }; + var cycle = SimpleDrivingCycles.CreateCycleData(cycleData); + + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, + "Truck_DriverStrategy_Accelerate_Decelerate-overspeed.vmod", + true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod] + public void Truck_SlopeChangeBeforeStop() + { + var cycleData = new string[] { + // <s>,<v>,<grad>,<stop> + " 0, 60, -1.4, 0", + "298, 60, -1.7, 0", + "300, 0, -1.7, 4", + }; + var cycle = SimpleDrivingCycles.CreateCycleData(cycleData); + + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_SlopeChangeBeforeStop.vmod"); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod] + public void Truck_FrequentSlopeChanges() + { + var cycleData = new string[] { + // <s>,<v>,<grad>,<stop> + " 0, 60, 0, 0", + " 10, 60, -6, 0", + "100, 55, -6, 0", + "300, 55, -6, 0" + }; + } + + #endregion + } } \ No newline at end of file diff --git a/VectoCoreTest/Integration/FullCycleDeclarationTest.cs b/VectoCoreTest/Integration/FullCycleDeclarationTest.cs index 85c32a12b41cb95578fb499ef75fd7e0e7465a35..715558f7e0d59d3e7399f9f58447fac7057613bd 100644 --- a/VectoCoreTest/Integration/FullCycleDeclarationTest.cs +++ b/VectoCoreTest/Integration/FullCycleDeclarationTest.cs @@ -13,177 +13,180 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Tests.Integration { - [TestClass] - public class FullCycleDeclarationTest - { - public const string TruckDeclarationJob = @"TestData\Integration\DeclarationMode\40t Truck\40t_Long_Haul_Truck.vecto"; - - - [TestMethod] - public void Truck40t_LongHaulCycle_RefLoad() - { - var cycle = SimpleDrivingCycles.ReadDeclarationCycle("LongHaul"); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_LongHaulCycle_RefLoad.vmod", - 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck40t_RegionalDeliveryCycle_RefLoad() - { - var cycle = SimpleDrivingCycles.ReadDeclarationCycle("RegionalDelivery"); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_RegionalDeliveryCycle_RefLoad.vmod", - 7500.SI<Kilogram>(), 12900.SI<Kilogram>(), true); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck40t_RegionalDeliveryCycle_RefLoad_Declaration() - { - var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, - @"c:\Users\Technik\Downloads\40t Long Haul Truck\40t_Long_Haul_Truck.vecto"); - factory.WriteModalResults = true; - factory.SumWriter = new SummaryFileWriter("Test.vsum"); - var runs = factory.SimulationRuns().ToArray(); - - var run = runs[4]; - run.Run(); - - Assert.IsTrue(run.FinishedWithoutErrors); - } - - - [TestMethod] - public void Truck40t_UrbanDeliveryCycle_RefLoad() - { - var cycle = SimpleDrivingCycles.ReadDeclarationCycle("UrbanDelivery"); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_UrbanDeliveryCycle_RefLoad.vmod", - 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck40t_MunicipalCycle_RefLoad() - { - var cycle = SimpleDrivingCycles.ReadDeclarationCycle("Municipal"); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_MunicipalCycle_RefLoad.vmod", - 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck40t_ConstructionCycle_RefLoad() - { - var cycle = SimpleDrivingCycles.ReadDeclarationCycle("Construction"); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_ConstructionCycle_RefLoad.vmod", - 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck40t_HeavyUrbanCycle_RefLoad() - { - var cycle = SimpleDrivingCycles.ReadDeclarationCycle("HeavyUrban"); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_HeavyUrbanCycle_RefLoad.vmod", - 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck40t_SubUrbanCycle_RefLoad() - { - var cycle = SimpleDrivingCycles.ReadDeclarationCycle("Suburban"); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_SubUrbanCycle_RefLoad.vmod", - 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck40t_InterUrbanCycle_RefLoad() - { - var cycle = SimpleDrivingCycles.ReadDeclarationCycle("Interurban"); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_InterUrbanCycle_RefLoad.vmod", - 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck40t_CoachCycle_RefLoad() - { - var cycle = SimpleDrivingCycles.ReadDeclarationCycle("Coach"); - var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_CoachCycle_RefLoad.vmod", - 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); - - run.Run(); - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck40tDeclarationTest() - { - LogManager.DisableLogging(); - - var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, TruckDeclarationJob); - factory.WriteModalResults = true; - var sumFileName = Path.GetFileNameWithoutExtension(TruckDeclarationJob) + Constants.FileExtensions.SumFile; - var sumWriter = new SummaryFileWriter(sumFileName); - var jobContainer = new JobContainer(sumWriter); - jobContainer.AddRuns(factory); - - jobContainer.Execute(); - jobContainer.WaitFinished(); - - foreach (var run in jobContainer.Runs) { - Assert.IsTrue(run.Run.FinishedWithoutErrors); - } - } - - [TestMethod] - public void Truck12t_LongHaulCycle_RefLoad_Declaration() - { - // TODO: fails due to interpolaion failure in Gear 4 - var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, - @"c:\Users\Technik\Downloads\12t Delivery Truck\12t Delivery Truck.vecto"); - factory.WriteModalResults = true; - factory.SumWriter = new SummaryFileWriter("Test.vsum"); - var runs = factory.SimulationRuns().ToArray(); - - var run = runs[1]; - run.Run(); - - Assert.IsTrue(run.FinishedWithoutErrors); - } - - [TestMethod] - public void Truck12t_UrbanDeliveryCycle_RefLoad_Declaration() - { - // TODO: fails due to interpolaion failure in Gear 4 - var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, - @"c:\Users\Technik\Downloads\12t Delivery Truck\12t Delivery Truck.vecto"); - factory.WriteModalResults = true; - factory.SumWriter = new SummaryFileWriter("Test.vsum"); - var runs = factory.SimulationRuns().ToArray(); - - var run = runs[7]; - run.Run(); - - Assert.IsTrue(run.FinishedWithoutErrors); - } - } + [TestClass] + public class FullCycleDeclarationTest + { + public const string TruckDeclarationJob = + @"TestData\Integration\DeclarationMode\40t Truck\40t_Long_Haul_Truck.vecto"; + + + [TestMethod] + public void Truck40t_LongHaulCycle_RefLoad() + { + var cycle = SimpleDrivingCycles.ReadDeclarationCycle("LongHaul"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_LongHaulCycle_RefLoad.vmod", + 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod] + public void Truck40t_RegionalDeliveryCycle_RefLoad() + { + var cycle = SimpleDrivingCycles.ReadDeclarationCycle("RegionalDelivery"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_RegionalDeliveryCycle_RefLoad.vmod", + 7500.SI<Kilogram>(), 12900.SI<Kilogram>(), true); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + + [TestMethod] + public void Truck40t_UrbanDeliveryCycle_RefLoad() + { + var cycle = SimpleDrivingCycles.ReadDeclarationCycle("UrbanDelivery"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_UrbanDeliveryCycle_RefLoad.vmod", + 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod] + public void Truck40t_MunicipalCycle_RefLoad() + { + var cycle = SimpleDrivingCycles.ReadDeclarationCycle("MunicipalUtility"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_MunicipalCycle_RefLoad.vmod", + 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod] + public void Truck40t_ConstructionCycle_RefLoad() + { + var cycle = SimpleDrivingCycles.ReadDeclarationCycle("Construction"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_ConstructionCycle_RefLoad.vmod", + 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod] + public void Truck40t_HeavyUrbanCycle_RefLoad() + { + var cycle = SimpleDrivingCycles.ReadDeclarationCycle("HeavyUrban"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_HeavyUrbanCycle_RefLoad.vmod", + 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod] + public void Truck40t_SubUrbanCycle_RefLoad() + { + var cycle = SimpleDrivingCycles.ReadDeclarationCycle("Suburban"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_SubUrbanCycle_RefLoad.vmod", + 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod] + public void Truck40t_InterUrbanCycle_RefLoad() + { + var cycle = SimpleDrivingCycles.ReadDeclarationCycle("Interurban"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_InterUrbanCycle_RefLoad.vmod", + 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod] + public void Truck40t_CoachCycle_RefLoad() + { + var cycle = SimpleDrivingCycles.ReadDeclarationCycle("Coach"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck40t_CoachCycle_RefLoad.vmod", + 7500.SI<Kilogram>(), 12900.SI<Kilogram>()); + + run.Run(); + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod] + public void Truck40tDeclarationTest() + { + LogManager.DisableLogging(); + + var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, TruckDeclarationJob); + factory.WriteModalResults = true; + var sumFileName = Path.GetFileNameWithoutExtension(TruckDeclarationJob) + Constants.FileExtensions.SumFile; + var sumWriter = new SummaryFileWriter(sumFileName); + var jobContainer = new JobContainer(sumWriter); + jobContainer.AddRuns(factory); + + jobContainer.Execute(); + jobContainer.WaitFinished(); + + foreach (var run in jobContainer.Runs) { + Assert.IsTrue(run.Run.FinishedWithoutErrors); + } + } + + [TestMethod, Ignore] + public void Truck40t_RegionalDeliveryCycle_RefLoad_Declaration() + { + var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, + @"c:\Users\Technik\Downloads\40t Long Haul Truck\40t_Long_Haul_Truck.vecto"); + factory.WriteModalResults = true; + factory.SumWriter = new SummaryFileWriter("Test.vsum"); + var runs = factory.SimulationRuns().ToArray(); + + var run = runs[4]; + run.Run(); + + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod, Ignore] + public void Truck12t_LongHaulCycle_RefLoad_Declaration() + { + // TODO: fails due to interpolaion failure in Gear 4 + var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, + @"c:\Users\Technik\Downloads\12t Delivery Truck\12t Delivery Truck.vecto") { + WriteModalResults = true, + SumWriter = new SummaryFileWriter("Test.vsum") + }; + var runs = factory.SimulationRuns().ToArray(); + + var run = runs[1]; + run.Run(); + + Assert.IsTrue(run.FinishedWithoutErrors); + } + + [TestMethod, Ignore] + public void Truck12t_UrbanDeliveryCycle_RefLoad_Declaration() + { + // TODO: fails due to interpolaion failure in Gear 4 + var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, + @"c:\Users\Technik\Downloads\12t Delivery Truck\12t Delivery Truck.vecto") { + WriteModalResults = true, + SumWriter = new SummaryFileWriter("Test.vsum") + }; + var runs = factory.SimulationRuns().ToArray(); + + var run = runs[7]; + run.Run(); + + Assert.IsTrue(run.FinishedWithoutErrors); + } + } } \ No newline at end of file diff --git a/VectoCoreTest/Models/Simulation/AuxTests.cs b/VectoCoreTest/Models/Simulation/AuxTests.cs index 0e75df621772e5662210459a6e23eae95a7ecafe..d3012f7e2526dd47124fc8d54a12e9fa4fc824ba 100644 --- a/VectoCoreTest/Models/Simulation/AuxTests.cs +++ b/VectoCoreTest/Models/Simulation/AuxTests.cs @@ -11,304 +11,313 @@ using TUGraz.VectoCore.Models.SimulationComponent.Impl; namespace TUGraz.VectoCore.Tests.Models.Simulation { - [TestClass] - public class AuxTests - { - [TestMethod] - public void AuxWriteModFileSumFile() - { - var dataWriter = new ModalDataWriter(@"AuxWriteModFileSumFile.vmod"); - dataWriter.AddAuxiliary("FAN"); - dataWriter.AddAuxiliary("PS"); - dataWriter.AddAuxiliary("STP"); - dataWriter.AddAuxiliary("ES"); - dataWriter.AddAuxiliary("AC"); - - var sumWriter = new SummaryFileWriter(@"AuxWriteModFileSumFile.vsum"); - var container = new VehicleContainer(dataWriter, - (writer, mass, loading) => sumWriter.WriteFullPowertrain(dataWriter, "", "", "", null, null)); - var data = DrivingCycleDataReader.ReadFromFileDistanceBased(@"TestData\Cycles\LongHaul_short.vdri"); - var mockcycle = new MockDrivingCycle(container, data); - var port = new MockTnOutPort(); - - var aux = new Auxiliary(container); - aux.InPort().Connect(port); - - var hdvClass = VehicleClass.Class5; - var mission = MissionType.LongHaul; - - aux.AddConstant("FAN", - DeclarationData.Fan.Lookup(MissionType.LongHaul, "Hydraulic driven - Constant displacement pump")); - aux.AddConstant("PS", DeclarationData.PneumaticSystem.Lookup(mission, hdvClass)); - aux.AddConstant("STP", - DeclarationData.SteeringPump.Lookup(MissionType.LongHaul, hdvClass, "Variable displacement")); - aux.AddConstant("ES", DeclarationData.ElectricSystem.Lookup(mission, null)); - aux.AddConstant("AC", - DeclarationData.HeatingVentilationAirConditioning.Lookup(mission, hdvClass)); - - var speed = 1400.RPMtoRad(); - var torque = 500.SI<NewtonMeter>(); - var t = 0.SI<Second>(); - var dt = 1.SI<Second>(); - - for (var i = 0; i < 11; i++) { - aux.OutPort().Request(t, dt, torque, speed); - dataWriter[ModalResultField.dist] = i.SI<Meter>(); - container.CommitSimulationStep(t, dt); - t += dt; - } - - container.FinishSimulation(); - sumWriter.Finish(); - - //todo: add aux columns to test - var testColumns = new[] { "Paux_FAN", "Paux_STP", "Paux_AC", "Paux_ES", "Paux_PS", "Paux" }; - - ResultFileHelper.TestModFile(@"TestData\Results\EngineOnlyCycles\40t_Long_Haul_Truck_Long_Haul_Empty Loading.vmod", - @"AuxWriteModFileSumFile.vmod", testColumns, testRowCount: false); - ResultFileHelper.TestSumFile(@"TestData\Results\EngineOnlyCycles\40t_Long_Haul_Truck.vsum", - @"AuxWriteModFileSumFile.vsum"); - } - - [TestMethod] - public void AuxConstant() - { - var dataWriter = new MockModalDataWriter(); - var container = new VehicleContainer(dataWriter); - var port = new MockTnOutPort(); - var aux = new Auxiliary(container); - aux.InPort().Connect(port); - - var constPower = 1200.SI<Watt>(); - aux.AddConstant("CONSTANT", constPower); - - var speed = 2358.RPMtoRad(); - var torque = 500.SI<NewtonMeter>(); - var t = 0.SI<Second>(); - aux.OutPort().Request(t, t, torque, speed); - Assert.AreEqual(speed, port.AngularVelocity); - var newTorque = torque + constPower / speed; - AssertHelper.AreRelativeEqual(port.Torque, newTorque); - - speed = 2358.RPMtoRad(); - torque = 1500.SI<NewtonMeter>(); - aux.OutPort().Request(t, t, torque, speed); - Assert.AreEqual(speed, port.AngularVelocity); - newTorque = torque + constPower / speed; - AssertHelper.AreRelativeEqual(port.Torque, newTorque); - - speed = 1500.RPMtoRad(); - torque = 1500.SI<NewtonMeter>(); - aux.OutPort().Request(t, t, torque, speed); - Assert.AreEqual(speed, port.AngularVelocity); - newTorque = torque + constPower / speed; - AssertHelper.AreRelativeEqual(port.Torque, newTorque); - } - - [TestMethod] - public void AuxDirect() - { - var dataWriter = new MockModalDataWriter(); - var container = new VehicleContainer(dataWriter); - var data = DrivingCycleDataReader.ReadFromFileTimeBased(@"TestData\Cycles\Coach time based short.vdri"); - var cycle = new MockDrivingCycle(container, data); - var port = new MockTnOutPort(); - var aux = new Auxiliary(container); - aux.InPort().Connect(port); - - aux.AddDirect(cycle); - - var speed = 2358.RPMtoRad(); - var torque = 500.SI<NewtonMeter>(); - - var t = 0.SI<Second>(); - - var expected = new[] { 6100, 3100, 2300, 4500, 6100 }; - foreach (var e in expected) { - aux.OutPort().Request(t, t, torque, speed); - Assert.AreEqual(speed, port.AngularVelocity); - var newTorque = torque + e.SI<Watt>() / speed; - AssertHelper.AreRelativeEqual(port.Torque, newTorque); - - cycle.CommitSimulationStep(null); - } - } - - [TestMethod] - public void AuxAllCombined() - { - var dataWriter = new MockModalDataWriter(); - dataWriter.AddAuxiliary("ALT1"); - dataWriter.AddAuxiliary("CONSTANT"); - - var container = new VehicleContainer(dataWriter); - var data = DrivingCycleDataReader.ReadFromFileTimeBased(@"TestData\Cycles\Coach time based short.vdri"); - // cycle ALT1 is set to values to equal the first few fixed points in the auxiliary file. - // ALT1.aux file: nAuxiliary speed 2358: 0, 0.38, 0.49, 0.64, ... - // ALT1 in cycle file: 0, 0.3724 (=0.38*0.96), 0.4802 (=0.49*0.96), 0.6272 (0.64*0.96), ... - - var cycle = new MockDrivingCycle(container, data); - var port = new MockTnOutPort(); - - var aux = new Auxiliary(container); - aux.InPort().Connect(port); - - var auxData = AuxiliaryData.ReadFromFile(@"TestData\Components\24t_Coach_ALT.vaux"); - // ratio = 4.078 - // efficiency_engine = 0.96 - // efficiency_supply = 0.98 - - aux.AddMapping("ALT1", cycle, auxData); - aux.AddDirect(cycle); - var constPower = 1200.SI<Watt>(); - aux.AddConstant("CONSTANT", constPower); - - var speed = 578.22461991.RPMtoRad(); // = 2358 (nAuxiliary) * ratio - var torque = 500.SI<NewtonMeter>(); - var t = 0.SI<Second>(); - var expected = new[] { - 1200 + 6100 + 72.9166666666667, // = 1000 * 0.07 (nAuxiliary=2358 and psupply=0) / 0.98 (efficiency_supply) - 1200 + 3100 + 677.083333333333, // = 1000 * 0.65 (nAuxiliary=2358 and psupply=0.38) / 0.98 (efficiency_supply) - 1200 + 2300 + 822.916666666667, // = 1000 * 0.79 (nAuxiliary=2358 and psupply=0.49) / 0.98 (efficiency_supply) - 1200 + 4500 + 1031.25, // = ... - 1200 + 6100 + 1166.66666666667, - 1200 + 6100 + 1656.25, - 1200 + 6100 + 2072.91666666667, - 1200 + 6100 + 2510.41666666667, - 1200 + 6100 + 2979.16666666667, - 1200 + 6100 + 3322.91666666667, - 1200 + 6100 + 3656.25 - }; - - foreach (var e in expected) { - aux.OutPort().Request(t, t, torque, speed); - Assert.AreEqual(speed, port.AngularVelocity); - - AssertHelper.AreRelativeEqual(port.Torque, torque + e.SI<Watt>() / speed); - - cycle.CommitSimulationStep(null); - } - } - - [TestMethod] - public void AuxMapping() - { - var auxId = "ALT1"; - var dataWriter = new MockModalDataWriter(); - dataWriter.AddAuxiliary(auxId); - - var container = new VehicleContainer(dataWriter); - var data = DrivingCycleDataReader.ReadFromFileTimeBased(@"TestData\Cycles\Coach time based short.vdri"); - // cycle ALT1 is set to values to equal the first few fixed points in the auxiliary file. - // ALT1.aux file: nAuxiliary speed 2358: 0, 0.38, 0.49, 0.64, ... - // ALT1 in cycle file: 0, 0.3724 (=0.38*0.96), 0.4802 (=0.49*0.96), 0.6272 (0.64*0.96), ... - - var cycle = new MockDrivingCycle(container, data); - var port = new MockTnOutPort(); - - var aux = new Auxiliary(container); - aux.InPort().Connect(port); - - var auxData = AuxiliaryData.ReadFromFile(@"TestData\Components\24t_Coach_ALT.vaux"); - // ratio = 4.078 - // efficiency_engine = 0.96 - // efficiency_supply = 0.98 - - aux.AddMapping(auxId, cycle, auxData); - - var speed = 578.22461991.RPMtoRad(); // = 2358 (nAuxiliary) * ratio - var torque = 500.SI<NewtonMeter>(); - var t = 0.SI<Second>(); - var expected = new[] { - 72.9166666666667, // = 1000 * 0.07 (pmech from aux file at nAuxiliary=2358 and psupply=0) / 0.98 (efficiency_supply) - 677.083333333333, // = 1000 * 0.65 (nAuxiliary=2358 and psupply=0.38) / 0.98 - 822.916666666667, // = 1000 * 0.79 (nAuxiliary=2358 and psupply=0.49) / 0.98 - 1031.25, // = ... - 1166.66666666667, - 1656.25, - 2072.91666666667, - 2510.41666666667, - 2979.16666666667, - 3322.91666666667, - 3656.25 - }; - - foreach (var e in expected) { - aux.OutPort().Request(t, t, torque, speed); - Assert.AreEqual(speed, port.AngularVelocity); - - AssertHelper.AreRelativeEqual(port.Torque, torque + e.SI<Watt>() / speed); - - cycle.CommitSimulationStep(null); - } - } - - [TestMethod] - public void AuxColumnMissing() - { - var container = new VehicleContainer(); - var data = DrivingCycleDataReader.ReadFromFileTimeBased(@"TestData\Cycles\Coach time based short.vdri"); - var cycle = new MockDrivingCycle(container, data); - - var aux = new Auxiliary(container); - AssertHelper.Exception<VectoException>(() => aux.AddMapping("NONEXISTING_AUX", cycle, null), - "driving cycle does not contain column for auxiliary: NONEXISTING_AUX"); - } - - [TestMethod] - public void AuxFileMissing() - { - AssertHelper.Exception<VectoException>(() => AuxiliaryData.ReadFromFile(@"NOT_EXISTING_AUX_FILE.vaux"), - "Auxiliary file not found: NOT_EXISTING_AUX_FILE.vaux"); - } - - [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"); - - jobContainer.AddRuns(runsFactory); - jobContainer.Execute(); - - ResultFileHelper.TestSumFile(@"TestData\Results\Declaration\40t_Long_Haul_Truck.vsum", - @"AuxReadJobFileDeclarationMode.vsum"); - } - - [TestMethod, Ignore] - public void AuxReadJobFileEngineeringMode() - { - var sumWriter = new SummaryFileWriter(@"AuxReadJobFileEngineeringMode.vsum"); - var jobContainer = new JobContainer(sumWriter); - - var runsFactory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineeringMode, @"TestData\Jobs\24t Coach.vecto"); - - jobContainer.AddRuns(runsFactory); - jobContainer.Execute(); - - ResultFileHelper.TestSumFile(@"TestData\Results\Engineering\24t Coach.vsum", @"AuxReadJobFileEngineeringMode.vsum"); - - ResultFileHelper.TestModFile( - @"TestData\Results\Engineering\24t Coach_Coach_24t_xshort.vmod", - @"TestData\Jobs\24t Coach_Coach_24t_xshort.vmod"); - Assert.Inconclusive(); - } - - [TestMethod] - public void AuxDeclarationWrongConfiguration() - { - // test what happens if there was a wrong auxiliary configuration in declaration mode - Assert.Inconclusive(); - } - - [TestMethod] - public void AuxCycleAdditionalFieldMissing() - { - // test the case when the Padd field is missing (no direct auxiliary) - Assert.Inconclusive(); - } - } + [TestClass] + public class AuxTests + { + [TestMethod] + public void AuxWriteModFileSumFile() + { + var dataWriter = new ModalDataWriter(@"AuxWriteModFileSumFile.vmod"); + dataWriter.AddAuxiliary("FAN"); + dataWriter.AddAuxiliary("PS"); + dataWriter.AddAuxiliary("STP"); + dataWriter.AddAuxiliary("ES"); + dataWriter.AddAuxiliary("AC"); + + var sumWriter = new SummaryFileWriter(@"AuxWriteModFileSumFile.vsum"); + var container = new VehicleContainer(dataWriter, + (writer, mass, loading) => sumWriter.WriteFullPowertrain(dataWriter, "", "", "", null, null)); + var data = DrivingCycleDataReader.ReadFromFileDistanceBased(@"TestData\Cycles\LongHaul_short.vdri"); + var mockcycle = new MockDrivingCycle(container, data); + var port = new MockTnOutPort(); + + var aux = new Auxiliary(container); + aux.InPort().Connect(port); + + var hdvClass = VehicleClass.Class5; + var mission = MissionType.LongHaul; + + aux.AddConstant("FAN", + DeclarationData.Fan.Lookup(MissionType.LongHaul, "Hydraulic driven - Constant displacement pump")); + aux.AddConstant("PS", DeclarationData.PneumaticSystem.Lookup(mission, hdvClass)); + aux.AddConstant("STP", + DeclarationData.SteeringPump.Lookup(MissionType.LongHaul, hdvClass, "Variable displacement")); + aux.AddConstant("ES", DeclarationData.ElectricSystem.Lookup(mission, null)); + aux.AddConstant("AC", + DeclarationData.HeatingVentilationAirConditioning.Lookup(mission, hdvClass)); + + var speed = 1400.RPMtoRad(); + var torque = 500.SI<NewtonMeter>(); + var t = 0.SI<Second>(); + var dt = 1.SI<Second>(); + + for (var i = 0; i < 11; i++) { + aux.OutPort().Request(t, dt, torque, speed); + dataWriter[ModalResultField.dist] = i.SI<Meter>(); + dataWriter[ModalResultField.Pe_eng] = 0.SI<Watt>(); + dataWriter[ModalResultField.acc] = 0.SI<MeterPerSquareSecond>(); + container.CommitSimulationStep(t, dt); + t += dt; + } + + container.FinishSimulation(); + sumWriter.Finish(); + + //todo: add aux columns to test + var testColumns = new[] { "Paux_FAN", "Paux_STP", "Paux_AC", "Paux_ES", "Paux_PS", "Paux" }; + + ResultFileHelper.TestModFile( + @"TestData\Results\EngineOnlyCycles\40t_Long_Haul_Truck_Long_Haul_Empty Loading.vmod", + @"AuxWriteModFileSumFile.vmod", testColumns, testRowCount: false); + ResultFileHelper.TestSumFile(@"TestData\Results\EngineOnlyCycles\40t_Long_Haul_Truck.vsum", + @"AuxWriteModFileSumFile.vsum"); + } + + [TestMethod] + public void AuxConstant() + { + var dataWriter = new MockModalDataWriter(); + var container = new VehicleContainer(dataWriter); + var port = new MockTnOutPort(); + var aux = new Auxiliary(container); + aux.InPort().Connect(port); + + var constPower = 1200.SI<Watt>(); + aux.AddConstant("CONSTANT", constPower); + + var speed = 2358.RPMtoRad(); + var torque = 500.SI<NewtonMeter>(); + var t = 0.SI<Second>(); + aux.OutPort().Request(t, t, torque, speed); + Assert.AreEqual(speed, port.AngularVelocity); + var newTorque = torque + constPower / speed; + AssertHelper.AreRelativeEqual(port.Torque, newTorque); + + speed = 2358.RPMtoRad(); + torque = 1500.SI<NewtonMeter>(); + aux.OutPort().Request(t, t, torque, speed); + Assert.AreEqual(speed, port.AngularVelocity); + newTorque = torque + constPower / speed; + AssertHelper.AreRelativeEqual(port.Torque, newTorque); + + speed = 1500.RPMtoRad(); + torque = 1500.SI<NewtonMeter>(); + aux.OutPort().Request(t, t, torque, speed); + Assert.AreEqual(speed, port.AngularVelocity); + newTorque = torque + constPower / speed; + AssertHelper.AreRelativeEqual(port.Torque, newTorque); + } + + [TestMethod] + public void AuxDirect() + { + var dataWriter = new MockModalDataWriter(); + var container = new VehicleContainer(dataWriter); + var data = DrivingCycleDataReader.ReadFromFileTimeBased(@"TestData\Cycles\Coach time based short.vdri"); + var cycle = new MockDrivingCycle(container, data); + var port = new MockTnOutPort(); + var aux = new Auxiliary(container); + aux.InPort().Connect(port); + + aux.AddDirect(cycle); + + var speed = 2358.RPMtoRad(); + var torque = 500.SI<NewtonMeter>(); + + var t = 0.SI<Second>(); + + var expected = new[] { 6100, 3100, 2300, 4500, 6100 }; + foreach (var e in expected) { + aux.OutPort().Request(t, t, torque, speed); + Assert.AreEqual(speed, port.AngularVelocity); + var newTorque = torque + e.SI<Watt>() / speed; + AssertHelper.AreRelativeEqual(port.Torque, newTorque); + + cycle.CommitSimulationStep(null); + } + } + + [TestMethod] + public void AuxAllCombined() + { + var dataWriter = new MockModalDataWriter(); + dataWriter.AddAuxiliary("ALT1"); + dataWriter.AddAuxiliary("CONSTANT"); + + var container = new VehicleContainer(dataWriter); + var data = DrivingCycleDataReader.ReadFromFileTimeBased(@"TestData\Cycles\Coach time based short.vdri"); + // cycle ALT1 is set to values to equal the first few fixed points in the auxiliary file. + // ALT1.aux file: nAuxiliary speed 2358: 0, 0.38, 0.49, 0.64, ... + // ALT1 in cycle file: 0, 0.3724 (=0.38*0.96), 0.4802 (=0.49*0.96), 0.6272 (0.64*0.96), ... + + var cycle = new MockDrivingCycle(container, data); + var port = new MockTnOutPort(); + + var aux = new Auxiliary(container); + aux.InPort().Connect(port); + + var auxData = AuxiliaryData.ReadFromFile(@"TestData\Components\24t_Coach_ALT.vaux"); + // ratio = 4.078 + // efficiency_engine = 0.96 + // efficiency_supply = 0.98 + + aux.AddMapping("ALT1", cycle, auxData); + aux.AddDirect(cycle); + var constPower = 1200.SI<Watt>(); + aux.AddConstant("CONSTANT", constPower); + + var speed = 578.22461991.RPMtoRad(); // = 2358 (nAuxiliary) * ratio + var torque = 500.SI<NewtonMeter>(); + var t = 0.SI<Second>(); + var expected = new[] { + 1200 + 6100 + 72.9166666666667, + // = 1000 * 0.07 (nAuxiliary=2358 and psupply=0) / 0.98 (efficiency_supply) + 1200 + 3100 + 677.083333333333, + // = 1000 * 0.65 (nAuxiliary=2358 and psupply=0.38) / 0.98 (efficiency_supply) + 1200 + 2300 + 822.916666666667, + // = 1000 * 0.79 (nAuxiliary=2358 and psupply=0.49) / 0.98 (efficiency_supply) + 1200 + 4500 + 1031.25, // = ... + 1200 + 6100 + 1166.66666666667, + 1200 + 6100 + 1656.25, + 1200 + 6100 + 2072.91666666667, + 1200 + 6100 + 2510.41666666667, + 1200 + 6100 + 2979.16666666667, + 1200 + 6100 + 3322.91666666667, + 1200 + 6100 + 3656.25 + }; + + foreach (var e in expected) { + aux.OutPort().Request(t, t, torque, speed); + Assert.AreEqual(speed, port.AngularVelocity); + + AssertHelper.AreRelativeEqual(port.Torque, torque + e.SI<Watt>() / speed); + + cycle.CommitSimulationStep(null); + } + } + + [TestMethod] + public void AuxMapping() + { + var auxId = "ALT1"; + var dataWriter = new MockModalDataWriter(); + dataWriter.AddAuxiliary(auxId); + + var container = new VehicleContainer(dataWriter); + var data = DrivingCycleDataReader.ReadFromFileTimeBased(@"TestData\Cycles\Coach time based short.vdri"); + // cycle ALT1 is set to values to equal the first few fixed points in the auxiliary file. + // ALT1.aux file: nAuxiliary speed 2358: 0, 0.38, 0.49, 0.64, ... + // ALT1 in cycle file: 0, 0.3724 (=0.38*0.96), 0.4802 (=0.49*0.96), 0.6272 (0.64*0.96), ... + + var cycle = new MockDrivingCycle(container, data); + var port = new MockTnOutPort(); + + var aux = new Auxiliary(container); + aux.InPort().Connect(port); + + var auxData = AuxiliaryData.ReadFromFile(@"TestData\Components\24t_Coach_ALT.vaux"); + // ratio = 4.078 + // efficiency_engine = 0.96 + // efficiency_supply = 0.98 + + aux.AddMapping(auxId, cycle, auxData); + + var speed = 578.22461991.RPMtoRad(); // = 2358 (nAuxiliary) * ratio + var torque = 500.SI<NewtonMeter>(); + var t = 0.SI<Second>(); + var expected = new[] { + 72.9166666666667, + // = 1000 * 0.07 (pmech from aux file at nAuxiliary=2358 and psupply=0) / 0.98 (efficiency_supply) + 677.083333333333, // = 1000 * 0.65 (nAuxiliary=2358 and psupply=0.38) / 0.98 + 822.916666666667, // = 1000 * 0.79 (nAuxiliary=2358 and psupply=0.49) / 0.98 + 1031.25, // = ... + 1166.66666666667, + 1656.25, + 2072.91666666667, + 2510.41666666667, + 2979.16666666667, + 3322.91666666667, + 3656.25 + }; + + foreach (var e in expected) { + aux.OutPort().Request(t, t, torque, speed); + Assert.AreEqual(speed, port.AngularVelocity); + + AssertHelper.AreRelativeEqual(port.Torque, torque + e.SI<Watt>() / speed); + + cycle.CommitSimulationStep(null); + } + } + + [TestMethod] + public void AuxColumnMissing() + { + var container = new VehicleContainer(); + var data = DrivingCycleDataReader.ReadFromFileTimeBased(@"TestData\Cycles\Coach time based short.vdri"); + var cycle = new MockDrivingCycle(container, data); + + var aux = new Auxiliary(container); + AssertHelper.Exception<VectoException>(() => aux.AddMapping("NONEXISTING_AUX", cycle, null), + "driving cycle does not contain column for auxiliary: NONEXISTING_AUX"); + } + + [TestMethod] + public void AuxFileMissing() + { + AssertHelper.Exception<VectoException>(() => AuxiliaryData.ReadFromFile(@"NOT_EXISTING_AUX_FILE.vaux"), + "Auxiliary file not found: NOT_EXISTING_AUX_FILE.vaux"); + } + + [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"); + + jobContainer.AddRuns(runsFactory); + jobContainer.Execute(); + + ResultFileHelper.TestSumFile(@"TestData\Results\Declaration\40t_Long_Haul_Truck.vsum", + @"AuxReadJobFileDeclarationMode.vsum"); + } + + [TestMethod, Ignore] + public void AuxReadJobFileEngineeringMode() + { + var sumWriter = new SummaryFileWriter(@"AuxReadJobFileEngineeringMode.vsum"); + var jobContainer = new JobContainer(sumWriter); + + var runsFactory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineeringMode, + @"TestData\Jobs\24t Coach.vecto"); + + jobContainer.AddRuns(runsFactory); + jobContainer.Execute(); + + ResultFileHelper.TestSumFile(@"TestData\Results\Engineering\24t Coach.vsum", + @"AuxReadJobFileEngineeringMode.vsum"); + + ResultFileHelper.TestModFile( + @"TestData\Results\Engineering\24t Coach_Coach_24t_xshort.vmod", + @"TestData\Jobs\24t Coach_Coach_24t_xshort.vmod"); + Assert.Inconclusive(); + } + + [TestMethod] + public void AuxDeclarationWrongConfiguration() + { + // test what happens if there was a wrong auxiliary configuration in declaration mode + Assert.Inconclusive(); + } + + [TestMethod] + public void AuxCycleAdditionalFieldMissing() + { + // test the case when the Padd field is missing (no direct auxiliary) + Assert.Inconclusive(); + } + } } \ No newline at end of file diff --git a/VectoCoreTest/Models/Simulation/SimulationTests.cs b/VectoCoreTest/Models/Simulation/SimulationTests.cs index 8201a30ab6d09c60aba786e627e0011b0d1c41bd..a5369cf178aa04da5cc719a2edcb3712a0aeaf4d 100644 --- a/VectoCoreTest/Models/Simulation/SimulationTests.cs +++ b/VectoCoreTest/Models/Simulation/SimulationTests.cs @@ -9,103 +9,104 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Tests.Models.Simulation { - [TestClass] - public class SimulationTests - { - private const string EngineFile = @"TestData\Components\24t Coach.veng"; - private const string CycleFile = @"TestData\Cycles\Coach Engine Only short.vdri"; - - private const string EngineOnlyJob = @"TestData\Jobs\EngineOnlyJob.vecto"; - - [TestMethod] - public void TestSimulationEngineOnly() - { - var resultFileName = "TestEngineOnly-result.vmod"; - var job = CreateRun(resultFileName); - - var container = job.GetContainer(); - - Assert.AreEqual(560.RPMtoRad(), container.EngineSpeed); - Assert.AreEqual(0U, container.Gear); - } - - [TestMethod] - public void TestEngineOnly_JobRun() - { - var actual = @"TestData\Jobs\EngineOnlyJob_Coach Engine Only short.vmod"; - var expected = @"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod"; - - var job = CreateRun(actual); - job.Run(); - - ResultFileHelper.TestModFile(expected, actual); - } - - private class MockSumWriter : SummaryFileWriter - { - public override void Write(bool isEngineOnly, IModalDataWriter data, string jobFileName, string jobName, - string cycleFileName, - Kilogram vehicleMass, Kilogram vehicleLoading) {} - - public override void Finish() {} - } - - - [TestMethod] - public void TestEngineOnly_SimulatorRun() - { - var actual = @"TestData\Jobs\EngineOnlyJob_Coach Engine Only short.vmod"; - var expected = @"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod"; - - var run = CreateRun(actual); - - var sim = new JobContainer(new MockSumWriter()); - sim.AddRun(run); - sim.Execute(); - - ResultFileHelper.TestModFile(expected, actual); - } - - public IVectoRun CreateRun(string resultFileName) - { - var sumFileName = resultFileName.Substring(0, resultFileName.Length - 5) + Constants.FileExtensions.SumFile; - - var dataWriter = new ModalDataWriter(resultFileName, SimulatorFactory.FactoryMode.EngineOnlyMode); - var sumWriter = new SummaryFileWriter(sumFileName); - - var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineOnlyMode, EngineOnlyJob) { - SumWriter = sumWriter - }; - - return factory.SimulationRuns().First(); - } - - [TestMethod] - public void Test_VectoJob() - { - var sumWriter = new SummaryFileWriter(@"24t Coach.vsum"); - var jobContainer = new JobContainer(sumWriter); - - var runsFactory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineOnlyMode, - @"TestData\Jobs\24t Coach EngineOnly.vecto"); - - jobContainer.AddRuns(runsFactory); - jobContainer.Execute(); - - jobContainer.WaitFinished(); - - ResultFileHelper.TestSumFile(@"TestData\Results\EngineOnlyCycles\24t Coach.vsum", @"24t Coach.vsum"); - - ResultFileHelper.TestModFiles(new[] { - @"TestData\Results\EngineOnlyCycles\24t Coach_Engine Only1.vmod", - @"TestData\Results\EngineOnlyCycles\24t Coach_Engine Only2.vmod", - @"TestData\Results\EngineOnlyCycles\24t Coach_Engine Only3.vmod" - }, new[] { - @"TestData\Jobs\24t Coach EngineOnly_Engine Only1.vmod", - @"TestData\Jobs\24t Coach EngineOnly_Engine Only2.vmod", - @"TestData\Jobs\24t Coach EngineOnly_Engine Only3.vmod" - }) - ; - } - } + [TestClass] + public class SimulationTests + { + private const string EngineFile = @"TestData\Components\24t Coach.veng"; + private const string CycleFile = @"TestData\Cycles\Coach Engine Only short.vdri"; + + private const string EngineOnlyJob = @"TestData\Jobs\EngineOnlyJob.vecto"; + + [TestMethod] + public void TestSimulationEngineOnly() + { + var resultFileName = "TestEngineOnly-result.vmod"; + var job = CreateRun(resultFileName); + + var container = job.GetContainer(); + + Assert.AreEqual(560.RPMtoRad(), container.EngineSpeed); + Assert.AreEqual(0U, container.Gear); + } + + [TestMethod] + public void TestEngineOnly_JobRun() + { + var actual = @"TestData\Jobs\EngineOnlyJob_Coach Engine Only short.vmod"; + var expected = @"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod"; + + var job = CreateRun(actual); + job.Run(); + + ResultFileHelper.TestModFile(expected, actual); + } + + private class MockSumWriter : SummaryFileWriter + { + public override void Write(bool isEngineOnly, IModalDataWriter data, string jobFileName, string jobName, + string cycleFileName, + Kilogram vehicleMass, Kilogram vehicleLoading) {} + + public override void Finish() {} + } + + + [TestMethod] + public void TestEngineOnly_SimulatorRun() + { + var actual = @"TestData\Jobs\EngineOnlyJob_Coach Engine Only short.vmod"; + var expected = @"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod"; + + var run = CreateRun(actual); + + var sim = new JobContainer(new MockSumWriter()); + sim.AddRun(run); + sim.Execute(); + sim.WaitFinished(); + + ResultFileHelper.TestModFile(expected, actual); + } + + public IVectoRun CreateRun(string resultFileName) + { + var sumFileName = resultFileName.Substring(0, resultFileName.Length - 5) + Constants.FileExtensions.SumFile; + + var dataWriter = new ModalDataWriter(resultFileName, SimulatorFactory.FactoryMode.EngineOnlyMode); + var sumWriter = new SummaryFileWriter(sumFileName); + + var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineOnlyMode, EngineOnlyJob) { + SumWriter = sumWriter + }; + + return factory.SimulationRuns().First(); + } + + [TestMethod] + public void Test_VectoJob() + { + var sumWriter = new SummaryFileWriter(@"24t Coach.vsum"); + var jobContainer = new JobContainer(sumWriter); + + var runsFactory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineOnlyMode, + @"TestData\Jobs\24t Coach EngineOnly.vecto"); + + jobContainer.AddRuns(runsFactory); + jobContainer.Execute(); + + jobContainer.WaitFinished(); + + ResultFileHelper.TestSumFile(@"TestData\Results\EngineOnlyCycles\24t Coach.vsum", @"24t Coach.vsum"); + + ResultFileHelper.TestModFiles(new[] { + @"TestData\Results\EngineOnlyCycles\24t Coach_Engine Only1.vmod", + @"TestData\Results\EngineOnlyCycles\24t Coach_Engine Only2.vmod", + @"TestData\Results\EngineOnlyCycles\24t Coach_Engine Only3.vmod" + }, new[] { + @"TestData\Jobs\24t Coach EngineOnly_Engine Only1.vmod", + @"TestData\Jobs\24t Coach EngineOnly_Engine Only2.vmod", + @"TestData\Jobs\24t Coach EngineOnly_Engine Only3.vmod" + }) + ; + } + } } \ No newline at end of file diff --git a/VectoCoreTest/Reports/SumWriterTest.cs b/VectoCoreTest/Reports/SumWriterTest.cs index e6bf52553d1dc477eb069d463771b40baab10ed5..6c5e7dde3fcec03f197e4e317e4c3803b9dd0369 100644 --- a/VectoCoreTest/Reports/SumWriterTest.cs +++ b/VectoCoreTest/Reports/SumWriterTest.cs @@ -6,96 +6,102 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Tests.Reports { - [TestClass] - public class SumWriterTest - { - [TestMethod] - public void TestSumCalcFixedTime() - { - var sumWriter = new SummaryFileWriter("testsumcalc_fixed.vsum"); - - var modData = new ModalDataWriter("testsumcalc_fixed.vmod"); - modData.AddAuxiliary("FAN"); - - for (var i = 0; i < 500; i++) { - modData[ModalResultField.simulationInterval] = 1.SI<Second>(); - modData[ModalResultField.time] = i.SI<Second>(); - modData[ModalResultField.dist] = i.SI<Meter>(); - modData["FAN"] = 3000.SI<Watt>(); - modData[ModalResultField.Pair] = 3000.SI<Watt>(); - modData[ModalResultField.Proll] = 3000.SI<Watt>(); - modData[ModalResultField.Pgrad] = 3000.SI<Watt>(); - modData[ModalResultField.Paux] = 3000.SI<Watt>(); - modData[ModalResultField.Pbrake] = 3000.SI<Watt>(); - - modData[ModalResultField.FCMap] = 1e-4.SI<KilogramPerSecond>(); - - modData[ModalResultField.altitude] = 0.SI<Meter>(); - modData.CommitSimulationStep(); - } - - sumWriter.WriteFullPowertrain(modData, "testSumCalc", "--", "--", 0.SI<Kilogram>(), 0.SI<Kilogram>()); - - modData.Finish(VectoRun.Status.Success); - sumWriter.Finish(); - - var sumData = VectoCSVFile.Read("testsumcalc_fixed.vsum", false, true); - - // 3kW * 500s => to kWh - Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Eair [kWh]"), 1e-3); - Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Eaux_FAN [kWh]"), 1e-3); - Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Eroll [kWh]"), 1e-3); - Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Egrad [kWh]"), 1e-3); - Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Eaux [kWh]"), 1e-3); - Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Ebrake [kWh]"), 1e-3); - - // 500s * 1e-4 kg/s = 0.05kg => 0.05kg / 499s => to g/h - Assert.AreEqual((500.0 * 1e-4) * 1000 * 3600 / 499.0, sumData.Rows[0].ParseDouble("FC-Map [g/h]"), 1e-3); - // 500s * 1e-4 kg/s = 0.05kg => 0.05kg / 499m => to g/km - Assert.AreEqual((500.0 * 1e-4) * 1000 * 1000 / 499.0, sumData.Rows[0].ParseDouble("FC-Map [g/km]"), 1e-3); - } - - [TestMethod] - public void TestSumCalcVariableTime() - { - var sumWriter = new SummaryFileWriter("testsumcalc_var.vsum"); - - var modData = new ModalDataWriter("testsumcalc_var.vmod"); - modData.AddAuxiliary("FAN"); - - var timeSteps = new[] { 0.5.SI<Second>(), 0.3.SI<Second>(), 1.2.SI<Second>(), 12.SI<Second>(), 0.1.SI<Second>() }; - var powerDemand = new[] { 1000.SI<Watt>(), 1500.SI<Watt>(), 2000.SI<Watt>(), 2500.SI<Watt>(), 3000.SI<Watt>() }; - - for (var i = 0; i < 500; i++) { - modData[ModalResultField.simulationInterval] = timeSteps[i % timeSteps.Count()]; - modData[ModalResultField.time] = i.SI<Second>(); - modData[ModalResultField.dist] = i.SI<Meter>(); - modData["FAN"] = powerDemand[i % powerDemand.Count()]; - modData[ModalResultField.Pair] = powerDemand[i % powerDemand.Count()]; - modData[ModalResultField.Proll] = powerDemand[i % powerDemand.Count()]; - modData[ModalResultField.Pgrad] = powerDemand[i % powerDemand.Count()]; - modData[ModalResultField.Paux] = powerDemand[i % powerDemand.Count()]; - modData[ModalResultField.Pbrake] = powerDemand[i % powerDemand.Count()]; - - modData[ModalResultField.altitude] = 0.SI<Meter>(); - modData[ModalResultField.acc] = 0.SI<MeterPerSquareSecond>(); - modData.CommitSimulationStep(); - } - - sumWriter.WriteFullPowertrain(modData, "testSumCalc", "--", "--", 0.SI<Kilogram>(), 0.SI<Kilogram>()); - - modData.Finish(VectoRun.Status.Success); - sumWriter.Finish(); - - var sumData = VectoCSVFile.Read("testsumcalc_var.vsum", false, true); - - // sum(dt * p) => to kWh - Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Eair [kWh]"), 1e-3); - Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Eaux_FAN [kWh]"), 1e-3); - Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Eroll [kWh]"), 1e-3); - Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Egrad [kWh]"), 1e-3); - Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Eaux [kWh]"), 1e-3); - Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Ebrake [kWh]"), 1e-3); - } - } + [TestClass] + public class SumWriterTest + { + [TestMethod] + public void TestSumCalcFixedTime() + { + var sumWriter = new SummaryFileWriter("testsumcalc_fixed.vsum"); + + var modData = new ModalDataWriter("testsumcalc_fixed.vmod"); + modData.AddAuxiliary("FAN"); + + for (var i = 0; i < 500; i++) { + modData[ModalResultField.simulationInterval] = 1.SI<Second>(); + modData[ModalResultField.time] = i.SI<Second>(); + modData[ModalResultField.dist] = i.SI<Meter>(); + modData["FAN"] = 3000.SI<Watt>(); + modData[ModalResultField.Pair] = 3000.SI<Watt>(); + modData[ModalResultField.Proll] = 3000.SI<Watt>(); + modData[ModalResultField.Pgrad] = 3000.SI<Watt>(); + modData[ModalResultField.Paux] = 3000.SI<Watt>(); + modData[ModalResultField.Pbrake] = 3000.SI<Watt>(); + + modData[ModalResultField.FCMap] = 1e-4.SI<KilogramPerSecond>(); + + modData[ModalResultField.altitude] = 0.SI<Meter>(); + modData[ModalResultField.acc] = 0.SI<MeterPerSquareSecond>(); + modData[ModalResultField.Pe_eng] = (i % 2 == 0 ? 1 : -1) * 3000.SI<Watt>(); + + modData.CommitSimulationStep(); + } + + sumWriter.WriteFullPowertrain(modData, "testSumCalc", "--", "--", 0.SI<Kilogram>(), 0.SI<Kilogram>()); + + modData.Finish(VectoRun.Status.Success); + sumWriter.Finish(); + + var sumData = VectoCSVFile.Read("testsumcalc_fixed.vsum", false, true); + + // 3kW * 500s => to kWh + Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Eair [kWh]"), 1e-3); + Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Eaux_FAN [kWh]"), 1e-3); + Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Eroll [kWh]"), 1e-3); + Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Egrad [kWh]"), 1e-3); + Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Eaux [kWh]"), 1e-3); + Assert.AreEqual(500.0 * 3000.0 / 1000 / 3600, sumData.Rows[0].ParseDouble("Ebrake [kWh]"), 1e-3); + + // 500s * 1e-4 kg/s = 0.05kg => 0.05kg / 499s => to g/h + Assert.AreEqual((500.0 * 1e-4) * 1000 * 3600 / 499.0, sumData.Rows[0].ParseDouble("FC-Map [g/h]"), 1e-3); + // 500s * 1e-4 kg/s = 0.05kg => 0.05kg / 499m => to g/km + Assert.AreEqual((500.0 * 1e-4) * 1000 * 1000 / 499.0, sumData.Rows[0].ParseDouble("FC-Map [g/km]"), 1e-3); + } + + [TestMethod] + public void TestSumCalcVariableTime() + { + var sumWriter = new SummaryFileWriter("testsumcalc_var.vsum"); + + var modData = new ModalDataWriter("testsumcalc_var.vmod"); + modData.AddAuxiliary("FAN"); + + var timeSteps = new[] + { 0.5.SI<Second>(), 0.3.SI<Second>(), 1.2.SI<Second>(), 12.SI<Second>(), 0.1.SI<Second>() }; + var powerDemand = new[] + { 1000.SI<Watt>(), 1500.SI<Watt>(), 2000.SI<Watt>(), 2500.SI<Watt>(), 3000.SI<Watt>() }; + + for (var i = 0; i < 500; i++) { + modData[ModalResultField.simulationInterval] = timeSteps[i % timeSteps.Count()]; + modData[ModalResultField.time] = i.SI<Second>(); + modData[ModalResultField.dist] = i.SI<Meter>(); + modData["FAN"] = powerDemand[i % powerDemand.Count()]; + modData[ModalResultField.Pair] = powerDemand[i % powerDemand.Count()]; + modData[ModalResultField.Proll] = powerDemand[i % powerDemand.Count()]; + modData[ModalResultField.Pgrad] = powerDemand[i % powerDemand.Count()]; + modData[ModalResultField.Paux] = powerDemand[i % powerDemand.Count()]; + modData[ModalResultField.Pbrake] = powerDemand[i % powerDemand.Count()]; + + modData[ModalResultField.altitude] = 0.SI<Meter>(); + modData[ModalResultField.acc] = 0.SI<MeterPerSquareSecond>(); + modData[ModalResultField.Pe_eng] = (i % 2 == 0 ? 1 : -1) * powerDemand[i % powerDemand.Count()]; + modData.CommitSimulationStep(); + } + + sumWriter.WriteFullPowertrain(modData, "testSumCalc", "--", "--", 0.SI<Kilogram>(), 0.SI<Kilogram>()); + + modData.Finish(VectoRun.Status.Success); + sumWriter.Finish(); + + var sumData = VectoCSVFile.Read("testsumcalc_var.vsum", false, true); + + // sum(dt * p) => to kWh + Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Eair [kWh]"), 1e-3); + Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Eaux_FAN [kWh]"), 1e-3); + Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Eroll [kWh]"), 1e-3); + Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Egrad [kWh]"), 1e-3); + Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Eaux [kWh]"), 1e-3); + Assert.AreEqual(0.934722222, sumData.Rows[0].ParseDouble("Ebrake [kWh]"), 1e-3); + } + } } \ No newline at end of file diff --git a/VectoCoreTest/TestData/Results/EngineOnlyCycles/40t_Long_Haul_Truck.vsum b/VectoCoreTest/TestData/Results/EngineOnlyCycles/40t_Long_Haul_Truck.vsum index 689d0c5eaefbe56bc6ee3e9cadbbf1fef7f3c491..80f890f7f8d11a3bc770c96d8843ee2c20e8383f 100644 --- a/VectoCoreTest/TestData/Results/EngineOnlyCycles/40t_Long_Haul_Truck.vsum +++ b/VectoCoreTest/TestData/Results/EngineOnlyCycles/40t_Long_Haul_Truck.vsum @@ -1,2 +1,2 @@ -Job [-],Input File [-],Cycle [-],time [s],distance [km],speed [km/h],∆altitude [m],Eaux_FAN [kWh],Eaux_PS [kWh],Eaux_STP [kWh],Eaux_ES [kWh],Eaux_AC [kWh],Ppos [kW],Pneg [kW],FC-Map [g/h],FC-Map [g/km],FC-AUXc [g/h],FC-AUXc [g/km],FC-WHTCc [g/h],FC-WHTCc [g/km],CO2 [g/km],CO2 [g/tkm],FC-Final [g/km],FC-Final [l/100tkm],FC-Final [l/100km],PwheelPos [kW],Pbrake [kW],EposICE [kWh],EnegICE [kWh],Eair [kWh],Eroll [kWh],Egrad [kWh],Eacc [kWh],Eaux [kWh],Ebrake [kWh],Etransm [kWh],Eretarder [kWh],Etorqueconv [kWh],Mass [kg],Loading [kg],a [m/s^2],a_pos [m/s^2],a_neg [m/s^2],Acc.Noise [m/s^2],pAcc [%],pDec [%],pCruise [%],pStop [%] -1,40t_Long_Haul_Truck.vecto,Long_Haul.vdri,5188,108.1817,75.06826,0.4176572,1.44111111111111,1.93108893699116,0.62256001614862,2.55282541645898,0.504388880299197,84.2005492982813,-1.38841319755122,16373.51,218.1149,-,-,16610.92,221.2776,699.2371,-,221.2776,-,26.59586,71.9230417326127,-2.65873198913168,121.342347155412,-2.00085768580437,-68.5272798927924,-27.4112346063885,-0.000913775395601988,6.82509400778347E-08,-7.05197461869982,-3.8315282110042,-10.5097224537532,-2.00511476749089,0,14600,0,-4.595578E-10,0.4826669,-0.5824779,0.194878,0.04471858,0.03797225,0.870663,0.04664611 \ No newline at end of file +Job [-],Input File [-],Cycle [-],Status,time [s],distance [km],speed [km/h],∆altitude [m],Eaux_FAN [kWh],Eaux_PS [kWh],Eaux_STP [kWh],Eaux_ES [kWh],Eaux_AC [kWh],Ppos [kW],Pneg [kW],FC-Map [g/h],FC-Map [g/km],FC-AUXc [g/h],FC-AUXc [g/km],FC-WHTCc [g/h],FC-WHTCc [g/km],CO2 [g/km],CO2 [g/tkm],FC-Final [g/km],FC-Final [l/100tkm],FC-Final [l/100km],PwheelPos [kW],Pbrake [kW],EposICE [kWh],EnegICE [kWh],Eair [kWh],Eroll [kWh],Egrad [kWh],Eacc [kWh],Eaux [kWh],Ebrake [kWh],Etransm [kWh],Eretarder [kWh],Etorqueconv [kWh],Mass [kg],Loading [kg],a [m/s^2],a_pos [m/s^2],a_neg [m/s^2],Acc.Noise [m/s^2],pAcc [%],pDec [%],pCruise [%],pStop [%] +1,40t_Long_Haul_Truck.vecto,Long_Haul.vdri,Success,5188,108.1817,75.06826,0.4176572,1.44111111111111,1.93108893699116,0.62256001614862,2.55282541645898,0.504388880299197,84.2005492982813,-1.38841319755122,16373.51,218.1149,-,-,16610.92,221.2776,699.2371,-,221.2776,-,26.59586,71.9230417326127,-2.65873198913168,121.342347155412,-2.00085768580437,-68.5272798927924,-27.4112346063885,-0.000913775395601988,6.82509400778347E-08,-7.05197461869982,-3.8315282110042,-10.5097224537532,-2.00511476749089,0,14600,0,-4.595578E-10,0.4826669,-0.5824779,0.194878,0.04471858,0.03797225,0.870663,0.04664611 \ No newline at end of file