From 34820ab6a13061fa62ad487f70794a8ac99a8212 Mon Sep 17 00:00:00 2001
From: "harald.martini@student.tugraz.at" <harald.martini@student.tugraz.at>
Date: Sun, 1 Aug 2021 19:24:52 +0200
Subject: [PATCH] Added JobFile Property to IDataWriter

---
 .../OutputData/FileIO/FileOutputWriter.cs          |  8 +++++---
 VectoCore/VectoCore/OutputData/IDataWriter.cs      |  5 ++++-
 .../Integration/Declaration/NaturalGasVehicles.cs  | 14 +++++++++++++-
 3 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs
index 74799b0dd1..a1d8b53493 100644
--- a/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs
+++ b/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs
@@ -45,6 +45,8 @@ namespace TUGraz.VectoCore.OutputData.FileIO
 	{
 		private readonly string _jobFile;
 
+		public string JobFile => _jobFile;
+
 		public const string REPORT_ENDING_PREFIX = "VIF_Report_";
 
 		private int? _numberOfManufacturingStages = null;
@@ -110,12 +112,12 @@ namespace TUGraz.VectoCore.OutputData.FileIO
 			return $"{jobFile.Substring(0, vifReportIndex - 1)}.xml";
 		}
 
-		public void WriteSumData(DataTable data)
+		public virtual void WriteSumData(DataTable data)
 		{
 			VectoCSVFile.Write(SumFileName, data, true, true);
 		}
 
-		public string GetModDataFileName(string runName, string cycleName, string runSuffix)
+		public virtual string GetModDataFileName(string runName, string cycleName, string runSuffix)
 		{
 			string modFileName;
 			if (!string.IsNullOrWhiteSpace(cycleName) || !string.IsNullOrWhiteSpace(runSuffix)) {
@@ -127,7 +129,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO
 			return Path.Combine(BasePath, string.Concat(modFileName.Split(Path.GetInvalidFileNameChars())));
 		}
 
-		public void WriteModData(int jobRunId, string runName, string cycleName, string runSuffix, DataTable modData)
+		public virtual void WriteModData(int jobRunId, string runName, string cycleName, string runSuffix, DataTable modData)
 		{
 			VectoCSVFile.Write(GetModDataFileName(runName, cycleName, runSuffix), modData, true);
 		}
diff --git a/VectoCore/VectoCore/OutputData/IDataWriter.cs b/VectoCore/VectoCore/OutputData/IDataWriter.cs
index 408e432732..0376a23e7a 100644
--- a/VectoCore/VectoCore/OutputData/IDataWriter.cs
+++ b/VectoCore/VectoCore/OutputData/IDataWriter.cs
@@ -35,7 +35,10 @@ using System.Xml.Linq;
 
 namespace TUGraz.VectoCore.OutputData
 {
-	public interface IOutputDataWriter : IModalDataWriter, IReportWriter, ISummaryWriter {}
+	public interface IOutputDataWriter : IModalDataWriter, IReportWriter, ISummaryWriter
+	{
+		string JobFile { get; }
+	}
 
 	public interface IModalDataWriter
 	{
diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs b/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs
index 83f6dc0b74..32046d9a70 100644
--- a/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs
+++ b/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs
@@ -135,9 +135,11 @@ namespace TUGraz.VectoCore.Tests.Integration.Declaration
 
 		private readonly Dictionary<ReportType, XDocument> _reports = new Dictionary<ReportType, XDocument>();
 
+		
+
 		public MockDeclarationWriter(string filename)
 		{
-			
+			JobFile = filename;
 		}
 
 		public XDocument GetReport(ReportType type)
@@ -175,5 +177,15 @@ namespace TUGraz.VectoCore.Tests.Integration.Declaration
 		}
 
 		#endregion
+
+		#region Implementation of IOutputDataWriter
+
+		public string JobFile
+		{
+			get;
+			private set;
+		}
+
+		#endregion
 	}
 }
-- 
GitLab