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

adding testcase for format of vmod and vsum files

parent 0c2cb091
Branches
Tags
No related merge requests found
......@@ -94,6 +94,17 @@ namespace TUGraz.VectoCore.Tests.Reports
RunSimulation(jobName, ExecutionMode.Declaration);
}
[TestCase(@"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto")]
public void TestVSUM_VMOD_FormatDecl(string jobName)
{
RunSimulation(jobName, ExecutionMode.Declaration);
var tmpWriter = new FileOutputWriter(jobName);
AssertModDataFormat(tmpWriter.GetModDataFileName(Path.GetFileNameWithoutExtension(jobName), "LongHaul", "ReferenceLoad"));
AssertSumDataFormat(tmpWriter.SumFileName);
}
[TestCase(@"TestData\Integration\EngineeringMode\Class2_RigidTruck_4x2\Class2_RigidTruck_ENG.vecto"),
TestCase(@"TestData\Integration\EngineeringMode\Class5_Tractor_4x2\Class5_Tractor_ENG.vecto"),
TestCase(@"TestData\Integration\EngineeringMode\Class9_RigidTruck_6x2_PTO\Class9_RigidTruck_ENG_PTO.vecto"),]
......@@ -102,6 +113,53 @@ namespace TUGraz.VectoCore.Tests.Reports
RunSimulation(jobName, ExecutionMode.Engineering);
}
private void AssertModDataFormat(string modFilename)
{
var lineCnt = 0;
var gearColumn = -1;
foreach (var line in File.ReadLines(modFilename)) {
lineCnt++;
if (lineCnt == 2) {
var header = line.Split(',').ToList();
gearColumn = header.FindIndex(x => x.StartsWith("Gear"));
}
if (lineCnt <= 2) {
continue;
}
var parts = line.Split(',');
for (var i = 0; i < 53; i++) {
if (i == gearColumn || i >= parts.Length || string.IsNullOrWhiteSpace(parts[i])) {
continue;
}
var numParts = parts[i].Split('.');
Assert.AreEqual(2, numParts.Length, string.Format("Line {0}: column {1}: value {2}", lineCnt, i, parts[i]));
Assert.IsTrue(numParts[0].Length > 0);
Assert.AreEqual(4, numParts[1].Length);
}
}
}
private void AssertSumDataFormat(string sumFilename)
{
var first = 2;
foreach (var line in File.ReadLines(sumFilename)) {
if (first > 0) {
first--;
continue;
}
var parts = line.Split(',');
for (var i = 56; i < 128; i++) {
if (i >= parts.Length || string.IsNullOrWhiteSpace(parts[i])) {
continue;
}
var numParts = parts[i].Split('.');
Assert.AreEqual(2, numParts.Length);
Assert.IsTrue(numParts[0].Length > 0);
Assert.AreEqual(4, numParts[1].Length);
}
}
}
private static void RunSimulation(string jobName, ExecutionMode mode)
{
var fileWriter = new FileOutputWriter(jobName);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment