From 5bb515246028069d9bf580c16fa2aec452a5898e Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Wed, 13 Apr 2016 14:14:46 +0200
Subject: [PATCH] make graphwriter configurable from external code, initialize
 settigns in testclass

---
 .../BusAuxiliaries/SimpleCycleTest.cs         | 11 ++++++
 .../DriverStrategy/DriverStrategyTestCoach.cs | 12 ++++++-
 .../DriverStrategy/DriverStrategyTestTruck.cs | 10 ++++++
 VectoCore/VectoCoreTest/Utils/GraphWriter.cs  | 36 ++++++++++---------
 4 files changed, 52 insertions(+), 17 deletions(-)

diff --git a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/SimpleCycleTest.cs b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/SimpleCycleTest.cs
index 6fd1becf43..e391b0ca70 100644
--- a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/SimpleCycleTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/SimpleCycleTest.cs
@@ -31,6 +31,7 @@
 
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 using NLog;
+using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.Models.SimulationComponent.Impl;
 using TUGraz.VectoCore.Tests.Utils;
@@ -46,6 +47,16 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
 		{
 			LogManager.DisableLogging();
 			//GraphWriter.Disable();
+
+			GraphWriter.Xfields = new[] { ModalResultField.time, ModalResultField.dist };
+
+			GraphWriter.Yfields = new[] {
+				ModalResultField.v_act, ModalResultField.acc, ModalResultField.n_eng_avg, ModalResultField.Gear,
+				ModalResultField.P_eng_out, ModalResultField.P_aux, ModalResultField.AA_TotalCycleFC_Grams
+			};
+
+			GraphWriter.Series1Label = "Vecto 3";
+			GraphWriter.Series2Label = "Vecto 2.0+AUX";
 		}
 
 		#region Accelerate
diff --git a/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs b/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
index e0c9f90448..6d43ed3fd3 100644
--- a/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
+++ b/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
@@ -30,6 +30,7 @@
 */
 
 using Microsoft.VisualStudio.TestTools.UnitTesting;
+using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Tests.Utils;
 
 namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
@@ -42,6 +43,15 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		{
 			//LogManager.DisableLogging();
 			//GraphWriter.Disable();
+
+			GraphWriter.Xfields = new[] { ModalResultField.time, ModalResultField.dist };
+
+			GraphWriter.Yfields = new[] {
+				ModalResultField.v_act, ModalResultField.acc, ModalResultField.n_eng_avg, ModalResultField.Gear,
+				ModalResultField.P_eng_out, ModalResultField.T_eng_fcmap, ModalResultField.FCMap
+			};
+			GraphWriter.Series1Label = "Vecto 3";
+			GraphWriter.Series2Label = "Vecto 2.2";
 		}
 
 		[TestMethod, TestCategory("ComparisonV2")]
@@ -566,7 +576,7 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		}
 
 		#endregion
-		
+
 		#region Drive
 
 		[TestMethod, TestCategory("ComparisonV2")]
diff --git a/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs b/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
index 2c7f76ee5c..3f5ccc3dbc 100644
--- a/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
+++ b/VectoCore/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
@@ -31,6 +31,7 @@
 
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Tests.Utils;
 using TUGraz.VectoCore.Utils;
 
@@ -44,6 +45,15 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		{
 			//LogManager.DisableLogging();
 			//GraphWriter.Disable();
+
+			GraphWriter.Xfields = new[] { ModalResultField.time, ModalResultField.dist };
+
+			GraphWriter.Yfields = new[] {
+				ModalResultField.v_act, ModalResultField.acc, ModalResultField.n_eng_avg, ModalResultField.Gear,
+				ModalResultField.P_eng_out, ModalResultField.T_eng_fcmap, ModalResultField.FCMap
+			};
+			GraphWriter.Series1Label = "Vecto 3";
+			GraphWriter.Series2Label = "Vecto 2.2";
 		}
 
 		#region Accelerate
diff --git a/VectoCore/VectoCoreTest/Utils/GraphWriter.cs b/VectoCore/VectoCoreTest/Utils/GraphWriter.cs
index 3218a0d2c6..fc76550524 100644
--- a/VectoCore/VectoCoreTest/Utils/GraphWriter.cs
+++ b/VectoCore/VectoCoreTest/Utils/GraphWriter.cs
@@ -60,6 +60,15 @@ namespace TUGraz.VectoCore.Tests.Utils
 		private static readonly Font AxisTitleFont = new Font("Verdana", 12);
 		private static readonly Font LegendFont = new Font("Verdana", 14);
 
+		public static string Series2Label { get; set; }
+
+		public static string Series1Label { get; set; }
+
+		public static ModalResultField[] Yfields { get; set; }
+
+		public static ModalResultField[] Xfields { get; set; }
+
+
 		public static void Enabled()
 		{
 			_enabled = true;
@@ -86,16 +95,10 @@ namespace TUGraz.VectoCore.Tests.Utils
 			if (fileNameV22 != null) {
 				modDataV22 = VectoCSVFile.Read(fileNameV22);
 			}
-			var xfields = new[] { ModalResultField.time, ModalResultField.dist };
-
-			var yfields = new[] {
-				ModalResultField.v_act, ModalResultField.acc, ModalResultField.n_eng_avg, ModalResultField.Gear,
-				ModalResultField.P_eng_out, ModalResultField.P_aux, ModalResultField.AA_TotalCycleFC_Grams
-			};
 
-			var titleHeight = (50 * 100.0f) / (_diagramSize.Height * yfields.Count());
+			var titleHeight = (50 * 100.0f) / (_diagramSize.Height * Yfields.Count());
 
-			foreach (var xfield in xfields) {
+			foreach (var xfield in Xfields) {
 				var fileName = string.Format("{0}_{1}.png", Path.GetFileNameWithoutExtension(fileNameV3),
 					xfield.GetName());
 
@@ -104,14 +107,14 @@ namespace TUGraz.VectoCore.Tests.Utils
 				if (fileNameV22 != null && modDataV22 != null) {
 					x2 = LoadData(modDataV22, xfield.GetName());
 				}
-				var plotSize = new Size(_diagramSize.Width, _diagramSize.Height * yfields.Count());
+				var plotSize = new Size(_diagramSize.Width, _diagramSize.Height * Yfields.Count());
 				var maxX = (int)(Math.Ceiling(Math.Max(x.Max(), x2.Max()) * 1.01 / 10.0) * 10.0);
 				var minX = (int)(Math.Floor(Math.Max(x.Min(), x2.Min()) / 10.0) * 10.0);
 				var chart = new Chart { Size = plotSize };
 
 
-				for (var i = 0; i < yfields.Length; i++) {
-					var yfield = yfields[i];
+				for (var i = 0; i < Yfields.Length; i++) {
+					var yfield = Yfields[i];
 					var y = LoadData(modDataV3, yfield.GetName());
 
 
@@ -144,30 +147,31 @@ namespace TUGraz.VectoCore.Tests.Utils
 						seriesGrad.YAxisType = AxisType.Secondary;
 					}
 
-					var series1 = CreateSeries(string.Format("Vecto 3 - {0}", yfield), legend, chartArea, chart,
+					var series1 = CreateSeries(string.Format("{1} - {0}", yfield, Series1Label), legend, chartArea, chart,
 						Color.Blue, x, y);
 
 					if (fileNameV22 != null) {
 						var y2 = LoadData(modDataV22, TranslateFieldname(yfield));
-						var series2 = CreateSeries(string.Format("Vecto 2.0+AUX - {0}", yfield), legend, chartArea, chart,
+						var series2 = CreateSeries(string.Format("{1} - {0}", yfield, Series2Label), legend, chartArea, chart,
 							Color.Red, x2,
 							y2);
 					}
 
-					PositionChartArea(chartArea, titleHeight, i, yfields.Count());
+					PositionChartArea(chartArea, titleHeight, i, Yfields.Count());
 
 					if (i > 0) {
-						AlignChart(chart, yfield.ToString(), yfields[0].ToString());
+						AlignChart(chart, yfield.ToString(), Yfields[0].ToString());
 					}
 				}
 
-				AddTitle(chart, Path.GetFileNameWithoutExtension(fileName), yfields[0].ToString());
+				AddTitle(chart, Path.GetFileNameWithoutExtension(fileName), Yfields[0].ToString());
 
 				chart.Invalidate();
 				chart.SaveImage(fileName, ChartImageFormat.Png);
 			}
 		}
 
+
 		private static string TranslateFieldname(ModalResultField modalResultField)
 		{
 			switch (modalResultField) {
-- 
GitLab