Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit e1eec2da authored by Harald Martini's avatar Harald Martini Committed by Markus Quaritsch
Browse files

Pull request #295: Bugfix/VECTO-1740 e em loss data is missing

Merge in VECTO/vecto-dev from VECTO/hm_vecto-dev:bugfix/VECTO-1740-e_em-loss-data-is-missing to develop

* commit 'e62e448e':
  added electric motor fields to ordered columns
  added checks for em columns in declaration mode integration tests
parents c0ca1f24 e62e448e
No related branches found
No related tags found
No related merge requests found
......@@ -397,6 +397,7 @@ namespace TUGraz.VectoCore.OutputData
protected IList<string> FcCols = new List<string>();
protected IList<string> GearColumns = new List<string>();
protected IList<string> AuxColumns = new List<string>();
protected IList<string> EmColumns = new List<string>();
/// <summary>
......@@ -525,10 +526,17 @@ namespace TUGraz.VectoCore.OutputData
private void CreateElectricMotorColumns(IElectricMotor em, VectoRunData runData, Tuple<string, Type>[] cols)
{
lock (Table) {
var emColNames = cols.Select(x => string.Format(x.Item1, em.Position.GetName()));
Table.Columns.AddRange(cols
.Select(x => Tuple.Create(string.Format(x.Item1, em.Position.GetName()), x.Item2))
.Where(x => !Table.Columns.Contains(x.Item1)).Select(x => new DataColumn(x.Item1, x.Item2))
.ToArray());
foreach (var emColName in emColNames) {
if(EmColumns.Contains(emColName)) {
continue;
}
EmColumns.Add(emColName);
}
}
}
......@@ -675,7 +683,12 @@ namespace TUGraz.VectoCore.OutputData
SumDataFields.f_equiv,
});
cols.AddRange(new[] {
cols.AddRange(EmColumns);
cols.AddRange(new[] {
SumDataFields.REESS_StartSoC,
SumDataFields.REESS_EndSoC,
SumDataFields.REESS_DeltaEnergy,
......
......@@ -18,6 +18,7 @@ using System.Xml.Schema;
using Moq;
using Ninject;
using NUnit.Framework;
using NUnit.Framework.Constraints;
using TUGraz.VectoCommon.Exceptions;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Models;
......@@ -261,7 +262,23 @@ public class LorrySimulation
modData = VectoCSVFile.Read(modFileName, false, true);
}
public void AssertVSUMElectricMotorFields(string vsumFileName, VectoRunData runData)
{
var sumData = VectoCSVFile.Read(vsumFileName, false, true);
var em_positions = runData.ElectricMachinesData.Select(em => em.Item1);
foreach (var em_pos in runData.ElectricMachinesData.Select(e => e.Item1)) {
Tuple<string, Type>[] columns;
if (em_pos == PowertrainPosition.IEPC) {
columns = SummaryDataContainer.IEPCColumns;
} else {
columns = SummaryDataContainer.ElectricMotorColumns;
}
foreach (var (s, type) in columns) {
var colName = string.Format(s, em_pos.GetLabel());
Assert.IsTrue(sumData.Columns.Contains(colName), $"{colName} missing in sum file");
}
}
}
public void VSUM_order_test(string fileName, VectoRunData runData)
{
......@@ -553,6 +570,8 @@ public class LorrySimulation
jobContainer.Execute(false);
WaitAndAssertSuccess(jobContainer, fileWriter);
AssertVSUMElectricMotorFields(fileWriter.SumFileName, runs.First().GetContainer().RunData);
}
......@@ -580,8 +599,8 @@ public class LorrySimulation
var modData = ((ModalDataContainer)((VehicleContainer)runs.Single().GetContainer()).ModData).Data;
jobContainer.Execute(false);
WaitAndAssertSuccess(jobContainer, fileWriter);
}
AssertVSUMElectricMotorFields(fileWriter.SumFileName, runs.First().GetContainer().RunData);
}
[TestCase(Group5_HEV_S2_OVC, 12)]
[TestCase(Group5_HEV_S3_OVC, 12)]
......@@ -620,6 +639,7 @@ public class LorrySimulation
AssertSHEV_PEV_Conditioning(modDataRow, runs.Single());
}
Assert.IsTrue(modData.Rows.Count > 0);
AssertVSUMElectricMotorFields(fileWriter.SumFileName, runs.First().GetContainer().RunData);
}
[TestCase(Group5_HEV_S2_OVC, 12)]
......@@ -758,13 +778,8 @@ public class LorrySimulation
}
}
//foreach (var vectoRun in runs.Where(r => r != run))
//{
// var rd = vectoRun.GetContainer().RunData;
// rd.Report.AddResult(rd, modData);
//}
Assert.IsTrue(modData.Rows.Count > 0);
AssertVSUMElectricMotorFields(fileWriter.SumFileName, runs.First().GetContainer().RunData);
Assert.IsTrue(modData.Rows.Count > 0);
}
[TestCase(@"HeavyLorry\S-HEV\Group2_HEV_S2_pto_transmission.xml", @"HeavyLorry\S-HEV\Group2_HEV_S2.xml")]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment