From c745b2793d50472566d16aaea2d58e030c4c636e Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 14 Mar 2019 09:37:33 +0100
Subject: [PATCH] adding testcase if sum-file is locked simulation does not
 abort

---
 .../VectoCoreTest/Reports/SumWriterTest.cs    | 32 +++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
index 964f539d98..4a1ff5ff37 100644
--- a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
+++ b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
@@ -257,5 +257,37 @@ namespace TUGraz.VectoCore.Tests.Reports
 
 			fh.Close();
 		}
+
+
+		[TestCase()]
+		public void TestSumDataFileIsLocked()
+		{
+
+
+			var jobFile = @"TestData\Integration\DeclarationMode\Class5_Vocational\Tractor_4x2_vehicle-class-5_EURO6_2018.xml";
+
+			var sumFilename = Path.Combine(Path.GetDirectoryName(jobFile), "Tractor_4x2_vehicle-class-5_EURO6_2018.vsum");
+
+			// lock modfile so it can't be written
+			Stream fh = !File.Exists(sumFilename) ? File.Create(sumFilename) : File.OpenRead(sumFilename);
+
+			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();
+		}
 	}
 }
-- 
GitLab