Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 4fb47f04 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

testcases compile as well,

now let's make the tests green again...
parent d3c8ec5c
Branches
Tags
No related merge requests found
......@@ -14,6 +14,10 @@ namespace TUGraz.VectoCore.OutputData.FileIO
private readonly string _basePath;
private readonly string _jobName;
public FileOutputWriter(string jobFile)
: this(Path.GetFileNameWithoutExtension(jobFile), Path.GetDirectoryName(jobFile)) {}
public FileOutputWriter(string jobName, string basePath)
{
_jobName = jobName;
......
......@@ -9,6 +9,7 @@ using TUGraz.VectoCore.Models.Simulation.Data;
using TUGraz.VectoCore.Models.Simulation.Impl;
using TUGraz.VectoCore.Models.SimulationComponent.Impl;
using TUGraz.VectoCore.OutputData;
using TUGraz.VectoCore.OutputData.FileIO;
using TUGraz.VectoCore.Tests.Utils;
using TUGraz.VectoCore.Utils;
......@@ -45,21 +46,22 @@ namespace TUGraz.VectoCore.Tests.Integration.EngineOnlyCycle
var absTime = 0.SI<Second>();
var dt = 1.SI<Second>();
var modFile = Path.GetRandomFileName() + ".vmod";
var dataWriter = new ModalDataContainer(modFile, SimulatorFactory.FactoryMode.EngineOnlyMode);
var modFile = Path.GetRandomFileName(); // + ".vmod";
var fileWriter = new FileOutputWriter(modFile, "");
var modData = new ModalDataContainer(modFile, fileWriter, SimulatorFactory.FactoryMode.EngineOnlyMode);
foreach (var cycleEntry in data.Entries) {
var response = port.Request(absTime, dt, cycleEntry.EngineTorque, cycleEntry.EngineSpeed);
Assert.IsInstanceOfType(response, typeof(ResponseSuccess));
foreach (var sc in vehicle.SimulationComponents()) {
dataWriter[ModalResultField.time] = absTime + dt / 2;
sc.CommitSimulationStep(dataWriter);
modData[ModalResultField.time] = absTime + dt / 2;
sc.CommitSimulationStep(modData);
}
dataWriter.CommitSimulationStep();
modData.CommitSimulationStep();
absTime += dt;
}
dataWriter.Finish(VectoRun.Status.Success);
modData.Finish(VectoRun.Status.Success);
ResultFileHelper.TestModFile(TestContext.DataRow["ModalResultFile"].ToString(), modFile);
}
......
......@@ -3,11 +3,13 @@ using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NLog;
using TUGraz.VectoCore.Configuration;
using TUGraz.VectoCore.InputData.FileIO.JSON;
using TUGraz.VectoCore.Models.Simulation.Data;
using TUGraz.VectoCore.Models.Simulation.Impl;
using TUGraz.VectoCore.Models.SimulationComponent.Data;
using TUGraz.VectoCore.Models.SimulationComponent.Impl;
using TUGraz.VectoCore.OutputData;
using TUGraz.VectoCore.OutputData.FileIO;
using TUGraz.VectoCore.Utils;
namespace TUGraz.VectoCore.Tests.Integration
......@@ -124,11 +126,14 @@ namespace TUGraz.VectoCore.Tests.Integration
{
LogManager.DisableLogging();
var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, TruckDeclarationJob);
factory.WriteModalResults = true;
var sumFileName = Path.GetFileNameWithoutExtension(TruckDeclarationJob) + Constants.FileExtensions.SumFile;
var sumWriter = new SummaryDataContainer(sumFileName);
var jobContainer = new JobContainer(sumWriter);
var inputData = JSONInputDataFactory.ReadJsonJob(TruckDeclarationJob);
var fileWriter = new FileOutputWriter(Path.GetFileNameWithoutExtension(TruckDeclarationJob),
Path.GetDirectoryName(TruckDeclarationJob));
var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, inputData, fileWriter) {
WriteModalResults = true
};
var sumData = new SummaryDataContainer(fileWriter);
var jobContainer = new JobContainer(sumData);
jobContainer.AddRuns(factory);
jobContainer.Execute();
......@@ -142,10 +147,14 @@ namespace TUGraz.VectoCore.Tests.Integration
[TestMethod, Ignore]
public void Truck40t_RegionalDeliveryCycle_RefLoad_Declaration()
{
const string jobFile = @"c:\Users\Technik\Downloads\40t Long Haul Truck\40t_Long_Haul_Truck.vecto";
var inputData = JSONInputDataFactory.ReadJsonJob(jobFile);
var fileWriter = new FileOutputWriter(jobFile);
var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode,
@"c:\Users\Technik\Downloads\40t Long Haul Truck\40t_Long_Haul_Truck.vecto");
factory.WriteModalResults = true;
factory.SumData = new SummaryDataContainer("Test.vsum");
inputData, fileWriter) {
WriteModalResults = true,
SumData = new SummaryDataContainer(fileWriter)
};
var runs = factory.SimulationRuns().ToArray();
var run = runs[4];
......@@ -157,11 +166,14 @@ namespace TUGraz.VectoCore.Tests.Integration
[TestMethod, Ignore]
public void Truck12t_LongHaulCycle_RefLoad_Declaration()
{
const string jobFile = @"c:\Users\Technik\Downloads\12t Delivery Truck\12t Delivery Truck.vecto";
var inputData = JSONInputDataFactory.ReadJsonJob(jobFile);
var fileWriter = new FileOutputWriter(jobFile);
// TODO: fails due to interpolaion failure in Gear 4
var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode,
@"c:\Users\Technik\Downloads\12t Delivery Truck\12t Delivery Truck.vecto") {
var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, inputData, fileWriter) {
WriteModalResults = true,
SumData = new SummaryDataContainer("Test.vsum")
SumData = new SummaryDataContainer(fileWriter)
};
var runs = factory.SimulationRuns().ToArray();
......@@ -174,11 +186,14 @@ namespace TUGraz.VectoCore.Tests.Integration
[TestMethod, Ignore]
public void Truck12t_UrbanDeliveryCycle_RefLoad_Declaration()
{
var jobFile = @"c:\Users\Technik\Downloads\12t Delivery Truck\12t Delivery Truck.vecto";
var inputData = JSONInputDataFactory.ReadJsonJob(jobFile);
var fileWriter = new FileOutputWriter(jobFile);
// TODO: fails due to interpolaion failure in Gear 4
var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode,
@"c:\Users\Technik\Downloads\12t Delivery Truck\12t Delivery Truck.vecto") {
var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, inputData, fileWriter) {
WriteModalResults = true,
SumData = new SummaryDataContainer("Test.vsum")
SumData = new SummaryDataContainer(fileWriter)
};
var runs = factory.SimulationRuns().ToArray();
......
......@@ -12,6 +12,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data;
using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
using TUGraz.VectoCore.Models.SimulationComponent.Impl;
using TUGraz.VectoCore.OutputData;
using TUGraz.VectoCore.OutputData.FileIO;
using TUGraz.VectoCore.Tests.Utils;
using TUGraz.VectoCore.Utils;
using Wheels = TUGraz.VectoCore.Models.SimulationComponent.Impl.Wheels;
......@@ -45,8 +46,9 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
var driverData = CreateDriverData(AccelerationFile);
var modalWriter = new ModalDataContainer("Coach_MinimalPowertrainOverload.vmod"); //new TestModalDataWriter();
var vehicleContainer = new VehicleContainer(modalWriter);
var fileWriter = new FileOutputWriter("Coach_MinimalPowertrainOverload", "");
var modData = new ModalDataContainer("Coach_MinimalPowertrainOverload", fileWriter); //new TestModalDataWriter();
var vehicleContainer = new VehicleContainer(modData);
var driver = new Driver(vehicleContainer, driverData, new DefaultDriverStrategy());
dynamic tmp = Port.AddComponent(driver, new Vehicle(vehicleContainer, vehicleData));
......@@ -95,8 +97,9 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
var driverData = CreateDriverData(AccelerationFile);
var modalWriter = new ModalDataContainer("Coach_MinimalPowertrain.vmod"); //new TestModalDataWriter();
var vehicleContainer = new VehicleContainer(modalWriter);
var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain", "");
var modData = new ModalDataContainer("Coach_MinimalPowertrain", fileWriter); //new TestModalDataWriter();
var vehicleContainer = new VehicleContainer(modData);
var cycle = new DistanceBasedDrivingCycle(vehicleContainer, cycleData);
......@@ -142,7 +145,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
: (Constants.SimulationSettings.TargetTimeInterval * vehicleContainer.VehicleSpeed).Cast<Meter>();
if (cnt++ % 100 == 0) {
modalWriter.Finish(VectoRun.Status.Success);
modData.Finish(VectoRun.Status.Success);
}
}).
Default(r => Assert.Fail("Unexpected Response: {0}", r));
......@@ -150,7 +153,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
Assert.IsInstanceOfType(response, typeof(ResponseCycleFinished));
modalWriter.Finish(VectoRun.Status.Success);
modData.Finish(VectoRun.Status.Success);
}
[TestMethod]
......@@ -165,9 +168,9 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
var driverData = CreateDriverData(AccelerationFile2);
var modalWriter = new ModalDataContainer("Coach_MinimalPowertrainOverload.vmod",
SimulatorFactory.FactoryMode.EngineeringMode);
var vehicleContainer = new VehicleContainer(modalWriter);
var fileWriter = new FileOutputWriter("Coach_MinimalPowertrainOverload");
var modData = new ModalDataContainer("Coach_MinimalPowertrainOverload", fileWriter);
var vehicleContainer = new VehicleContainer(modData);
var cycle = new DistanceBasedDrivingCycle(vehicleContainer, cycleData);
......@@ -206,11 +209,11 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
? Constants.SimulationSettings.DriveOffDistance
: (Constants.SimulationSettings.TargetTimeInterval * vehicleContainer.VehicleSpeed).Cast<Meter>();
modalWriter.Finish(VectoRun.Status.Success);
modData.Finish(VectoRun.Status.Success);
});
}
modalWriter.Finish(VectoRun.Status.Success);
modData.Finish(VectoRun.Status.Success);
}
private static GearData CreateAxleGearData()
......
......@@ -9,6 +9,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data;
using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
using TUGraz.VectoCore.Models.SimulationComponent.Impl;
using TUGraz.VectoCore.OutputData;
using TUGraz.VectoCore.OutputData.FileIO;
using TUGraz.VectoCore.Tests.Utils;
using TUGraz.VectoCore.Utils;
using Wheels = TUGraz.VectoCore.Models.SimulationComponent.Impl.Wheels;
......@@ -29,7 +30,8 @@ namespace TUGraz.VectoCore.Tests.Integration
public static VectoRun CreateEngineeringRun(DrivingCycleData cycleData, string modFileName, bool overspeed = false)
{
var container = CreatePowerTrain(cycleData, modFileName, 7500.SI<Kilogram>(), 19300.SI<Kilogram>(), overspeed);
var container = CreatePowerTrain(cycleData, modFileName.Replace(".vmod", ""), 7500.SI<Kilogram>(),
19300.SI<Kilogram>(), overspeed);
return new DistanceRun("", container);
}
......@@ -37,7 +39,7 @@ namespace TUGraz.VectoCore.Tests.Integration
public static VectoRun CreateEngineeringRun(DrivingCycleData cycleData, string modFileName, Kilogram massExtra,
Kilogram loading, bool overspeed = false)
{
var container = CreatePowerTrain(cycleData, modFileName, massExtra, loading, overspeed);
var container = CreatePowerTrain(cycleData, modFileName.Replace(".vmod", ""), massExtra, loading, overspeed);
return new DistanceRun("", container);
}
......@@ -45,8 +47,9 @@ namespace TUGraz.VectoCore.Tests.Integration
public static VehicleContainer CreatePowerTrain(DrivingCycleData cycleData, string modFileName, Kilogram massExtra,
Kilogram loading, bool overspeed = false)
{
var modalWriter = new ModalDataContainer(modFileName);
var container = new VehicleContainer(modalWriter);
var fileWriter = new FileOutputWriter(modFileName, "");
var modData = new ModalDataContainer(modFileName, fileWriter);
var container = new VehicleContainer(modData);
var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile);
var axleGearData = CreateAxleGearData();
......
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using TUGraz.VectoCore.Configuration;
using TUGraz.VectoCore.InputData.FileIO.JSON;
using TUGraz.VectoCore.Models.Simulation;
using TUGraz.VectoCore.Models.Simulation.Data;
using TUGraz.VectoCore.Models.Simulation.Impl;
using TUGraz.VectoCore.OutputData;
using TUGraz.VectoCore.OutputData.FileIO;
using TUGraz.VectoCore.Tests.Utils;
using TUGraz.VectoCore.Utils;
......@@ -70,12 +72,14 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
public IVectoRun CreateRun(string resultFileName)
{
var sumFileName = resultFileName.Substring(0, resultFileName.Length - 5) + Constants.FileExtensions.SumFile;
//var sumFileName = resultFileName.Substring(0, resultFileName.Length - 5) + Constants.FileExtensions.SumFile;
var dataWriter = new ModalDataContainer(resultFileName, SimulatorFactory.FactoryMode.EngineOnlyMode);
var sumWriter = new SummaryDataContainer(sumFileName);
var fileWriter = new FileOutputWriter(resultFileName, "");
var modData = new ModalDataContainer(resultFileName, fileWriter, SimulatorFactory.FactoryMode.EngineOnlyMode);
var sumWriter = new SummaryDataContainer(fileWriter);
var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineOnlyMode, EngineOnlyJob) {
var inputData = JSONInputDataFactory.ReadJsonJob(EngineOnlyJob);
var factory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineOnlyMode, inputData, fileWriter) {
SumData = sumWriter
};
......@@ -85,11 +89,13 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
[TestMethod]
public void Test_VectoJob()
{
var sumWriter = new SummaryDataContainer(@"24t Coach.vsum");
var fileWriter = new FileOutputWriter(@"24t Coach.vsum", "");
var sumWriter = new SummaryDataContainer(fileWriter);
var jobContainer = new JobContainer(sumWriter);
var inputData = JSONInputDataFactory.ReadJsonJob(@"TestData\Jobs\24t Coach EngineOnly.vecto");
var runsFactory = new SimulatorFactory(SimulatorFactory.FactoryMode.EngineOnlyMode,
@"TestData\Jobs\24t Coach EngineOnly.vecto");
inputData, fileWriter);
jobContainer.AddRuns(runsFactory);
jobContainer.Execute();
......
......@@ -13,6 +13,7 @@ using TUGraz.VectoCore.Models.SimulationComponent;
using TUGraz.VectoCore.Models.SimulationComponent.Data;
using TUGraz.VectoCore.Models.SimulationComponent.Impl;
using TUGraz.VectoCore.OutputData;
using TUGraz.VectoCore.OutputData.FileIO;
using TUGraz.VectoCore.Tests.Utils;
using TUGraz.VectoCore.Utils;
using Wheels = TUGraz.VectoCore.Models.SimulationComponent.Impl.Wheels;
......@@ -41,9 +42,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
var driverData = CreateDriverData();
var modalWriter = new ModalDataContainer("Coach_MinimalPowertrain_Coasting.vmod",
SimulatorFactory.FactoryMode.EngineeringMode); //new TestModalDataWriter();
var vehicleContainer = new VehicleContainer(modalWriter);
var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain_Coasting", "");
var modData = new ModalDataContainer("Coach_MinimalPowertrain_Coasting", fileWriter);
var vehicleContainer = new VehicleContainer(modData);
var driver = new Driver(vehicleContainer, driverData, new DefaultDriverStrategy());
var engine = new CombustionEngine(vehicleContainer, engineData);
......@@ -82,9 +83,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
vehicleContainer.CommitSimulationStep(absTime, response.SimulationInterval);
absTime += response.SimulationInterval;
modalWriter.Finish(VectoRun.Status.Success);
modData.Finish(VectoRun.Status.Success);
}
modalWriter.Finish(VectoRun.Status.Success);
modData.Finish(VectoRun.Status.Success);
}
[TestMethod]
......@@ -96,8 +97,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
var driverData = CreateDriverData();
var modalWriter = new ModalDataContainer("Coach_MinimalPowertrain_Coasting.vmod");
var vehicleContainer = new VehicleContainer(modalWriter);
var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain_Coasting", "");
var modData = new ModalDataContainer("Coach_MinimalPowertrain_Coasting", fileWriter);
var vehicleContainer = new VehicleContainer(modData);
var driver = new Driver(vehicleContainer, driverData, new DefaultDriverStrategy());
var engine = new CombustionEngine(vehicleContainer, engineData);
......@@ -139,9 +141,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
vehicleContainer.CommitSimulationStep(absTime, response.SimulationInterval);
absTime += response.SimulationInterval;
modalWriter.Finish(VectoRun.Status.Success);
modData.Finish(VectoRun.Status.Success);
}
modalWriter.Finish(VectoRun.Status.Success);
modData.Finish(VectoRun.Status.Success);
}
......@@ -154,8 +156,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
var driverData = CreateDriverData();
var modalWriter = new ModalDataContainer("Coach_MinimalPowertrain.vmod", SimulatorFactory.FactoryMode.EngineeringMode);
var vehicleContainer = new VehicleContainer(modalWriter);
var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain", "");
var modData = new ModalDataContainer("Coach_MinimalPowertrain", fileWriter);
var vehicleContainer = new VehicleContainer(modData);
var cycle = new MockDrivingCycle(vehicleContainer, null);
......@@ -184,7 +187,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
vehicleContainer.CommitSimulationStep(absTime, response.SimulationInterval);
absTime += response.SimulationInterval;
Assert.AreEqual(0.955, modalWriter.GetValues<SI>(ModalResultField.acc).Last().Value(), Tolerance);
Assert.AreEqual(0.955, modData.GetValues<SI>(ModalResultField.acc).Last().Value(), Tolerance);
response = driverPort.Request(absTime, 1.SI<Meter>(), 10.SI<MeterPerSecond>(), 0.SI<Radian>());
......@@ -193,7 +196,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
vehicleContainer.CommitSimulationStep(absTime, response.SimulationInterval);
absTime += response.SimulationInterval;
Assert.AreEqual(0.7914, modalWriter.GetValues<SI>(ModalResultField.acc).Last().Value(), Tolerance);
Assert.AreEqual(0.7914, modData.GetValues<SI>(ModalResultField.acc).Last().Value(), Tolerance);
}
[TestMethod]
......
......@@ -17,7 +17,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
" 0, 0, 2.95016969027809, 1",
"1000, 60, 2.95016969027809, 0",
});
var container = Truck40tPowerTrain.CreatePowerTrain(cycle, "Gearbox_Initialize.vmod", 7500.0.SI<Kilogram>(),
var container = Truck40tPowerTrain.CreatePowerTrain(cycle, "Gearbox_Initialize", 7500.0.SI<Kilogram>(),
0.SI<Kilogram>());
var retVal = container.Cycle.Initialize();
Assert.AreEqual(4u, container.Gear);
......@@ -48,7 +48,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
" 0, 0, 2.95016969027809, 1",
" 1000, 60, 2.95016969027809, 0",
});
var container = Truck40tPowerTrain.CreatePowerTrain(cycle, "Gearbox_Initialize.vmod", 7500.0.SI<Kilogram>(),
var container = Truck40tPowerTrain.CreatePowerTrain(cycle, "Gearbox_Initialize", 7500.0.SI<Kilogram>(),
19300.SI<Kilogram>());
var retVal = container.Cycle.Initialize();
Assert.AreEqual(4u, container.Gear);
......@@ -79,7 +79,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
" 0, 85, 2.95016969027809, 0",
" 100, 85, 2.95016969027809, 0",
});
var container = Truck40tPowerTrain.CreatePowerTrain(cycle, "Gearbox_Initialize.vmod", 7500.0.SI<Kilogram>(),
var container = Truck40tPowerTrain.CreatePowerTrain(cycle, "Gearbox_Initialize", 7500.0.SI<Kilogram>(),
19300.SI<Kilogram>());
var retVal = container.Cycle.Initialize();
Assert.AreEqual(11u, container.Gear);
......
......@@ -347,9 +347,9 @@ namespace TUGraz.VectoCore.Tests.Utils
}
private static Series CreateSeries(String name, Legend legend, ChartArea chartArea, Chart chart, Color color,
double[] x, double[] y)
IEnumerable<double> x, IEnumerable<double> y)
{
ModalResultField yfield;
//ModalResultField yfield;
var series1 = new Series {
Name = name,
ChartType = SeriesChartType.Line,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment