diff --git a/VectoCore/Models/Simulation/Data/ISummaryDataWriter.cs b/VectoCore/Models/Simulation/Data/ISummaryDataWriter.cs deleted file mode 100644 index 3da42f812217ad2536c3a680e3766f2df57fd244..0000000000000000000000000000000000000000 --- a/VectoCore/Models/Simulation/Data/ISummaryDataWriter.cs +++ /dev/null @@ -1,23 +0,0 @@ -using TUGraz.VectoCore.Utils; - -namespace TUGraz.VectoCore.Models.Simulation.Data -{ - /// <summary> - /// Provides methods to write and finish the Summary. - /// </summary> - public interface ISummaryDataWriter - { - /// <summary> - /// Writes a single sum entry for the given modaldata of the job. - /// </summary> - /// <param name="data">The modal data.</param> - /// <param name="vehicleMass">The vehicle mass.</param> - /// <param name="vehicleLoading">The vehicle loading.</param> - void Write(IModalDataWriter data, Kilogram vehicleMass = null, Kilogram vehicleLoading = null); - - /// <summary> - /// Writes the data to the sum file. - /// </summary> - void Finish(); - } -} \ No newline at end of file diff --git a/VectoCore/Models/Simulation/Data/SummaryFileWriter.cs b/VectoCore/Models/Simulation/Data/SummaryFileWriter.cs index 5e18492b231bb9b50029ea463143d3e58063fa2e..d6d221a3d814e0b84af2ee0ea3199b68a026afb4 100644 --- a/VectoCore/Models/Simulation/Data/SummaryFileWriter.cs +++ b/VectoCore/Models/Simulation/Data/SummaryFileWriter.cs @@ -2,11 +2,13 @@ using System.Data; using System.Linq; using System.Runtime.CompilerServices; -using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.Simulation.Data { + public delegate void WriteSumData(IModalDataWriter data, Kilogram vehicleMass, Kilogram loading); + + /// <summary> /// Class for the sum file in vecto. /// </summary> @@ -88,6 +90,17 @@ namespace TUGraz.VectoCore.Models.Simulation.Data }.Select(x => new DataColumn(x, typeof(SI))).ToArray()); } + public virtual void Write(bool isEngineOnly, IModalDataWriter data, string jobFileName, string jobName, string cycleFileName, + Kilogram vehicleMass, Kilogram vehicleLoading) + { + if (isEngineOnly) { + WriteEngineOnly(data, jobFileName, jobName, cycleFileName); + } else { + WriteFullPowertrain(data, jobFileName, jobName, cycleFileName, vehicleMass, vehicleLoading); + } + } + + protected internal void WriteEngineOnly(IModalDataWriter data, string jobFileName, string jobName, string cycleFileName) { @@ -206,55 +219,4 @@ namespace TUGraz.VectoCore.Models.Simulation.Data VectoCSVFile.Write(_sumFileName, new DataView(_table).ToTable(false, dataColumns.ToArray())); } } -} - -/// <summary> -/// Decorator for FullPowertrain which adds some data for later use in the SummaryFileWriter. -/// </summary> -public class SumWriterDecoratorFullPowertrain : SummaryFileWriter, ISummaryDataWriter -{ - private readonly SummaryFileWriter _writer; - private readonly string _jobFileName; - private readonly string _jobName; - private readonly string _cycleFileName; - - public SumWriterDecoratorFullPowertrain(SummaryFileWriter writer, string jobFileName, string jobName, - string cycleFileName) - { - _writer = writer; - _jobFileName = jobFileName; - _jobName = jobName; - _cycleFileName = cycleFileName; - } - - public void Write(IModalDataWriter data, Kilogram vehicleMass = null, Kilogram vehicleLoading = null) - { - Log.Info("Writing Summary File"); - _writer.WriteFullPowertrain(data, _jobFileName, _jobName, _cycleFileName, vehicleMass, vehicleLoading); - } -} - - -/// <summary> -/// Decorator for EngineOnly Mode which adds some data for later use in the SummaryFileWriter. -/// </summary> -public class SumWriterDecoratorEngineOnly : SummaryFileWriter, ISummaryDataWriter -{ - private readonly SummaryFileWriter _writer; - private readonly string _jobFileName; - private readonly string _jobName; - private readonly string _cycleFileName; - - public SumWriterDecoratorEngineOnly(SummaryFileWriter writer, string jobFileName, string jobName, string cycleFileName) - { - _writer = writer; - _jobFileName = jobFileName; - _jobName = jobName; - _cycleFileName = cycleFileName; - } - - public void Write(IModalDataWriter data, Kilogram vehicleMass = null, Kilogram vehicleLoading = null) - { - _writer.WriteEngineOnly(data, _jobFileName, _jobName, _cycleFileName); - } } \ No newline at end of file diff --git a/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index 3ce4cc26db60640e81c506b569fb389f0225113a..2075d3242abc3a051b8cdf5602889b0070624c81 100644 --- a/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -1,5 +1,3 @@ -using System; -using System.Collections; using TUGraz.VectoCore.Exceptions; using TUGraz.VectoCore.Models.Connector.Ports; using TUGraz.VectoCore.Models.Simulation.Data; @@ -19,7 +17,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl private readonly IModalDataWriter _dataWriter; - public PowertrainBuilder(IModalDataWriter dataWriter, ISummaryDataWriter sumWriter, bool engineOnly) + public PowertrainBuilder(IModalDataWriter dataWriter, bool engineOnly, WriteSumData sumWriter = null) { _engineOnly = engineOnly; _dataWriter = dataWriter; diff --git a/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs b/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs index 427e53951b9e874c1f4319e8a21c949b8fe6ba0d..8006c017cce5c6e7b01d56fff6ee8352e2b11b77 100644 --- a/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs +++ b/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Reflection; -using NLog; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Exceptions; using TUGraz.VectoCore.FileIO.Reader; @@ -66,9 +65,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl new ModalDataWriter(string.Format(modFileName, data.Cycle.Name, data.ModFileSuffix ?? ""), writer => d.Report.AddResult(d.Loading, d.Mission, writer), _mode); modWriter.WriteModalResults = WriteModalResults; - var jobName = string.Format("{0}-{1}", JobNumber, i++); - var sumWriterDecorator = DecorateSumWriter(data.IsEngineOnly, SumWriter, data.JobFileName, jobName, data.Cycle.Name); - var builder = new PowertrainBuilder(modWriter, sumWriterDecorator, DataReader.IsEngineOnly); + var builder = new PowertrainBuilder(modWriter, + DataReader.IsEngineOnly, (writer, mass, loading) => + SumWriter.Write(d.IsEngineOnly, modWriter, d.JobFileName, string.Format("{0}-{1}", JobNumber, i++), d.Cycle.Name, + mass, loading)); VectoRun run; if (data.IsEngineOnly) { @@ -82,24 +82,5 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl yield return run; } } - - /// <summary> - /// Decorates the sum writer with a correct decorator (either EngineOnly or FullPowertrain). - /// </summary> - /// <param name="engineOnly">if set to <c>true</c> [engine only].</param> - /// <param name="sumWriter">The sum writer.</param> - /// <param name="jobFileName">Name of the job file.</param> - /// <param name="jobName">Name of the job.</param> - /// <param name="cycleName">The cycle file.</param> - /// <returns></returns> - private static ISummaryDataWriter DecorateSumWriter(bool engineOnly, SummaryFileWriter sumWriter, - string jobFileName, string jobName, string cycleName) - { - if (engineOnly) { - return new SumWriterDecoratorEngineOnly(sumWriter, jobFileName, jobName, cycleName); - } - - return new SumWriterDecoratorFullPowertrain(sumWriter, jobFileName, jobName, cycleName); - } } } \ No newline at end of file diff --git a/VectoCore/Models/Simulation/Impl/VehicleContainer.cs b/VectoCore/Models/Simulation/Impl/VehicleContainer.cs index 9d6e2400875fd9bcfc2617bd20409c4ae0f30ef6..9a5751d8fd2aed7fe40a2d2ec160331133928032 100644 --- a/VectoCore/Models/Simulation/Impl/VehicleContainer.cs +++ b/VectoCore/Models/Simulation/Impl/VehicleContainer.cs @@ -1,9 +1,9 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using TUGraz.VectoCore.Exceptions; using TUGraz.VectoCore.Models.Connector.Ports; -using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; using TUGraz.VectoCore.Models.SimulationComponent; @@ -29,8 +29,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl internal ISimulationOutPort Cycle; - internal ISummaryDataWriter SumWriter; internal IModalDataWriter DataWriter; + internal WriteSumData WriteSumData; #region IGearCockpit @@ -130,10 +130,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl #endregion - public VehicleContainer(IModalDataWriter dataWriter = null, ISummaryDataWriter sumWriter = null) + public VehicleContainer(IModalDataWriter dataWriter = null, WriteSumData writeSumData = null) { DataWriter = dataWriter; - SumWriter = sumWriter; + WriteSumData = writeSumData ?? delegate {}; } #region IVehicleContainer @@ -213,7 +213,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl Log.Info("VehicleContainer finishing simulation."); DataWriter.Finish(RunStatus); - SumWriter.Write(DataWriter, VehicleMass, VehicleLoading); + WriteSumData(DataWriter, VehicleMass, VehicleLoading); } public VectoRun.Status RunStatus { get; set; } diff --git a/VectoCore/VectoCore.csproj b/VectoCore/VectoCore.csproj index 0d592ade9fcfe85538fd4f2432510bf38a341aa9..afa07c2c560682996bd396f2613b03028f6e972e 100644 --- a/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore.csproj @@ -179,6 +179,7 @@ <Compile Include="Models\SimulationComponent\Data\FullLoadCurve.cs" /> <Compile Include="Models\Simulation\DataBus\IMileageCounter.cs" /> <Compile Include="Models\Simulation\DataBus\IRoadLookAhead.cs" /> + <Compile Include="Models\Simulation\Data\VectoJobData.cs" /> <Compile Include="Models\Simulation\Impl\DistanceRun.cs" /> <Compile Include="Models\Simulation\Impl\PowertrainBuilder.cs" /> <Compile Include="Models\Simulation\Impl\TimeRun.cs" /> @@ -217,7 +218,6 @@ <Compile Include="Models\SimulationComponent\Impl\AxleGear.cs" /> <Compile Include="Models\SimulationComponent\Impl\Retarder.cs" /> <Compile Include="Models\SimulationComponent\IPowerTrainComponent.cs" /> - <Compile Include="Models\Simulation\Data\ISummaryDataWriter.cs" /> <Compile Include="Models\Simulation\Data\SummaryFileWriter.cs" /> <Compile Include="Models\Simulation\Data\VectoRunData.cs" /> <Compile Include="Models\SimulationComponent\Impl\Driver.cs" /> diff --git a/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCoreTest/Integration/CoachPowerTrain.cs index f84820d81015c7ee2e60fbde046e80d8f543c841..ede8a73579a2b73b5596f4827d11dda9394dee10 100644 --- a/VectoCoreTest/Integration/CoachPowerTrain.cs +++ b/VectoCoreTest/Integration/CoachPowerTrain.cs @@ -39,8 +39,7 @@ namespace TUGraz.VectoCore.Tests.Integration public static VehicleContainer CreatePowerTrain(DrivingCycleData cycleData, string modFileName, bool overspeed = false) { var modalWriter = new ModalDataWriter(modFileName); - var sumWriter = new TestSumWriter(); - var container = new VehicleContainer(modalWriter, sumWriter); + var container = new VehicleContainer(modalWriter); var engineData = EngineeringModeSimulationDataReader.CreateEngineDataFromFile(EngineFile); var axleGearData = CreateAxleGearData(); diff --git a/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs b/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs index 59fbf39518a7d71b76fd7d6adea6d33b6ed36b1f..7951a8be95c99af3bc8721deabf19898d913b060 100644 --- a/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs +++ b/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs @@ -39,8 +39,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns public void Test_FullPowertrain_SimpleGearbox() { var modalWriter = new ModalDataWriter("Coach_FullPowertrain_SimpleGearbox.vmod"); - var sumWriter = new TestSumWriter(); - var container = new VehicleContainer(modalWriter, sumWriter); + var container = new VehicleContainer(modalWriter); var engineData = EngineeringModeSimulationDataReader.CreateEngineDataFromFile(EngineFile); var cycleData = DrivingCycleDataReader.ReadFromFileDistanceBased(CycleFile); @@ -98,8 +97,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns public void Test_FullPowertrain() { var modalWriter = new ModalDataWriter("Coach_FullPowertrain.vmod"); - var sumWriter = new TestSumWriter(); - var container = new VehicleContainer(modalWriter, sumWriter); + var container = new VehicleContainer(modalWriter); var engineData = EngineeringModeSimulationDataReader.CreateEngineDataFromFile(EngineFile); var cycleData = DrivingCycleDataReader.ReadFromFileDistanceBased(CoachCycleFile); @@ -174,8 +172,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns public void Test_FullPowertrain_LowSpeed() { var modalWriter = new ModalDataWriter("Coach_FullPowertrain_LowSpeed.vmod"); - var sumWriter = new TestSumWriter(); - var container = new VehicleContainer(modalWriter, sumWriter); + var container = new VehicleContainer(modalWriter); var engineData = EngineeringModeSimulationDataReader.CreateEngineDataFromFile(EngineFile); var cycleData = DrivingCycleDataReader.ReadFromFileDistanceBased(CycleFile); diff --git a/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs b/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs index 71ce21f52414488a5f59d926bc674fb0bbf5ac53..cf5550e30588233d399e58bd3e96fff0de417050 100644 --- a/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs +++ b/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs @@ -45,8 +45,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var driverData = CreateDriverData(AccelerationFile); var modalWriter = new ModalDataWriter("Coach_MinimalPowertrainOverload.vmod"); //new TestModalDataWriter(); - var sumWriter = new TestSumWriter(); - var vehicleContainer = new VehicleContainer(modalWriter, sumWriter); + var vehicleContainer = new VehicleContainer(modalWriter); var driver = new Driver(vehicleContainer, driverData, new DefaultDriverStrategy()); dynamic tmp = Port.AddComponent(driver, new Vehicle(vehicleContainer, vehicleData)); @@ -96,8 +95,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var driverData = CreateDriverData(AccelerationFile); var modalWriter = new ModalDataWriter("Coach_MinimalPowertrain.vmod"); //new TestModalDataWriter(); - var sumWriter = new TestSumWriter(); - var vehicleContainer = new VehicleContainer(modalWriter, sumWriter); + var vehicleContainer = new VehicleContainer(modalWriter); var cycle = new DistanceBasedDrivingCycle(vehicleContainer, cycleData); @@ -168,8 +166,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var modalWriter = new ModalDataWriter("Coach_MinimalPowertrainOverload.vmod", SimulatorFactory.FactoryMode.EngineeringMode); - var sumWriter = new TestSumWriter(); - var vehicleContainer = new VehicleContainer(modalWriter, sumWriter); + var vehicleContainer = new VehicleContainer(modalWriter); var cycle = new DistanceBasedDrivingCycle(vehicleContainer, cycleData); diff --git a/VectoCoreTest/Integration/Truck40tPowerTrain.cs b/VectoCoreTest/Integration/Truck40tPowerTrain.cs index a88144a119c9975a9fbc38a4c8fac8d2e18d1803..42f18a6746da6c5e0294cd198e23644114b960a0 100644 --- a/VectoCoreTest/Integration/Truck40tPowerTrain.cs +++ b/VectoCoreTest/Integration/Truck40tPowerTrain.cs @@ -46,8 +46,7 @@ namespace TUGraz.VectoCore.Tests.Integration Kilogram loading, bool overspeed = false) { var modalWriter = new ModalDataWriter(modFileName); - var sumWriter = new TestSumWriter(); - var container = new VehicleContainer(modalWriter, sumWriter); + var container = new VehicleContainer(modalWriter); var engineData = EngineeringModeSimulationDataReader.CreateEngineDataFromFile(EngineFile); var axleGearData = CreateAxleGearData(); diff --git a/VectoCoreTest/Models/Simulation/AuxTests.cs b/VectoCoreTest/Models/Simulation/AuxTests.cs index 0e022023bfecdef387921ba4457a994c77815bb8..f438501cf880e27c25e4d35262f261dd0eb80779 100644 --- a/VectoCoreTest/Models/Simulation/AuxTests.cs +++ b/VectoCoreTest/Models/Simulation/AuxTests.cs @@ -1,5 +1,4 @@ -using System.Linq; -using TUGraz.VectoCore.Utils; +using TUGraz.VectoCore.Utils; using TUGraz.VectoCore.Exceptions; using TUGraz.VectoCore.Tests.Utils; using TUGraz.VectoCore.FileIO.Reader; @@ -7,7 +6,6 @@ using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; using Microsoft.VisualStudio.TestTools.UnitTesting; -using TUGraz.VectoCore.FileIO; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Models.SimulationComponent.Impl; @@ -27,9 +25,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation dataWriter.AddAuxiliary("AC"); var sumWriter = new SummaryFileWriter(@"AuxWriteModFileSumFile.vsum"); - var deco = new SumWriterDecoratorFullPowertrain(sumWriter, "", "", ""); - - var container = new VehicleContainer(dataWriter, deco); + 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(); @@ -76,8 +73,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation public void AuxConstant() { var dataWriter = new MockModalDataWriter(); - var sumWriter = new TestSumWriter(); - var container = new VehicleContainer(dataWriter, sumWriter); + var container = new VehicleContainer(dataWriter); var port = new MockTnOutPort(); var aux = new Auxiliary(container); aux.InPort().Connect(port); @@ -112,8 +108,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation public void AuxDirect() { var dataWriter = new MockModalDataWriter(); - var sumWriter = new TestSumWriter(); - var container = new VehicleContainer(dataWriter, sumWriter); + 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(); @@ -145,8 +140,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation dataWriter.AddAuxiliary("ALT1"); dataWriter.AddAuxiliary("CONSTANT"); - var sumWriter = new TestSumWriter(); - var container = new VehicleContainer(dataWriter, sumWriter); + 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, ... @@ -202,8 +196,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation var dataWriter = new MockModalDataWriter(); dataWriter.AddAuxiliary(auxId); - var sumWriter = new TestSumWriter(); - var container = new VehicleContainer(dataWriter, sumWriter); + 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, ... diff --git a/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs b/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs index 24092823959b61078fb8bc8fbb229736a2c89463..cce5995c6b65d1b516ab0c0f42fe22fa37675a77 100644 --- a/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs +++ b/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs @@ -17,8 +17,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation public void TestEngineOnly() { var dataWriter = new MockModalDataWriter(); - var sumWriter = new TestSumWriter(); - var container = new VehicleContainer(dataWriter, sumWriter); + var container = new VehicleContainer(dataWriter); var cycleData = DrivingCycleDataReader.ReadFromFileEngineOnly(@"TestData\Cycles\Coach Engine Only.vdri"); var cycle = new EngineOnlyDrivingCycle(container, cycleData); @@ -133,7 +132,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation [TestMethod] public void Test_TimeBased_TimeFieldMissing() { - var container = new VehicleContainer(new MockModalDataWriter(), new TestSumWriter()); + var container = new VehicleContainer(new MockModalDataWriter()); var cycleData = DrivingCycleDataReader.ReadFromFileTimeBased(@"TestData\Cycles\Cycle time field missing.vdri"); var cycle = new TimeBasedDrivingCycle(container, cycleData); diff --git a/VectoCoreTest/Models/Simulation/PowerTrainBuilderTest.cs b/VectoCoreTest/Models/Simulation/PowerTrainBuilderTest.cs index b6800417bc9e9d00d0e34d006afc9a1012c40f61..00fd71389b764a3387876da4f7849aae91d13828 100644 --- a/VectoCoreTest/Models/Simulation/PowerTrainBuilderTest.cs +++ b/VectoCoreTest/Models/Simulation/PowerTrainBuilderTest.cs @@ -22,8 +22,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation var runData = reader.NextRun().First(); var writer = new MockModalDataWriter(); - var sumWriter = new TestSumWriter(); - var builder = new PowertrainBuilder(writer, sumWriter, false); + var builder = new PowertrainBuilder(writer, false); var powerTrain = builder.Build(runData); diff --git a/VectoCoreTest/Models/Simulation/SimulationTests.cs b/VectoCoreTest/Models/Simulation/SimulationTests.cs index 32651371daee687c3d2c77030400a069400f5e41..727b69f265dba48e03905208b0c6eec16e358eaf 100644 --- a/VectoCoreTest/Models/Simulation/SimulationTests.cs +++ b/VectoCoreTest/Models/Simulation/SimulationTests.cs @@ -41,6 +41,16 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation 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() { @@ -49,7 +59,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation var run = CreateRun(actual); - var sim = new JobContainer(new TestSumWriter()); + var sim = new JobContainer(new MockSumWriter()); sim.AddRun(run); sim.Execute(); @@ -63,8 +73,10 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation var dataWriter = new ModalDataWriter(resultFileName, SimulatorFactory.FactoryMode.EngineOnlyMode); var sumWriter = new SummaryFileWriter(sumFileName); - var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineOnlyMode, EngineOnlyJob) { SumWriter = sumWriter }; - + var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineOnlyMode, EngineOnlyJob) { + SumWriter = sumWriter + }; + return factory.SimulationRuns().First(); } @@ -74,7 +86,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation 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"); + var runsFactory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineOnlyMode, + @"TestData\Jobs\24t Coach EngineOnly.vecto"); jobContainer.AddRuns(runsFactory); jobContainer.Execute(); diff --git a/VectoCoreTest/Models/SimulationComponent/DriverTest.cs b/VectoCoreTest/Models/SimulationComponent/DriverTest.cs index 003a61f76de5a56125c2cb0c0f6cd8024361a666..df4a0d5b45ea0b7b399d8e8e517c485d87b1d2b0 100644 --- a/VectoCoreTest/Models/SimulationComponent/DriverTest.cs +++ b/VectoCoreTest/Models/SimulationComponent/DriverTest.cs @@ -42,8 +42,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var modalWriter = new ModalDataWriter("Coach_MinimalPowertrain_Coasting.vmod", SimulatorFactory.FactoryMode.EngineeringMode); //new TestModalDataWriter(); - var sumWriter = new TestSumWriter(); - var vehicleContainer = new VehicleContainer(modalWriter, sumWriter); + var vehicleContainer = new VehicleContainer(modalWriter); var driver = new Driver(vehicleContainer, driverData, new DefaultDriverStrategy()); var engine = new CombustionEngine(vehicleContainer, engineData); @@ -96,10 +95,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var driverData = CreateDriverData(); - var modalWriter = new ModalDataWriter("Coach_MinimalPowertrain_Coasting.vmod", - SimulatorFactory.FactoryMode.EngineeringMode); //new TestModalDataWriter(); - var sumWriter = new TestSumWriter(); - var vehicleContainer = new VehicleContainer(modalWriter, sumWriter); + var modalWriter = new ModalDataWriter("Coach_MinimalPowertrain_Coasting.vmod"); + var vehicleContainer = new VehicleContainer(modalWriter); var driver = new Driver(vehicleContainer, driverData, new DefaultDriverStrategy()); var engine = new CombustionEngine(vehicleContainer, engineData); @@ -157,8 +154,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var driverData = CreateDriverData(); var modalWriter = new ModalDataWriter("Coach_MinimalPowertrain.vmod", SimulatorFactory.FactoryMode.EngineeringMode); - var sumWriter = new TestSumWriter(); - var vehicleContainer = new VehicleContainer(modalWriter, sumWriter); + var vehicleContainer = new VehicleContainer(modalWriter); var cycle = new MockDrivingCycle(vehicleContainer, null); diff --git a/VectoCoreTest/Utils/TestSumWriter.cs b/VectoCoreTest/Utils/TestSumWriter.cs deleted file mode 100644 index 95c41f931db85ae7a65c7cd5b65d148cf0ab7043..0000000000000000000000000000000000000000 --- a/VectoCoreTest/Utils/TestSumWriter.cs +++ /dev/null @@ -1,12 +0,0 @@ -using TUGraz.VectoCore.Models.Simulation.Data; -using TUGraz.VectoCore.Utils; - -namespace TUGraz.VectoCore.Tests.Utils -{ - public class TestSumWriter : SummaryFileWriter, ISummaryDataWriter - { - public void Write(IModalDataWriter data, Kilogram vehicleMass = null, Kilogram vehicleLoading = null) {} - - public override void Finish() {} - } -} \ No newline at end of file diff --git a/VectoCoreTest/VectoCoreTest.csproj b/VectoCoreTest/VectoCoreTest.csproj index 973e2c1dddaadc9c69a4e4d0b66c9649be7b6a67..ace6d23cf28490106842ebd484a47686ac1f7aa9 100644 --- a/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCoreTest/VectoCoreTest.csproj @@ -107,7 +107,6 @@ <Compile Include="Utils\ResultFileHelper.cs" /> <Compile Include="Utils\MockPorts.cs" /> <Compile Include="Models\Simulation\SimulationTests.cs" /> - <Compile Include="Utils\TestSumWriter.cs" /> <Compile Include="Models\Simulation\VechicleContainerTests.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\Settings.Designer.cs">