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

adding testcases for geneic vehicles with new shift strategy

parent 3211a77c
No related branches found
No related tags found
No related merge requests found
using System;
using System.IO;
using System.Linq;
using NUnit.Framework;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCore.InputData.FileIO.JSON;
using TUGraz.VectoCore.InputData.FileIO.XML.Declaration;
using TUGraz.VectoCore.Models.Simulation.Impl;
using TUGraz.VectoCore.OutputData.FileIO;
using TUGraz.VectoCore.Tests.Models.Simulation;
namespace TUGraz.VectoCore.Tests.Integration
{
public class AMTShiftStrategyTests
{
[OneTimeSetUp]
public void RunBeforeAnyTests()
{
Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
}
[TestCase(@"E:\QUAM\tmp\AMT_ShiftStrategyNeu\VOLVO_AxleLossMapExtrapolation\Class5_TUG_Vehicle_VOLVO.xml", 5)]
public void RunJob_DeclSingle(string jobName, int runIdx)
{
var relativeJobPath = jobName;
var writer = new FileOutputWriter(relativeJobPath);
var inputData = Path.GetExtension(relativeJobPath) == ".xml" ? new XMLDeclarationInputDataProvider(relativeJobPath, true) : JSONInputDataFactory.ReadJsonJob(relativeJobPath);
var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) {
WriteModalResults = true,
//ActualModalData = true,
Validate = false
};
var jobContainer = new JobContainer(new MockSumWriter());
var runs = factory.SimulationRuns().ToArray();
runs[runIdx].Run();
Assert.IsTrue(runs[runIdx].FinishedWithoutErrors);
}
[TestCase(@"E:\QUAM\tmp\AMT_ShiftStrategyNeu\VOLVO_AxleLossMapExtrapolation\Class5_TUG_Vehicle_VOLVO.xml")]
public void RunJob_DeclAll(string jobName)
{
var relativeJobPath = jobName;
var writer = new FileOutputWriter(relativeJobPath);
var inputData = Path.GetExtension(relativeJobPath) == ".xml" ? new XMLDeclarationInputDataProvider(relativeJobPath, true) : JSONInputDataFactory.ReadJsonJob(relativeJobPath);
var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) {
WriteModalResults = true,
//ActualModalData = true,
Validate = false
};
var jobContainer = new JobContainer(new MockSumWriter());
jobContainer.AddRuns(factory);
jobContainer.Execute();
jobContainer.WaitFinished();
var progress = jobContainer.GetProgress();
Assert.IsTrue(progress.All(r => r.Value.Success), string.Concat<Exception>(progress.Select(r => r.Value.Error)));
Assert.IsTrue(jobContainer.Runs.All(r => r.Success), String.Concat<Exception>(jobContainer.Runs.Select(r => r.ExecException)));
}
}
}
......@@ -36,32 +36,10 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
]
public void TestSShiftStrategyV2(string jobFile, int i)
{
var fileWriter = new FileOutputWriter(jobFile);
var sumWriter = new SummaryDataContainer(fileWriter);
var jobContainer = new JobContainer(sumWriter);
var dataProvider = Path.GetExtension(jobFile) == ".vecto"
? JSONInputDataFactory.ReadJsonJob(jobFile)
: new XMLDeclarationInputDataProvider(jobFile, true);
var runsFactory = new SimulatorFactory(ExecutionMode.Declaration, dataProvider, fileWriter) {
ModalResults1Hz = false,
WriteModalResults = true,
ActualModalData = false,
Validate = false,
SumData = sumWriter,
};
var runs = runsFactory.SimulationRuns().ToArray();
jobContainer.AddRun(runs[i]);
jobContainer.Runs[0].Run.Run();
Assert.IsTrue(jobContainer.Runs[0].Run.FinishedWithoutErrors);
jobContainer.Execute();
jobContainer.WaitFinished();
RunJob_DeclSingle(jobFile, i);
}
[TestCase(@"TestData\Integration\EngineeringMode\ShiftStrategyUpdated\Class5_Tractor_4x2\Class5_Tractor_ENG_TCU.vecto")]
[TestCase(@"TestData\Integration\ShiftStrategyV2\Class5_Tractor_4x2\Class5_Tractor_ENG_TCU.vecto")]
public void TestShiftStrategyEngineering(string jobFile, int runIdx = 0)
{
var relativeJobPath = jobFile;
......@@ -87,6 +65,256 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
//Assert.IsTrue(progress.All(r => r.Value.Success), string.Concat<Exception>(progress.Select(r => r.Value.Error)));
//Assert.IsTrue(jobContainer.Runs.All(r => r.Success), String.Concat<Exception>(jobContainer.Runs.Select(r => r.ExecException)));
}
[//TestCase(@"Rigid Truck_4x2_vehicle-class-1_EURO6_2018.xml", null, TestName = "AMT ShiftV2 Group1 ALL"),
TestCase(@"Rigid Truck_4x2_vehicle-class-1_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group1 RD Low"),
TestCase(@"Rigid Truck_4x2_vehicle-class-1_EURO6_2018.xml", 1, TestName = "AMT ShiftV2 Group1 RD Ref"),
TestCase(@"Rigid Truck_4x2_vehicle-class-1_EURO6_2018.xml", 2, TestName = "AMT ShiftV2 Group1 UD Low"),
TestCase(@"Rigid Truck_4x2_vehicle-class-1_EURO6_2018.xml", 3, TestName = "AMT ShiftV2 Group1 UD Ref"),
]
public void RunDeclarationTestNewShiftStrategy_Group1(string filename, int? idx)
{
var job = @"TestData\Integration\ShiftStrategyV2\SampleVehicles\" + filename;
if (idx.HasValue) {
RunJob_DeclSingle(job, idx.Value);
} else {
RunJob_DeclAll(job);
}
}
[//TestCase(@"Rigid Truck_4x2_vehicle-class-2_EURO6_2018.xml", null, TestName = "AMT ShiftV2 Group4 ALL"),
TestCase(@"Rigid Truck_4x2_vehicle-class-2_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group4 LH Low"),
TestCase(@"Rigid Truck_4x2_vehicle-class-2_EURO6_2018.xml", 1, TestName = "AMT ShiftV2 Group4 LH Ref"),
TestCase(@"Rigid Truck_4x2_vehicle-class-2_EURO6_2018.xml", 2, TestName = "AMT ShiftV2 Group4 RD Low"),
TestCase(@"Rigid Truck_4x2_vehicle-class-2_EURO6_2018.xml", 3, TestName = "AMT ShiftV2 Group4 RD Ref"),
TestCase(@"Rigid Truck_4x2_vehicle-class-2_EURO6_2018.xml", 4, TestName = "AMT ShiftV2 Group4 UD Low"),
TestCase(@"Rigid Truck_4x2_vehicle-class-2_EURO6_2018.xml", 5, TestName = "AMT ShiftV2 Group4 UD Ref"),
]
public void RunDeclarationTestNewShiftStrategy_Group2(string filename, int? idx)
{
var job = @"TestData\Integration\ShiftStrategyV2\SampleVehicles\" + filename;
if (idx.HasValue) {
RunJob_DeclSingle(job, idx.Value);
} else {
RunJob_DeclAll(job);
}
}
[//TestCase(@"Rigid Truck_4x2_vehicle-class-3_EURO6_2018.xml", null, TestName = "AMT ShiftV2 Group3 ALL"),
TestCase(@"Rigid Truck_4x2_vehicle-class-3_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group3 RD Low"),
TestCase(@"Rigid Truck_4x2_vehicle-class-3_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group3 RD Low"),
TestCase(@"Rigid Truck_4x2_vehicle-class-3_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group3 UD Low"),
TestCase(@"Rigid Truck_4x2_vehicle-class-3_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group3 UD Low"),
]
public void RunDeclarationTestNewShiftStrategy_Group3(string filename, int? idx)
{
var job = @"TestData\Integration\ShiftStrategyV2\SampleVehicles\" + filename;
if (idx.HasValue) {
RunJob_DeclSingle(job, idx.Value);
} else {
RunJob_DeclAll(job);
}
}
[TestCase(@"Rigid Truck_4x2_vehicle-class-4_EURO6_2018.xml", null, TestName = "AMT ShiftV2 Group4 ALL"),
//TestCase(@"Rigid Truck_4x2_vehicle-class-4_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group4 LH Low"),
//TestCase(@"Rigid Truck_4x2_vehicle-class-4_EURO6_2018.xml", 1, TestName = "AMT ShiftV2 Group4 LH Ref"),
//TestCase(@"Rigid Truck_4x2_vehicle-class-4_EURO6_2018.xml", 2, TestName = "AMT ShiftV2 Group4 RD Low"),
//TestCase(@"Rigid Truck_4x2_vehicle-class-4_EURO6_2018.xml", 3, TestName = "AMT ShiftV2 Group4 RD Ref"),
//TestCase(@"Rigid Truck_4x2_vehicle-class-4_EURO6_2018.xml", 4, TestName = "AMT ShiftV2 Group4 UD Low"),
//TestCase(@"Rigid Truck_4x2_vehicle-class-4_EURO6_2018.xml", 5, TestName = "AMT ShiftV2 Group4 UD Ref"),
//TestCase(@"Rigid Truck_4x2_vehicle-class-4_EURO6_2018.xml", 6, TestName = "AMT ShiftV2 Group4 MU Low"),
//TestCase(@"Rigid Truck_4x2_vehicle-class-4_EURO6_2018.xml", 7, TestName = "AMT ShiftV2 Group4 MU Ref"),
]
public void RunDeclarationTestNewShiftStrategy_Group4(string filename, int? idx)
{
var job = @"TestData\Integration\ShiftStrategyV2\SampleVehicles\" + filename;
if (idx.HasValue) {
RunJob_DeclSingle(job, idx.Value);
} else {
RunJob_DeclAll(job);
}
}
[TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", null, TestName = "AMT ShiftV2 Group5 ALL"),
//TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group5 LH Low"),
//TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", 1, TestName = "AMT ShiftV2 Group5 LH Ref"),
//TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", 2, TestName = "AMT ShiftV2 Group5 LH EMS Low"),
//TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", 3, TestName = "AMT ShiftV2 Group5 LH EMS Ref"),
//TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", 4, TestName = "AMT ShiftV2 Group5 RD Low"),
//TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", 5, TestName = "AMT ShiftV2 Group5 RD Ref"),
//TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", 6, TestName = "AMT ShiftV2 Group5 RD EMS Low"),
//TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", 7, TestName = "AMT ShiftV2 Group5 RD EMS Ref"),
//TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", 8, TestName = "AMT ShiftV2 Group5 UD Low"),
//TestCase("Tractor_4x2_vehicle-class-5_EURO6_2018.xml", 9, TestName = "AMT ShiftV2 Group5 UD Ref"),
]
public void RunDeclarationTestNewShiftStrategy_Group5(string filename, int? idx)
{
var job = @"TestData\Integration\ShiftStrategyV2\SampleVehicles\" + filename;
if (idx.HasValue) {
RunJob_DeclSingle(job, idx.Value);
} else {
RunJob_DeclAll(job);
}
}
[TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", null, TestName = "AMT ShiftV2 Group9 ALL"),
//TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group9 LH Low"),
//TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", 1, TestName = "AMT ShiftV2 Group9 LH Ref"),
//TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", 2, TestName = "AMT ShiftV2 Group9 LH EMS Low"),
//TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", 3, TestName = "AMT ShiftV2 Group9 LH EMS Ref"),
//TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", 4, TestName = "AMT ShiftV2 Group9 RD Low"),
//TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", 5, TestName = "AMT ShiftV2 Group9 RD Ref"),
//TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", 6, TestName = "AMT ShiftV2 Group9 RD EMS Low"),
//TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", 7, TestName = "AMT ShiftV2 Group9 RD EMS Ref"),
//TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", 8, TestName = "AMT ShiftV2 Group9 MU Low"),
//TestCase("Rigid Truck_6x2_vehicle-class-9_EURO6_2018.xml", 9, TestName = "AMT ShiftV2 Group9 MU Ref"),
]
public void RunDeclarationTestNewShiftStrategy_Group9(string filename, int? idx)
{
var job = @"TestData\Integration\ShiftStrategyV2\SampleVehicles\" + filename;
if (idx.HasValue) {
RunJob_DeclSingle(job, idx.Value);
} else {
RunJob_DeclAll(job);
}
}
[TestCase("Tractor_6x2_vehicle-class-10_EURO6_2018.xml", null, TestName = "AMT ShiftV2 Group 10 ALL"),
//TestCase("Tractor_6x2_vehicle-class-10_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group10 LH Low"),
//TestCase("Tractor_6x2_vehicle-class-10_EURO6_2018.xml", 1, TestName = "AMT ShiftV2 Group10 LH Ref"),
//TestCase("Tractor_6x2_vehicle-class-10_EURO6_2018.xml", 2, TestName = "AMT ShiftV2 Group10 LH EMS Los"),
//TestCase("Tractor_6x2_vehicle-class-10_EURO6_2018.xml", 3, TestName = "AMT ShiftV2 Group10 LH EMS Ref"),
//TestCase("Tractor_6x2_vehicle-class-10_EURO6_2018.xml", 4, TestName = "AMT ShiftV2 Group10 RD Low"),
//TestCase("Tractor_6x2_vehicle-class-10_EURO6_2018.xml", 5, TestName = "AMT ShiftV2 Group10 RD Ref"),
//TestCase("Tractor_6x2_vehicle-class-10_EURO6_2018.xml", 6, TestName = "AMT ShiftV2 Group10 RD EMS Low"),
//TestCase("Tractor_6x2_vehicle-class-10_EURO6_2018.xml", 7, TestName = "AMT ShiftV2 Group10 RD EMS Ref"),
]
public void RunDeclarationTestNewShiftStrategy_Group10(string filename, int? idx)
{
var job = @"TestData\Integration\ShiftStrategyV2\SampleVehicles\" + filename;
if (idx.HasValue) {
RunJob_DeclSingle(job, idx.Value);
} else {
RunJob_DeclAll(job);
}
}
[//TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", null, TestName = "AMT ShiftV2 Group 11 ALL"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group11 LH Low"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 1, TestName = "AMT ShiftV2 Group11 LH Ref"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 2, TestName = "AMT ShiftV2 Group11 LH EMS Low"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 3, TestName = "AMT ShiftV2 Group11 LH EMS Ref"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 4, TestName = "AMT ShiftV2 Group11 RD Low"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 5, TestName = "AMT ShiftV2 Group11 RD Ref"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 6, TestName = "AMT ShiftV2 Group11 RD EMS Low"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 7, TestName = "AMT ShiftV2 Group11 RD EMS Ref"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 8, TestName = "AMT ShiftV2 Group11 MU Low"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 9, TestName = "AMT ShiftV2 Group11 MU Ref"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 10, TestName = "AMT ShiftV2 Group11 CO Low"),
TestCase("Rigid Truck_6x4_vehicle-class-11_EURO6_2018.xml", 11, TestName = "AMT ShiftV2 Group11 CO Ref"),
]
public void RunDeclarationTestNewShiftStrategy_Group11(string filename, int? idx)
{
var job = @"TestData\Integration\ShiftStrategyV2\SampleVehicles\" + filename;
if (idx.HasValue) {
RunJob_DeclSingle(job, idx.Value);
} else {
RunJob_DeclAll(job);
}
}
[//TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", null, TestName = "AMT ShiftV2 Group 11 ALL"),
TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group11 LH Low"),
TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", 1, TestName = "AMT ShiftV2 Group11 LH Ref"),
TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", 2, TestName = "AMT ShiftV2 Group11 LH EMS Low"),
TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", 3, TestName = "AMT ShiftV2 Group11 LH EMS Ref"),
TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", 4, TestName = "AMT ShiftV2 Group11 RD Low"),
TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", 5, TestName = "AMT ShiftV2 Group11 RD Ref"),
TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", 6, TestName = "AMT ShiftV2 Group11 RD EMS Low"),
TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", 7, TestName = "AMT ShiftV2 Group11 RD EMS Ref"),
TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", 8, TestName = "AMT ShiftV2 Group11 CO Low"),
TestCase("Tractor_6x4_vehicle-class-12_EURO6_2018.xml", 9, TestName = "AMT ShiftV2 Group11 CO Ref"),
]
public void RunDeclarationTestNewShiftStrategy_Group12(string filename, int? idx)
{
var job = @"TestData\Integration\ShiftStrategyV2\SampleVehicles\" + filename;
if (idx.HasValue) {
RunJob_DeclSingle(job, idx.Value);
} else {
RunJob_DeclAll(job);
}
}
[//TestCase("Rigid Truck_8x4_vehicle-class-16_EURO6_2018.xml", null, TestName = "AMT ShiftV2 Group16 ALL"),
TestCase("Rigid Truck_8x4_vehicle-class-16_EURO6_2018.xml", 0, TestName = "AMT ShiftV2 Group16 CO Low"),
TestCase("Rigid Truck_8x4_vehicle-class-16_EURO6_2018.xml", 1, TestName = "AMT ShiftV2 Group16 CO Ref"),
]
public void RunDeclarationTestNewShiftStrategy_Group16(string filename, int? idx)
{
var job = @"TestData\Integration\ShiftStrategyV2\SampleVehicles\" + filename;
if (idx.HasValue) {
RunJob_DeclSingle(job, idx.Value);
} else {
RunJob_DeclAll(job);
}
}
public void RunJob_DeclSingle(string jobName, int runIdx)
{
var relativeJobPath = jobName;
var writer = new FileOutputWriter(relativeJobPath);
var inputData = Path.GetExtension(relativeJobPath) == ".xml" ? new XMLDeclarationInputDataProvider(relativeJobPath, true) : JSONInputDataFactory.ReadJsonJob(relativeJobPath);
var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) {
WriteModalResults = true,
//ActualModalData = true,
Validate = false
};
var jobContainer = new JobContainer(new MockSumWriter());
var runs = factory.SimulationRuns().ToArray();
runs[runIdx].Run();
Assert.IsTrue(runs[runIdx].FinishedWithoutErrors);
}
public void RunJob_DeclAll(string jobName)
{
var relativeJobPath = jobName;
var writer = new FileOutputWriter(relativeJobPath);
var inputData = Path.GetExtension(relativeJobPath) == ".xml" ? new XMLDeclarationInputDataProvider(relativeJobPath, true) : JSONInputDataFactory.ReadJsonJob(relativeJobPath);
var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) {
WriteModalResults = true,
//ActualModalData = true,
Validate = false
};
var jobContainer = new JobContainer(new MockSumWriter());
jobContainer.AddRuns(factory);
jobContainer.Execute();
jobContainer.WaitFinished();
var progress = jobContainer.GetProgress();
Assert.IsTrue(progress.All(r => r.Value.Success), string.Concat<Exception>(progress.Select(r => r.Value.Error)));
Assert.IsTrue(jobContainer.Runs.All(r => r.Success), String.Concat<Exception>(jobContainer.Runs.Select(r => r.ExecException)));
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment