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 36157b56 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

testcases work

parent 8254ee59
Branches
Tags
No related merge requests found
Showing
with 45 additions and 61 deletions
......@@ -11,6 +11,8 @@
public const string VectoJobFile = ".vecto";
public const string EngineDataFile = ".veng";
public const string CycleFile = ".vdri";
}
}
}
\ No newline at end of file
using System.Collections.Generic;
using System.Security.Cryptography.X509Certificates;
using TUGraz.VectoCore.Models.Simulation.Data;
namespace TUGraz.VectoCore.FileIO.Reader
......@@ -9,6 +10,7 @@ namespace TUGraz.VectoCore.FileIO.Reader
IEnumerable<VectoRunData> NextRun();
bool IsEngineOnly { get; }
// void SetJobJson(string jsonData, string basePath);
}
......
......@@ -30,6 +30,8 @@ namespace TUGraz.VectoCore.FileIO.Reader.Impl
ProcessJob(Job);
}
public abstract bool IsEngineOnly { get; }
public abstract IEnumerable<VectoRunData> NextRun();
......
......@@ -51,7 +51,7 @@ namespace TUGraz.VectoCore.FileIO.Reader.Impl
SavedInDeclarationMode = true,
Entries = cycleEntries
},
IsEngineOnly = false,
IsEngineOnly = IsEngineOnly,
JobFileName = Job.JobFile,
};
yield return simulationRunData;
......@@ -150,5 +150,10 @@ namespace TUGraz.VectoCore.FileIO.Reader.Impl
return DeclarationData.Segments.Lookup(category, axles, grossMassRating, curbWeight);
}
public override bool IsEngineOnly
{
get { return false; }
}
}
}
\ No newline at end of file
......@@ -28,7 +28,7 @@ namespace TUGraz.VectoCore.FileIO.Reader.Impl
JobFileName = job.JobFile,
EngineData = dao.CreateEngineData(Engine),
Cycle = DrivingCycleData.ReadFromFileEngineOnly(Path.Combine(job.BasePath, cycle)),
IsEngineOnly = true
IsEngineOnly = IsEngineOnly
};
yield return simulationRunData;
}
......@@ -44,5 +44,10 @@ namespace TUGraz.VectoCore.FileIO.Reader.Impl
ReadEngine(Path.Combine(job.BasePath, job.Body.EngineFile));
}
public override bool IsEngineOnly
{
get { return true; }
}
}
}
\ No newline at end of file
......@@ -85,7 +85,7 @@ namespace TUGraz.VectoCore.FileIO.Reader.Impl
//Aux =
// TODO: distance or time-based cycle!
Cycle = DrivingCycleData.ReadFromFile(Path.Combine(job.BasePath, cycle), DrivingCycleData.CycleType.DistanceBased),
IsEngineOnly = false
IsEngineOnly = IsEngineOnly
};
yield return simulationRunData;
}
......@@ -225,5 +225,10 @@ namespace TUGraz.VectoCore.FileIO.Reader.Impl
throw new UnsupportedFileVersionException("Unsopported Version of vehicle-file. Got version " + fileInfo.Version);
}
}
public override bool IsEngineOnly
{
get { return false; }
}
}
}
\ No newline at end of file
......@@ -32,9 +32,13 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
private VehicleContainer BuildFullPowertrain(VectoRunData data)
{
IDrivingCycleDemandDrivingCycle cycle;
if (_engineOnly) {
cycle = new TimeBasedDrivingCycle(_container, data.Cycle);
} else {
//todo: make distinction between time based and distance based driving cycle!
var cycle = new DistanceBasedDrivingCycle(_container, data.Cycle);
cycle = new DistanceBasedDrivingCycle(_container, data.Cycle);
}
// connect cycle --> driver --> vehicle --> wheels --> axleGear --> gearBox --> retarder --> clutch
dynamic tmp = AddComponent(cycle, new Driver(_container, data.DriverData));
tmp = AddComponent(tmp, new Vehicle(_container, data.VehicleData));
......
......@@ -69,43 +69,17 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
IModalDataWriter modWriter = null;
if (_mode != FactoryMode.DeclarationMode) {
var modFileName = Path.Combine(data.BasePath, data.JobFileName.Replace(Constants.FileExtensions.VectoJobFile, "") +
var modFileName = Path.Combine(data.BasePath,
data.JobFileName.Replace(Constants.FileExtensions.VectoJobFile, "") + "_{0}" +
Constants.FileExtensions.ModDataFile);
modWriter = new ModalDataWriter(modFileName, _mode == FactoryMode.EngineOnlyMode);
modWriter = new ModalDataWriter(string.Format(modFileName, data.Cycle.Name), DataReader.IsEngineOnly);
}
var jobName = string.Format("{0}-{1}", JobNumber, i++);
var sumWriterDecorator = DecorateSumWriter(data.IsEngineOnly, SumWriter, data.JobFileName, jobName, data.Cycle.Name);
var builder = new PowertrainBuilder(modWriter, sumWriterDecorator, data.IsEngineOnly);
var builder = new PowertrainBuilder(modWriter, sumWriterDecorator, DataReader.IsEngineOnly);
yield return new VectoRun(builder.Build(data));
}
//_runCreator.SetJobFile(jobFile);
//foreach (var data in _runCreator.Runs()) {
// //for (var i = 0; i < data.Cycles.Count; i++) {
// var cycleName = data.Cycle;
// var jobName = string.Format("{0}-{1}", jobNumber, i);
// var modFileName = string.Format("{0}_{1}.vmod", Path.GetFileNameWithoutExtension(data.JobFileName),
// Path.GetFileNameWithoutExtension(cycleName));
// _dataWriter = new ModalDataWriter(modFileName, data.IsEngineOnly);
// var sumWriterDecorator = DecorateSumWriter(data.IsEngineOnly, sumWriter, data.JobFileName, jobName, cycleName);
// var builder = new PowertrainBuilder(_dataWriter, sumWriterDecorator, data.IsEngineOnly);
// builder.AddEngine(data.EngineData);
// if (!data.IsEngineOnly) {
// builder.AddVehicle(data.VehicleData);
// builder.AddGearbox(data.GearboxData);
// foreach (var aux in data.Aux) {
// builder.AddAuxiliary(aux.Path, aux.ID);
// }
// // @@@ TODO builder.AddDriver(data.StartStop, data.OverSpeedEcoRoll, data.LookAheadCoasting, data.AccelerationLimitingFile);
// }
// yield return builder.Build(cycleName);
//}
}
/// <summary>
......
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using Common.Logging;
using TUGraz.VectoCore.Configuration;
using TUGraz.VectoCore.Exceptions;
using TUGraz.VectoCore.Utils;
......@@ -46,7 +48,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
log.Info(string.Format("Data loaded. Number of Entries: {0}", entries.Count));
var cycle = new DrivingCycleData { Entries = entries };
var cycle = new DrivingCycleData {
Entries = entries,
Name = Path.GetFileNameWithoutExtension(fileName)
};
return cycle;
}
......
......@@ -70,28 +70,6 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
return factory.SimulationRuns().First();
}
[TestMethod]
public void TestEngineOnly_MultipleJobs()
{
var resultFiles = new[] {
@"TestEngineOnly-MultipleJobs-result1_" + Path.GetFileNameWithoutExtension(CycleFile) + ".vmod",
@"TestEngineOnly-MultipleJobs-result2_" + Path.GetFileNameWithoutExtension(CycleFile) + ".vmod",
@"TestEngineOnly-MultipleJobs-result3_" + Path.GetFileNameWithoutExtension(CycleFile) + ".vmod"
};
var simulation = new JobContainer(new TestSumWriter());
foreach (var resultFile in resultFiles) {
simulation.AddRun(CreateRun(resultFile));
}
simulation.Execute();
ResultFileHelper.TestModFiles(
Enumerable.Repeat(@"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod",
resultFiles.Length),
resultFiles);
}
[TestMethod]
public void Test_VectoJob()
{
......
......@@ -11,7 +11,9 @@
"EngineFile": "../Components/24t Coach.veng",
"GearboxFile": "../Components/24t Coach.vgbx",
"Cycles": [
"../Cycles/Coach_24t_xshort.vdri"
"../Cycles/Engine Only1.vdri",
"../Cycles/Engine Only2.vdri",
"../Cycles/Engine Only3.vdri"
],
"VACC": "TestData/Components/Coach.vacc",
"EngineOnlyMode": true,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment