diff --git a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs index bbbec00e3cb1c3c35261b97ba15f2c7e86e154fd..964f539d98cda904259e5021cf330f55ec297222 100644 --- a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs +++ b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs @@ -225,5 +225,37 @@ namespace TUGraz.VectoCore.Tests.Reports Assert.AreEqual(dataProvider.JobInputData.Vehicle.EngineInputData.WHTCMotorway, sumRow[SummaryDataContainer.ENGINE_WHTC_MOTORWAY]); } + + + [TestCase()] + public void TestSumDataIsCompleteEvenIfModFileCannotBeWritten() + { + + + var jobFile = @"TestData\Integration\DeclarationMode\Class5_Vocational\Tractor_4x2_vehicle-class-5_EURO6_2018.xml"; + + var modFilename = Path.Combine(Path.GetDirectoryName(jobFile), "VEH-Class5_ConstructionReferenceLoad_sim.vmod"); + + // lock modfile so it can't be written + Stream fh = !File.Exists(modFilename) ? File.Create(modFilename) : File.OpenRead(modFilename); + + var writer = new FileOutputWriter(jobFile); + var inputData = new XMLDeclarationInputDataProvider(jobFile, true); + var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { + WriteModalResults = true, + ActualModalData = true + }; + var sumWriter = new SummaryDataContainer(writer); + var jobContainer = new JobContainer(sumWriter); + + jobContainer.AddRuns(factory); + + jobContainer.Execute(); + jobContainer.WaitFinished(); + + Assert.AreEqual(2, sumWriter.Table.Rows.Count); + + fh.Close(); + } } }