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 42c3cd1e authored by Michael KRISPER's avatar Michael KRISPER
Browse files

faster job tests, all tests runable and successful

parent 6bc8f124
No related branches found
No related tags found
No related merge requests found
using System.Data;
using System.IO;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using TUGraz.VectoCore.Exceptions;
using TUGraz.VectoCore.Models.Simulation;
using TUGraz.VectoCore.Models.Simulation.Data;
using TUGraz.VectoCore.Models.Simulation.Impl;
using TUGraz.VectoCore.Utils;
......@@ -11,7 +13,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
public class SimulationTests
{
private const string EngineFile = @"TestData\Components\24t Coach.veng";
private const string CycleFile = @"TestData\Cycles\Coach Engine Only.vdri";
private const string CycleFile = @"TestData\Cycles\Coach Engine Only short.vdri";
[TestMethod]
public void TestSimulationEngineOnly()
......@@ -32,11 +34,11 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
}
}
[TestMethod, Ignore]
[TestMethod]
public void TestEngineOnly_JobRun()
{
var resultFileName = "TestEngineOnly_JobRun-result.vmod";
var expectedResultsName = @"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly.vmod";
var expectedResultsName = @"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod";
var job = SimulatorFactory.CreateTimeBasedEngineOnlyJob(EngineFile, CycleFile, resultFileName);
job.Run();
......@@ -45,51 +47,54 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
var expectedResults = ModalResults.ReadFromFile(expectedResultsName);
Assert.AreEqual(expectedResults.Rows.Count, results.Rows.Count, "Moddata: Row count differs.");
for (var i = 0; i < expectedResults.Rows.Count; i++) {
var row = results.Rows[i];
var expectedRow = expectedResults.Rows[i];
foreach (DataColumn col in expectedResults.Columns) {
Assert.AreEqual(expectedRow[col], row[col], "Moddata: Value differs (Row {0}, Col {1}): {2} != {3}");
}
}
}
[TestMethod, Ignore]
[TestMethod]
public void TestEngineOnly_SimulatorRun()
{
var resultFileName = "TestEngineOnly_SimulatorRun-result.vmod";
var expectedResultsName = @"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod";
var sim = new JobContainer();
var job = SimulatorFactory.CreateTimeBasedEngineOnlyJob(EngineFile, CycleFile,
"TestEngineOnly-SimulatorRun-result.vmod");
var job = SimulatorFactory.CreateTimeBasedEngineOnlyJob(EngineFile, CycleFile, resultFileName);
sim.AddJob(job);
sim.RunSimulation();
// todo: Add additional assertions.
Assert.Fail("Todo: Add additional assertions.");
var results = ModalResults.ReadFromFile(resultFileName);
var expectedResults = ModalResults.ReadFromFile(expectedResultsName);
Assert.AreEqual(expectedResults.Rows.Count, results.Rows.Count, "Moddata: Row count differs.");
}
[TestMethod, Ignore]
public void TestEngineOnly_MultipleJobs()
public IVectoSimulator CreateJob(string resultFileName)
{
var simulation = new JobContainer();
if (File.Exists(resultFileName)) {
File.Delete(resultFileName);
}
return SimulatorFactory.CreateTimeBasedEngineOnlyJob(EngineFile, CycleFile, resultFileName);
}
var sim1 = SimulatorFactory.CreateTimeBasedEngineOnlyJob(EngineFile, CycleFile,
"TestEngineOnly-MultipleJobs-result1.vmod");
simulation.AddJob(sim1);
var sim2 = SimulatorFactory.CreateTimeBasedEngineOnlyJob(EngineFile, CycleFile,
"TestEngineOnly-MultipleJobs-result2.vmod");
simulation.AddJob(sim2);
[TestMethod]
public void TestEngineOnly_MultipleJobs()
{
var resultFileName = "TestEngineOnly-MultipleJobs-result{0}.vmod";
var resultFiles = new[] { 1, 2, 3 }.Select(x => string.Format(resultFileName, x)).ToList();
var sim3 = SimulatorFactory.CreateTimeBasedEngineOnlyJob(EngineFile, CycleFile,
"TestEngineOnly-MultipleJobs-result3.vmod");
simulation.AddJob(sim3);
var expectedResultsName = @"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod";
var expectedResults = ModalResults.ReadFromFile(expectedResultsName);
var simulation = new JobContainer();
foreach (var resultFile in resultFiles) {
simulation.AddJob(CreateJob(resultFile));
}
simulation.RunSimulation();
// todo: Add additional assertions.
Assert.Fail("Todo: Add additional assertions.");
foreach (var resultFile in resultFiles) {
var results = ModalResults.ReadFromFile(resultFile);
Assert.AreEqual(expectedResults.Rows.Count, results.Rows.Count, "Moddata: Row count differs.");
}
}
}
}
\ No newline at end of file
<n>,<Pe>
600,0
600,0
600,0
600,0
600,0
600,0
600,0
600,0
600,0
600,-2.38E-07
600,-2.38E-07
600,0
600,0
600,0
600,0
600,0
600,0
600,-2.38E-07
600,2.38E-07
600,0
644.4445,2.329973
644.4445,0.5693641
644.4445,4.264177
869.7512,7.98456
644.4445,1.351656
1015.31,-0.2716608
948.6478,-0.4653716
872.4501,-0.5719776
644.4445,1.012361
816.044,0.1606398
644.4445,3.967641
644.4445,4.3916
645.3466,1.254886
602.9238,0.36098
644.4445,1.097353
644.4445,1.476951
645.6951,2.961375
656.8193,3.33839
688.8293,2.509675
715.7259,3.104633
743.2361,2.779576
759.3434,2.025352
763.0762,1.467997
761.0308,1.383811
757.7582,1.320618
755.406,1.475238
756.3265,1.681716
753.872,1.098228
749.1166,1.411724
747.787,1.465289
743.7986,1.110595
691.6417,-3.012229
627.2637,-0.1685431
1049.495,-0.09707546
644.4445,1.615664
1026.825,0.4667768
977.9754,-0.4151859
906.5457,-0.4785028
764.8557,-2.495939
615.8789,-0.5095253
600,-0.2679868
644.4445,0.5701756
644.4445,1.185031
600,0.2967396
646.6069,3.811063
895.4804,7.923037
653.8535,6.359474
791.9158,11.55912
900.8318,4.931076
1007.856,14.46236
1156.708,13.49057
1345.086,27.20026
1602.138,35.01208
1888.49,46.58702
2103.714,24.29906
2146.359,-1.109985
1286.033,8.800848
1351.937,37.56419
1494.108,56.84015
1650.18,55.71647
1797.949,62.99876
1974.041,90.22348
2191.804,115.1789
2403.877,105.9852
2503.301,18.33513
1611.144,-1.709167
1619.774,43.61679
1655.685,42.16265
1690.462,44.19933
1723.907,42.2117
1766.618,62.7349
1823.327,70.33007
1898.131,102.0343
1980.033,91.64824
2027.516,42.57878
2040.799,27.31307
1396.846,69.06043
1435.803,91.8233
1479.637,89.72998
1511.026,58.87632
1535.129,70.88527
1563.544,76.08076
1591.288,72.46291
1615.981,69.52535
1637.034,63.16708
1654.957,61.31534
1674.975,72.86595
1695.262,64.75288
1709.799,54.75394
1712.769,24.54955
1702.061,5.766651
1685.925,4.414207
1669.991,5.575367
1656.502,12.07608
1644.88,11.30247
1634.482,15.56817
1624.607,12.47053
1610.151,-0.5362444
1594.136,6.376687
1580.163,5.485111
1564.78,1.025784
1550.539,8.4501
1539.777,11.6633
1532.066,17.71403
1521.599,2.418658
1504.309,-4.049212
1481.361,-14.07779
1453.792,-17.15281
1423.724,-18.15207
1385.246,-16.81612
1337.242,-15.72801
1293.188,-15.42869
1281.755,38.3059
1286.484,11.6914
1283.596,17.9171
1285.597,24.78118
1291.778,29.405
1303.359,40.06316
1321.147,47.6144
1343.046,53.40984
1367.31,56.75732
1398.372,76.35516
1441.017,95.91759
1491.115,106.3325
1533.099,77.92695
1561.824,69.6596
1584.033,60.08042
1597.119,41.62484
1603.93,40.29163
1607.558,31.45644
1604.965,19.52167
1600.142,23.70411
1596.299,22.48869
1589.192,12.48158
1578.793,11.02395
1566.889,6.910674
1551.426,-1.123854
1528.707,-15.20682
1502.589,-11.37927
1476.041,-16.47795
1439.148,-17.79036
1386.845,-16.22873
1331.801,-15.54598
1276.609,-14.19835
1222.116,-13.53877
1183.826,-13.63705
1165.594,4.323093
1154.524,-0.2198782
1145.307,8.251244
1136.212,-0.1459947
1127.318,8.395197
1127.425,20.90548
1132.316,19.78157
1134.976,15.85121
1140.847,27.66578
1153.503,32.64259
1173.508,46.8272
1195.77,39.98267
1214.31,39.54551
1235.31,48.15401
1262.019,56.77373
1290.77,56.59818
1317.063,53.30949
1343.879,61.21212
1364.448,38.20493
1372.416,26.90753
1376.097,26.42333
1374.269,11.18833
1368.546,15.03598
1362.863,11.02519
1356.038,11.46854
1346.136,1.988382
1325.11,-16.2194
1284.63,-14.65078
1238.373,-14.2102
1193.929,-12.98282
1155.988,-13.10039
1137.273,2.958799
1132.786,15.8914
1141.075,33.33242
1156.7,34.19608
1179.433,52.38899
1213.827,66.11726
1258.176,83.05579
1305.898,81.63163
1353.754,91.2124
1396.935,75.19558
1438.893,94.76639
1487.004,100.8023
1529.298,83.95088
1563.974,82.77102
1596.393,81.57443
1624.446,72.54066
1640.138,42.54347
1643,29.84203
1638.257,16.47232
1629.605,16.00256
1630.478,48.60144
1642.785,55.60721
1656.623,55.29026
1669.48,53.73763
1680.188,49.11893
1689.163,48.75134
1695.907,42.08216
1700.851,42.99605
1706.79,46.16529
1713.763,47.34768
1720.427,45.77478
1727.319,48.89489
1725.733,15.54477
1714.932,15.2667
1703.74,13.40421
1690.842,8.433504
1676.749,8.346373
1663.421,10.28855
1648.951,3.619027
1633.192,5.002003
1617.433,2.826547
1602.775,7.905733
1589.501,6.74611
1576.428,7.864722
1567.118,18.46364
1564.686,30.00007
1567.427,35.38074
1572.196,36.95614
1576.469,34.14531
1576.307,22.5677
1570.826,16.47429
1563.423,15.84486
1553.562,7.964062
1536.916,-5.952643
1517.233,-2.275624
1497.389,-6.935693
1471.863,-18.41763
1442.372,-18.13165
1414.871,-13.40553
1387.812,-17.13374
1362.057,-10.3961
1346.257,8.515593
1345.787,31.16553
1358.712,46.74545
1379.066,53.84549
1401.382,54.66264
1424.557,58.96523
1447.437,56.39186
1469.605,59.47992
1493.117,63.22589
1515.124,57.4621
1535.841,61.76757
1557.969,64.56117
1578.323,58.54613
1596.594,60.07353
1611.991,50.88236
1621.194,40.61778
1619.421,14.21795
1605.113,-1.868717
1588.762,6.50421
1576.67,11.31663
1569.348,21.61535
1567.91,30.3064
1571.135,36.95245
1576.267,36.91877
1582.797,42.09142
1590.294,40.76203
1597.817,42.91198
1605.462,41.89369
1612.273,40.82465
1619.582,44.26139
1628.167,45.92483
1637.464,47.59579
1648.723,53.73099
1661.419,53.84293
1676.91,65.1045
1695.235,65.79607
1711.21,58.91008
1724.968,59.73791
1739.437,63.20061
1753.772,61.00745
1768,64.61153
1781.368,59.52817
1794.521,65.5128
1809.072,66.50668
1818.449,47.4547
1817.24,26.92148
1805.995,8.979017
1786.662,-4.010155
1765.233,-0.05493259
\ No newline at end of file
......@@ -124,6 +124,9 @@
<None Include="TestData\Components\Retarder.vrlm">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="TestData\Cycles\Coach Engine Only short.vdri">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="TestData\Cycles\Coach First Cycle only.vdri">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
......@@ -151,6 +154,9 @@
<None Include="TestData\Cycles\Coach Engine Only.vdri">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="TestData\Results\EngineOnlyCycles\24tCoach_EngineOnlyPaux.vmod">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
......
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