Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 86c58eab authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Merge pull request #353 in VECTO/vecto-sim from...

Merge pull request #353 in VECTO/vecto-sim from ~EMQUARIMA/vecto-sim:bugfix/VECTO-419-vecto-error-messages to develop

* commit '3bebcada':
  extend testcases about segment lookup to include body weight and trailer weight
  add missing body declaration
parents 9c35dce2 3bebcada
No related branches found
No related tags found
No related merge requests found
......@@ -13,7 +13,7 @@ Valid,Vehicle Category,Axle Conf.,GVW_Min,GVW_Max,HDV class,Body,Trailer,Semitra
0 ,Tractor ,4x4 ,16 ,99 ,8 , , , ,Truck.vacc, ,TractorSemitrailer , , , , ,- ,- ,- ,- ,??? ,- ,- ,- ,- ,- ,
1 ,RigidTruck ,6x2 ,0 ,99 ,9 ,B5 ,T2 , ,Truck.vacc,RigidTrailer ,RigidSolo ,20/30/15 ,35/40/25 ,35/2 , ,19300 ,7100 ,- ,7100 ,- ,- ,- ,- ,- ,- ,
1 ,Tractor ,6x2 ,0 ,99 ,10 , , ,ST1 ,Truck.vacc,TractorSemitrailer ,TractorSemitrailer ,15/10/20 ,20/10/20 ,55/3 ,50/3 ,19300 ,12900 ,- ,- ,- ,- ,- ,- ,- ,- ,
1 ,RigidTruck ,6x4 ,0 ,99 ,11 , ,T2 , ,Truck.vacc,RigidTrailer ,RigidSolo ,20/22.5/22.5 ,35/35/30 ,35/2 , ,19300 ,7100 ,- ,7100 ,7100 ,- ,- ,- ,- ,- ,8.5
1 ,RigidTruck ,6x4 ,0 ,99 ,11 ,B5 ,T2 , ,Truck.vacc,RigidTrailer ,RigidSolo ,20/22.5/22.5 ,35/35/30 ,35/2 , ,19300 ,7100 ,- ,7100 ,7100 ,- ,- ,- ,- ,- ,8.5
1 ,Tractor ,6x4 ,0 ,99 ,12 , , ,ST1 ,Truck.vacc,TractorSemitrailer ,TractorSemitrailer ,15/15/15 ,20/15/15 ,55/3 ,50/3 ,19300 ,7100 ,- ,7100 ,12900 ,- ,- ,- ,- ,- ,8.8
0 ,RigidTruck ,6x6 ,0 ,99 ,13 , , , ,Truck.vacc, ,RigidSolo , , , , ,- ,- ,- ,- ,??? ,- ,- ,- ,- ,- ,
0 ,Tractor ,6x6 ,0 ,99 ,14 , , , ,Truck.vacc, ,TractorSemitrailer , , , , ,- ,- ,- ,- ,??? ,- ,- ,- ,- ,- ,
......
......@@ -483,6 +483,12 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_6x2, 16000, 0, VehicleClass.Class10),
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_6x2, 40000, 0, VehicleClass.Class10),
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_6x2, 99000, 0, VehicleClass.Class10),
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_6x4, 7500, 0, VehicleClass.Class11),
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_6x4, 40000, 0, VehicleClass.Class11),
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_6x4, 7500, 0, VehicleClass.Class12),
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_6x4, 99000, 0, VehicleClass.Class12),
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_8x4, 7500, 0, VehicleClass.Class16),
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_8x4, 99000, 0, VehicleClass.Class16)
]
public void SegmentLookupTest(VehicleCategory category, AxleConfiguration axleConfiguration, double grossWeight,
double curbWeight, VehicleClass expectedClass)
......@@ -492,6 +498,51 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
Assert.AreEqual(expectedClass, segment.VehicleClass);
}
[Test,
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_4x2, 10000, 0, VehicleClass.Class1, 1600, null,
TestName = "SegmentLookupBodyWeight Class1 Rigid"),
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_4x2, 10000, 0, VehicleClass.Class1, 1600, null,
TestName = "SegmentLookupBodyWeight Class1 Tractor"),
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_4x2, 12000, 0, VehicleClass.Class2, 1900, 3400,
TestName = "SegmentLookupBodyWeight Class2 Rigid"),
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_4x2, 12000, 0, VehicleClass.Class2, 1900, 3400,
TestName = "SegmentLookupBodyWeight Class2 Tractor"),
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_4x2, 16000, 0, VehicleClass.Class3, 2000, null,
TestName = "SegmentLookupBodyWeight Class3 Rigid"),
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_4x2, 16000, 0, VehicleClass.Class3, 2000, null,
TestName = "SegmentLookupBodyWeight Class3 Tractor"),
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_4x2, 18000, 0, VehicleClass.Class4, 2100, 5400,
TestName = "SegmentLookupBodyWeight Class4"),
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_4x2, 18000, 0, VehicleClass.Class5, null, 7500,
TestName = "SegmentLookupBodyWeight Class5"),
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_6x2, 40000, 0, VehicleClass.Class9, 2200, 5400,
TestName = "SegmentLookupBodyWeight Class9"),
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_6x2, 40000, 0, VehicleClass.Class10, null, 7500,
TestName = "SegmentLookupBodyWeight Class10"),
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_6x4, 12000, 0, VehicleClass.Class11, 2200, 5400,
TestName = "SegmentLookupBodyWeight Class11"),
TestCase(VehicleCategory.Tractor, AxleConfiguration.AxleConfig_6x4, 12000, 0, VehicleClass.Class12, null, 7500,
TestName = "SegmentLookupBodyWeight Class12"),
TestCase(VehicleCategory.RigidTruck, AxleConfiguration.AxleConfig_8x4, 12000, 0, VehicleClass.Class16, null, null,
TestName = "SegmentLookupBodyWeight Class16")]
public void SegmentLookupBodyTest(VehicleCategory category, AxleConfiguration axleConfiguration, double grossWeight,
double curbWeight, VehicleClass expectedClass, int? expectedBodyWeight, int? expectedTrailerWeight)
{
var segment = DeclarationData.Segments.Lookup(category, axleConfiguration, grossWeight.SI<Kilogram>(),
curbWeight.SI<Kilogram>());
Assert.AreEqual(expectedClass, segment.VehicleClass);
if (expectedBodyWeight.HasValue) {
Assert.AreEqual(expectedBodyWeight, segment.Missions[0].BodyCurbWeight.Value());
}
if (expectedTrailerWeight.HasValue) {
var trailerMission = segment.Missions.Where(m => m.TrailerType != TrailerType.None).ToList();
if (trailerMission.Count > 0) {
Assert.AreEqual(expectedTrailerWeight, trailerMission.First().TrailerCurbWeight.Value());
}
}
}
/// <summary>
/// trailer in longhaul, always pc formula
/// </summary>
......
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