From b8dc8caaa58bcd44831942d56589b913fdc2ee5e Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Mon, 15 Jun 2015 11:38:08 +0200
Subject: [PATCH] rename: job -> run

---
 VectoCore/Models/Simulation/IVectoRun.cs      | 19 ++++++++++++++
 .../Models/Simulation/IVectoSimulator.cs      | 19 --------------
 .../Models/Simulation/Impl/JobContainer.cs    | 22 ++++++++--------
 .../Simulation/Impl/SimulatorFactory.cs       | 18 ++++++-------
 .../Impl/{VectoSimulator.cs => VectoRun.cs}   |  4 +--
 VectoCore/VectoCore.csproj                    |  4 +--
 .../EngineOnlyCycle/EngineOnlyCycleTest.cs    |  2 +-
 VectoCoreTest/Models/DeclarationDataTest.cs   | 25 +++++++++++++------
 .../Models/Simulation/SimulationTests.cs      | 22 ++++++++--------
 9 files changed, 73 insertions(+), 62 deletions(-)
 create mode 100644 VectoCore/Models/Simulation/IVectoRun.cs
 delete mode 100644 VectoCore/Models/Simulation/IVectoSimulator.cs
 rename VectoCore/Models/Simulation/Impl/{VectoSimulator.cs => VectoRun.cs} (93%)

diff --git a/VectoCore/Models/Simulation/IVectoRun.cs b/VectoCore/Models/Simulation/IVectoRun.cs
new file mode 100644
index 0000000000..dc6171fd0f
--- /dev/null
+++ b/VectoCore/Models/Simulation/IVectoRun.cs
@@ -0,0 +1,19 @@
+namespace TUGraz.VectoCore.Models.Simulation
+{
+	/// <summary>
+	/// Defines the methods for a single vecto run.
+	/// </summary>
+	public interface IVectoRun
+	{
+		/// <summary>
+		/// Run the simulation.
+		/// </summary>
+		void Run();
+
+		/// <summary>
+		/// Return the vehicle container.
+		/// </summary>
+		/// <returns></returns>
+		IVehicleContainer GetContainer();
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/Models/Simulation/IVectoSimulator.cs b/VectoCore/Models/Simulation/IVectoSimulator.cs
deleted file mode 100644
index 53737997cb..0000000000
--- a/VectoCore/Models/Simulation/IVectoSimulator.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-namespace TUGraz.VectoCore.Models.Simulation
-{
-    /// <summary>
-    /// Defines the methods for the vecto simulator.
-    /// </summary>
-    public interface IVectoSimulator
-    {
-        /// <summary>
-        /// Run the simulation.
-        /// </summary>
-        void Run();
-
-        /// <summary>
-        /// Return the vehicle container.
-        /// </summary>
-        /// <returns></returns>
-        IVehicleContainer GetContainer();
-    }
-}
\ No newline at end of file
diff --git a/VectoCore/Models/Simulation/Impl/JobContainer.cs b/VectoCore/Models/Simulation/Impl/JobContainer.cs
index 93b3a56df7..250a8bc908 100644
--- a/VectoCore/Models/Simulation/Impl/JobContainer.cs
+++ b/VectoCore/Models/Simulation/Impl/JobContainer.cs
@@ -16,7 +16,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 	/// </summary>
 	public class JobContainer
 	{
-		private readonly List<IVectoSimulator> _simulators = new List<IVectoSimulator>();
+		private readonly List<IVectoRun> _runs = new List<IVectoRun>();
 		private readonly SummaryFileWriter _sumWriter;
 
 		private static int _jobNumber;
@@ -40,37 +40,37 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 			var sumFilePath = Path.GetDirectoryName(data.JobFileName);
 			_sumWriter = new SummaryFileWriter(string.Format("{0}.vsum", Path.Combine(sumFilePath, sumFileName)));
 
-			AddJobs(data);
+			AddRuns(data);
 		}
 
 		/// <summary>
 		/// Creates and Adds jobs from the VectoJobData object.
 		/// </summary>
 		/// <param name="data">The data.</param>
-		public void AddJobs(VectoJobData data)
+		public void AddRuns(VectoJobData data)
 		{
 			_jobNumber++;
-			_simulators.AddRange(SimulatorFactory.CreateJobs(data, _sumWriter, _jobNumber));
+			_runs.AddRange(SimulatorFactory.CreateRuns(data, _sumWriter, _jobNumber));
 		}
 
 		/// <summary>
 		/// Adds a custom created job.
 		/// </summary>
-		/// <param name="sim">The sim.</param>
-		public void AddJob(IVectoSimulator sim)
+		/// <param name="run">The run.</param>
+		public void AddRun(IVectoRun run)
 		{
 			_jobNumber++;
-			_simulators.Add(sim);
+			_runs.Add(run);
 		}
 
 		/// <summary>
-		/// Runs all jobs, waits until finished.
+		/// Execute all runs, waits until finished.
 		/// </summary>
-		public void RunJobs()
+		public void Execute()
 		{
-			LogManager.GetLogger(GetType()).Info("VectoSimulator started running. Starting Jobs.");
+			LogManager.GetLogger(GetType()).Info("VectoRun started running. Executing Runs.");
 
-			Task.WaitAll(_simulators.Select(job => Task.Factory.StartNew(job.Run)).ToArray());
+			Task.WaitAll(_runs.Select(r => Task.Factory.StartNew(r.Run)).ToArray());
 
 			_sumWriter.Finish();
 		}
diff --git a/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs b/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
index 6915fb6462..cf5426ad35 100644
--- a/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
+++ b/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
@@ -13,9 +13,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 		private static IModalDataWriter _dataWriter;
 
 		/// <summary>
-		/// Creates a simulation job for time based engine only powertrain.
+		/// Creates a simulation run for time based engine only powertrain.
 		/// </summary>
-		public static IVectoSimulator CreateTimeBasedEngineOnlyJob(string engineFile, string cycleFile, string jobFileName,
+		public static IVectoRun CreateTimeBasedEngineOnlyRun(string engineFile, string cycleFile, string jobFileName,
 			string jobName, IModalDataWriter dataWriter, SummaryFileWriter sumWriter)
 		{
 			var sumWriterDecorator = new SumWriterDecoratorEngineOnly(sumWriter, jobFileName, jobName, cycleFile);
@@ -27,13 +27,13 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 		}
 
 		/// <summary>
-		/// Creates powertrains and jobs from a VectoJobData Object.
+		/// Creates powertrains and runs from a VectoJobData Object.
 		/// </summary>
 		/// <param name="data">The data.</param>
 		/// <param name="sumWriter">The sum writer.</param>
 		/// <param name="jobNumber">The job number.</param>
 		/// <returns></returns>
-		public static IEnumerable<IVectoSimulator> CreateJobs(VectoJobData data, SummaryFileWriter sumWriter, int jobNumber)
+		public static IEnumerable<IVectoRun> CreateRuns(VectoJobData data, SummaryFileWriter sumWriter, int jobNumber)
 		{
 			for (var i = 0; i < data.Cycles.Count; i++) {
 				var cycleFile = data.Cycles[i];
@@ -104,12 +104,12 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 				_container = new VehicleContainer(dataWriter, sumWriter);
 			}
 
-			public IVectoSimulator Build(string cycleFile)
+			public IVectoRun Build(string cycleFile)
 			{
 				return _engineOnly ? BuildEngineOnly(cycleFile) : BuildFullPowertrain(cycleFile);
 			}
 
-			private IVectoSimulator BuildFullPowertrain(string cycleFile)
+			private IVectoRun BuildFullPowertrain(string cycleFile)
 			{
 				//throw new NotImplementedException("FullPowertrain is not fully implemented yet.");
 				var cycleData = DrivingCycleData.ReadFromFileEngineOnly(cycleFile);
@@ -144,11 +144,11 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 				// connect clutch --> aux
 				_clutch.InShaft().Connect(previousAux.OutShaft());
 
-				var simulator = new VectoSimulator(_container, cycle);
+				var simulator = new VectoRun(_container, cycle);
 				return simulator;
 			}
 
-			private IVectoSimulator BuildEngineOnly(string cycleFile)
+			private IVectoRun BuildEngineOnly(string cycleFile)
 			{
 				var cycleData = DrivingCycleData.ReadFromFileEngineOnly(cycleFile);
 				var cycle = new EngineOnlyDrivingCycle(_container, cycleData);
@@ -164,7 +164,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 
 				cycle.InShaft().Connect(_gearBox.OutShaft());
 
-				var simulator = new VectoSimulator(_container, cycle);
+				var simulator = new VectoRun(_container, cycle);
 				return simulator;
 			}
 
diff --git a/VectoCore/Models/Simulation/Impl/VectoSimulator.cs b/VectoCore/Models/Simulation/Impl/VectoRun.cs
similarity index 93%
rename from VectoCore/Models/Simulation/Impl/VectoSimulator.cs
rename to VectoCore/Models/Simulation/Impl/VectoRun.cs
index e55bfa77a7..52c9c13a89 100644
--- a/VectoCore/Models/Simulation/Impl/VectoSimulator.cs
+++ b/VectoCore/Models/Simulation/Impl/VectoRun.cs
@@ -11,12 +11,12 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 	/// <summary>
 	/// Simulator for one vecto simulation job.
 	/// </summary>
-	public class VectoSimulator : IVectoSimulator
+	public class VectoRun : IVectoRun
 	{
 		private TimeSpan _absTime = new TimeSpan(seconds: 0, minutes: 0, hours: 0);
 		private TimeSpan _dt = new TimeSpan(seconds: 1, minutes: 0, hours: 0);
 
-		public VectoSimulator(IVehicleContainer container, IDrivingCycleOutPort cyclePort)
+		public VectoRun(IVehicleContainer container, IDrivingCycleOutPort cyclePort)
 		{
 			Container = container;
 			CyclePort = cyclePort;
diff --git a/VectoCore/VectoCore.csproj b/VectoCore/VectoCore.csproj
index 074b97fe29..57748b42c5 100644
--- a/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore.csproj
@@ -194,10 +194,10 @@
     <Compile Include="Models\Simulation\Data\ModalResult.cs">
       <SubType>Component</SubType>
     </Compile>
-    <Compile Include="Models\Simulation\IVectoSimulator.cs" />
+    <Compile Include="Models\Simulation\IVectoRun.cs" />
     <Compile Include="Models\Simulation\Data\ModalDataWriter.cs" />
     <Compile Include="Models\Simulation\Impl\SimulatorFactory.cs" />
-    <Compile Include="Models\Simulation\Impl\VectoSimulator.cs" />
+    <Compile Include="Models\Simulation\Impl\VectoRun.cs" />
     <Compile Include="Models\Simulation\Impl\JobContainer.cs" />
     <Compile Include="Models\Simulation\Impl\VehicleContainer.cs" />
     <Compile Include="Models\Simulation\Cockpit\ICockpit.cs" />
diff --git a/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs b/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
index 2adc0b1700..847731dcca 100644
--- a/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
+++ b/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
@@ -37,7 +37,7 @@ namespace TUGraz.VectoCore.Tests.Integration.EngineOnlyCycle
 			gearbox.InShaft().Connect(aux.OutShaft());
 			var port = aux.OutShaft();
 
-//			IVectoJob job = SimulationFactory.CreateTimeBasedEngineOnlyJob(TestContext.DataRow["EngineFile"].ToString(),
+//			IVectoJob job = SimulationFactory.CreateTimeBasedEngineOnlyRun(TestContext.DataRow["EngineFile"].ToString(),
 //				TestContext.DataRow["CycleFile"].ToString(), "test2.csv");
 
 			var absTime = new TimeSpan(seconds: 0, minutes: 0, hours: 0);
diff --git a/VectoCoreTest/Models/DeclarationDataTest.cs b/VectoCoreTest/Models/DeclarationDataTest.cs
index ee03b3e173..7c2b430f16 100644
--- a/VectoCoreTest/Models/DeclarationDataTest.cs
+++ b/VectoCoreTest/Models/DeclarationDataTest.cs
@@ -35,6 +35,13 @@ namespace TUGraz.VectoCore.Tests.Models
 			Assert.AreEqual(3.05, tmp.F_b, Tolerance);
 		}
 
+		[TestMethod]
+		public void PT1Test()
+		{
+			Assert.Inconclusive();
+		}
+
+
 		[TestMethod]
 		public void SegmentTest()
 		{
@@ -62,6 +69,7 @@ namespace TUGraz.VectoCore.Tests.Models
 			Assert.AreEqual(MissionType.LongHaul, longHaulMission.MissionType);
 			Assert.AreEqual("RigidSolo.vcdv", longHaulMission.VCDV);
 			Assert.IsTrue(new[] { 0.4, 0.6 }.SequenceEqual(longHaulMission.AxleWeightDistribution));
+			Assert.IsTrue(new double[] { }.SequenceEqual(longHaulMission.TrailerAxleWeightDistribution));
 			Assert.AreEqual(1900.SI<Kilogram>(), longHaulMission.MassExtra);
 
 			Assert.IsNotNull(longHaulMission.CycleFile);
@@ -72,10 +80,12 @@ namespace TUGraz.VectoCore.Tests.Models
 			Assert.AreEqual(vehicleData.GrossVehicleMassRating - longHaulMission.MassExtra - vehicleData.CurbWeight,
 				longHaulMission.MaxLoad);
 
+
 			var regionalDeliveryMission = segment.Missions[1];
 			Assert.AreEqual(MissionType.RegionalDelivery, regionalDeliveryMission.MissionType);
 			Assert.AreEqual("RigidSolo.vcdv", regionalDeliveryMission.VCDV);
 			Assert.IsTrue(new[] { 0.45, 0.55 }.SequenceEqual(regionalDeliveryMission.AxleWeightDistribution));
+			Assert.IsTrue(new double[] { }.SequenceEqual(regionalDeliveryMission.TrailerAxleWeightDistribution));
 			Assert.AreEqual(1900.SI<Kilogram>(), regionalDeliveryMission.MassExtra);
 
 			Assert.IsNotNull(regionalDeliveryMission.CycleFile);
@@ -86,10 +96,12 @@ namespace TUGraz.VectoCore.Tests.Models
 			Assert.AreEqual(vehicleData.GrossVehicleMassRating - regionalDeliveryMission.MassExtra - vehicleData.CurbWeight,
 				regionalDeliveryMission.MaxLoad);
 
+
 			var urbanDeliveryMission = segment.Missions[2];
 			Assert.AreEqual(MissionType.UrbanDelivery, urbanDeliveryMission.MissionType);
 			Assert.AreEqual("RigidSolo.vcdv", urbanDeliveryMission.VCDV);
 			Assert.IsTrue(new[] { 0.45, 0.55 }.SequenceEqual(urbanDeliveryMission.AxleWeightDistribution));
+			Assert.IsTrue(new double[] { }.SequenceEqual(urbanDeliveryMission.TrailerAxleWeightDistribution));
 			Assert.AreEqual(1900.SI<Kilogram>(), urbanDeliveryMission.MassExtra);
 
 			Assert.IsNotNull(urbanDeliveryMission.CycleFile);
@@ -100,14 +112,12 @@ namespace TUGraz.VectoCore.Tests.Models
 			Assert.AreEqual(vehicleData.GrossVehicleMassRating - urbanDeliveryMission.MassExtra - vehicleData.CurbWeight,
 				urbanDeliveryMission.MaxLoad);
 
-			//todo: test trailer axle distribution
 
-			//var runs = new List<IVectoSimulator>();
+			//// FACTORY
+			//var runs = new List<IVectoRun>();
 
-			//foreach (var mission in segment.Missions)
-			//{
-			//	foreach (var loading in mission.Loadings)
-			//	{
+			//foreach (var mission in segment.Missions) {
+			//	foreach (var loading in mission.Loadings) {
 			//		var container = new VehicleContainer();
 
 			//		// connect cycle --> driver --> vehicle --> wheels --> axleGear --> gearBox
@@ -139,9 +149,10 @@ namespace TUGraz.VectoCore.Tests.Models
 			//		var cycle = new DistanceBasedDrivingCycle(container, cycleData);
 			//		cycle.InShaft().Connect(driver.OutShaft());
 
-			//		var simulator = new VectoSimulator(container, cycle);
+			//		var simulator = new VectoRun(container, cycle);
 			//		runs.Add(simulator);
 			//	}
+			//}
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCoreTest/Models/Simulation/SimulationTests.cs b/VectoCoreTest/Models/Simulation/SimulationTests.cs
index 16ac702ffd..429b93abb7 100644
--- a/VectoCoreTest/Models/Simulation/SimulationTests.cs
+++ b/VectoCoreTest/Models/Simulation/SimulationTests.cs
@@ -21,7 +21,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 		public void TestSimulationEngineOnly()
 		{
 			var resultFileName = "TestEngineOnly-result.vmod";
-			var job = CreateJob(resultFileName);
+			var job = CreateRun(resultFileName);
 
 			var container = job.GetContainer();
 
@@ -35,7 +35,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var actual = "TestEngineOnly_JobRun-result.vmod";
 			var expected = @"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod";
 
-			var job = CreateJob(actual);
+			var job = CreateRun(actual);
 			job.Run();
 
 			ResultFileHelper.TestModFile(expected, actual);
@@ -47,25 +47,25 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var actual = @"TestEngineOnly_SimulatorRun-result.vmod";
 			var expected = @"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod";
 
-			var job = CreateJob(actual);
+			var run = CreateRun(actual);
 
 			var sim = new JobContainer(new TestSumWriter());
-			sim.AddJob(job);
-			sim.RunJobs();
+			sim.AddRun(run);
+			sim.Execute();
 
 			ResultFileHelper.TestModFile(expected, actual);
 		}
 
-		public IVectoSimulator CreateJob(string resultFileName)
+		public IVectoRun CreateRun(string resultFileName)
 		{
 			var sumFileName = resultFileName.Substring(0, resultFileName.Length - 4) + "vsum";
 
 			var dataWriter = new ModalDataWriter(resultFileName, engineOnly: true);
 			var sumWriter = new SummaryFileWriter(sumFileName);
-			var job = SimulatorFactory.CreateTimeBasedEngineOnlyJob(EngineFile, CycleFile, jobFileName: "", jobName: "",
+			var run = SimulatorFactory.CreateTimeBasedEngineOnlyRun(EngineFile, CycleFile, jobFileName: "", jobName: "",
 				dataWriter: dataWriter, sumWriter: sumWriter);
 
-			return job;
+			return run;
 		}
 
 
@@ -80,9 +80,9 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 
 			var simulation = new JobContainer(new TestSumWriter());
 			foreach (var resultFile in resultFiles) {
-				simulation.AddJob(CreateJob(resultFile));
+				simulation.AddRun(CreateRun(resultFile));
 			}
-			simulation.RunJobs();
+			simulation.Execute();
 
 			ResultFileHelper.TestModFiles(resultFiles.Select(x => x + "_Coach Engine Only short.vmod"),
 				Enumerable.Repeat(@"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod", resultFiles.Length));
@@ -93,7 +93,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 		{
 			var jobData = VectoJobData.ReadFromFile(@"TestData\Jobs\24t Coach.vecto");
 			var jobContainer = new JobContainer(jobData);
-			jobContainer.RunJobs();
+			jobContainer.Execute();
 
 			ResultFileHelper.TestSumFile(@"TestData\Results\EngineOnlyCycles\24t Coach.vsum", @"TestData\Jobs\24t Coach.vsum");
 			ResultFileHelper.TestModFiles(new[] {
-- 
GitLab