From 61d1c09070c0ea859e91aa38d9e6934a973eefa5 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Wed, 30 May 2018 12:56:05 +0200 Subject: [PATCH] adding testcase: cycle with 0 stopping time at the beginning --- .../DistanceBasedDrivingCycleTest.cs | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/DistanceBasedDrivingCycleTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/DistanceBasedDrivingCycleTest.cs index 4da358922f..faa6945e94 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/DistanceBasedDrivingCycleTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/DistanceBasedDrivingCycleTest.cs @@ -29,16 +29,21 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ +using System.Globalization; +using System.IO; using NUnit.Framework; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; +using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.Reader; using TUGraz.VectoCore.Models.Connector.Ports.Impl; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Models.SimulationComponent.Impl; +using TUGraz.VectoCore.OutputData; +using TUGraz.VectoCore.OutputData.FileIO; using TUGraz.VectoCore.Tests.Integration; using TUGraz.VectoCore.Tests.Utils; @@ -51,6 +56,11 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent public const double Tolerance = 0.0001; + [OneTimeSetUp] + public void RunBeforeAnyTests() + { + Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory); + } [TestCase] public void TestLimitRequst() @@ -219,5 +229,46 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent container.CommitSimulationStep(absTime, response.SimulationInterval); absTime += response.SimulationInterval; } + + [TestCase] + public void CycleStartsWithNoStopTime() + { + var data = new string[] { + // <s>,<v>,<grad>,<stop> + " 0, 0, 0, 0", + " 10, 50, 0, 0", + "100, 50, 0, 0" + }; + var cycleData = SimpleDrivingCycles.CreateCycleData(data); + + var modFileName = string.Format(CultureInfo.InvariantCulture, "CyccleStartWithoutStop.vmod"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycleData, modFileName); + + + run.Run(); + + Assert.IsTrue(run.FinishedWithoutErrors, "Cycle start witout stoptime FAILED"); + } + + [TestCase] + public void CycleWithZeroStopTime() + { + var data = new string[] { + // <s>,<v>,<grad>,<stop> + " 0, 0, 0, 2", + "100, 50, 0, 0", + "120, 0, 0, 0", + "200, 50, 0, 0" + }; + var cycleData = SimpleDrivingCycles.CreateCycleData(data); + + var modFileName = string.Format(CultureInfo.InvariantCulture, "CyccleWithZeroStoptime.vmod"); + var run = Truck40tPowerTrain.CreateEngineeringRun(cycleData, modFileName); + + + run.Run(); + + Assert.IsTrue(run.FinishedWithoutErrors, "Cycle start witout stoptime FAILED"); + } } } -- GitLab