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

Skip to content
Snippets Groups Projects
Commit 724d3ca3 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

implementet declarationdata, not finally finished yet

parent 213a2ccd
No related branches found
No related tags found
No related merge requests found
Showing
with 192 additions and 57 deletions
using System;
using System.IO;
namespace TUGraz.VectoCore.Exceptions
{
......@@ -29,6 +30,10 @@ namespace TUGraz.VectoCore.Exceptions
{
public UnsupportedFileVersionException(string message) : base(message) {}
public UnsupportedFileVersionException(string message, Exception inner) : base(message, inner) {}
public UnsupportedFileVersionException(string filename, int version, Exception inner = null)
: base(string.Format("Unsupported Version of {0} file. Got Version {1}",
Path.GetExtension(filename), version), inner) {}
}
/// <summary>
......
......@@ -21,7 +21,7 @@ namespace TUGraz.VectoCore.FileIO
protected VersionInfo GetFileVersion(string jsonStr)
{
var data = new { Header = new { FileVersion = -1 }, Body = new { SavedInDeclMode = false } };
JsonConvert.PopulateObject(jsonStr, data);
data = JsonConvert.DeserializeAnonymousType(jsonStr, data);
return new VersionInfo { SavedInDeclarationMode = data.Body.SavedInDeclMode, Version = data.Header.FileVersion };
}
......
using TUGraz.VectoCore.Models.Declaration;
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.Linq;
using System.Reflection;
using TUGraz.VectoCore.Models.Declaration;
using TUGraz.VectoCore.Models.SimulationComponent.Data;
using TUGraz.VectoCore.Utils;
......@@ -8,6 +14,8 @@ namespace TUGraz.VectoCore.Models
{
private static DeclarationData _instance;
public Segments Segments;
public Wheels Wheels { get; private set; }
public Rims Rims { get; private set; }
......@@ -16,6 +24,7 @@ namespace TUGraz.VectoCore.Models
{
Wheels = new Wheels();
Rims = new Rims();
Segments = new Segments();
}
public static DeclarationData Instance()
......@@ -23,13 +32,110 @@ namespace TUGraz.VectoCore.Models
return _instance ?? (_instance = new DeclarationData());
}
public static Segment GetSegment(VehicleCategory vehicleCategory, AxleConfiguration axleConfiguration,
Kilogram grossVehicleMassRating)
public Segment GetSegment(VehicleCategory vehicleCategory, AxleConfiguration axleConfiguration,
Kilogram grossVehicleMassRating, Kilogram curbWeight)
{
return Segments.Lookup(vehicleCategory, axleConfiguration, grossVehicleMassRating, curbWeight);
}
}
public enum MissionType
{
LongHaul,
RegionalDelivery,
UrbanDelivery,
MunicipalDelivery,
Construction,
HeavyUrban,
Urban,
Suburban,
Interurban,
Coach
}
public class Segments
{
private const string ResourceId = "TUGraz.VectoCore.Resources.Declaration.SegmentTable.csv";
private readonly DataTable _segmentTable;
internal Segments()
{
var myAssembly = Assembly.GetExecutingAssembly();
var file = myAssembly.GetManifestResourceStream(ResourceId);
_segmentTable = VectoCSVFile.ReadStream(file);
// normalize column names, remove whitespaces and lowercase
foreach (DataColumn col in _segmentTable.Columns) {
_segmentTable.Columns[col.ColumnName].ColumnName = col.ColumnName.ToLower().Replace(" ", "");
}
}
public Segment Lookup(VehicleCategory vehicleCategory, AxleConfiguration axleConfiguration,
Kilogram grossVehicleMassRating, Kilogram curbWeight)
{
throw new System.NotImplementedException();
var row = _segmentTable.Rows.Cast<DataRow>().First(r => r.Field<string>("tvehcat") == vehicleCategory.ToString()
&& r.Field<string>("taxleconf") == axleConfiguration.ToString()
&& r.Field<double>("ggw_min").SI<Ton>() <= grossVehicleMassRating.Double()
&& r.Field<double>("ggw_max").SI<Ton>() > grossVehicleMassRating.Double());
var segment = new Segment();
segment.HDVClass = row.Field<string>("hdv_class");
segment.VACC = row.Field<string>("vacc");
var missions = new List<Mission>();
foreach (var missionType in Enum.GetValues(typeof(MissionType)).Cast<MissionType>()) {
if (row.Field<bool>(missionType.ToString())) {
var mission = new Mission();
mission.MissionType = missionType;
List<double> axles;
string[] trailerAxles;
if (missionType == MissionType.LongHaul) {
mission.VCDV = row.Field<string>("vcdv-" + missionType.ToString().ToLower());
axles = row.Field<string>("rigid/truckaxles-longhaul").Split('/').Select(double.Parse).ToList();
trailerAxles = row.Field<string>("traileraxles-" + missionType.ToString().ToLower()).Split('/');
} else {
mission.VCDV = row.Field<string>("vcdv-other");
axles = row.Field<string>("rigid/truckaxles-other").Split('/').Select(double.Parse).ToList();
trailerAxles = row.Field<string>("traileraxles-" + missionType.ToString().ToLower()).Split('/');
}
var weightPercent = double.Parse(trailerAxles[0]);
var count = int.Parse(trailerAxles[1]);
if (count > 0) {
axles.AddRange(Enumerable.Repeat(weightPercent / count, count));
}
mission.AxleWeightDistribution = axles.ToArray();
mission.MassExtra = row.Field<double>("massextra-" + missionType.ToString().ToLower()).SI<Kilogram>();
mission.MinLoad = 0.SI<Kilogram>();
if (row.Field<string>("refload-" + missionType.ToString().ToLower()) == "f") {
if (mission.MissionType == MissionType.LongHaul) {
mission.RefLoad = 588.2 * grossVehicleMassRating - 2511.8;
} else {
mission.RefLoad = 394.1 * grossVehicleMassRating - 1705.9;
}
} else {
mission.RefLoad = row.Field<double>("refload-" + missionType.ToString().ToLower()).SI<Kilogram>();
}
mission.MaxLoad = grossVehicleMassRating - mission.MassExtra - curbWeight;
//todo: rename cycle files to equal the enumeration
mission.CycleFile = missionType + ".vdri";
missions.Add(mission);
}
}
segment.Missions = missions.ToArray();
return segment;
}
}
public class Segment
{
public string HDVClass { get; internal set; }
......@@ -39,12 +145,13 @@ namespace TUGraz.VectoCore.Models
public class Mission
{
public MissionType MissionType { get; set; }
public string VCDV { get; set; }
public string Name { get; set; }
public double[] AxleWeightDistribution { get; set; }
public double MassExtra { get; set; }
public Kilogram MassExtra { get; set; }
public Kilogram RefLoad { get; set; }
public Kilogram MinLoad { get; set; }
public Kilogram MaxLoad { get; set; }
public string CycleFile { get; set; }
public Kilogram[] Loadings { get; set; }
}
}
\ No newline at end of file
......@@ -218,7 +218,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
return;
}
var vehicleData = EngineeringModeSimulationComponentFactory.Instance().CreateVehicleData(vehicleFile);
var vehicleData = EngineeringModeFactory.Instance().CreateVehicleData(vehicleFile);
//VehicleData.ReadFromFile(vehicleFile);
_vehicle = new Vehicle(_container, vehicleData);
}
......
......@@ -33,8 +33,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories
case 5:
return CreateVehicleData(Path.GetDirectoryName(filename), Deserialize<VehicleFileV5Declaration>(json));
default:
throw new UnsupportedFileVersionException(string.Format("Unsupported Version of {0} file. Got Version {1}",
Path.GetExtension(filename), fileInfo.Version));
throw new UnsupportedFileVersionException(filename, fileInfo.Version);
}
}
......@@ -62,8 +61,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories
case 5:
return CreateVectoJobData(Path.GetDirectoryName(filename), Deserialize<VectoJobFileV2Declaration>(json));
default:
throw new UnsupportedFileVersionException(string.Format("Unsupported Version of {0} file. Got Version {1}",
Path.GetExtension(filename), fileInfo.Version));
throw new UnsupportedFileVersionException(filename, fileInfo.Version);
}
}
......
......@@ -8,33 +8,38 @@ using TUGraz.VectoCore.Utils;
namespace TUGraz.VectoCore.Models.SimulationComponent.Factories
{
public class EngineeringModeSimulationComponentFactory : InputFileReader
public class EngineeringModeFactory : InputFileReader
{
protected static EngineeringModeSimulationComponentFactory _instance;
protected static EngineeringModeFactory _instance;
public static EngineeringModeSimulationComponentFactory Instance()
public static EngineeringModeFactory Instance()
{
return _instance ?? (_instance = new EngineeringModeSimulationComponentFactory());
return _instance ?? (_instance = new EngineeringModeFactory());
}
private void CheckEngineeringMode(string fileName, VersionInfo fileInfo)
{
if (fileInfo.SavedInDeclarationMode) {
Log.WarnFormat("File {0} was saved in Declaration Mode but is used for Engineering Mode!", fileName);
}
}
public VehicleData CreateVehicleData(string fileName)
{
var json = File.ReadAllText(fileName);
var fileInfo = GetFileVersion(json);
CheckEngineeringMode(fileName, fileInfo);
if (fileInfo.Item2) {
Log.WarnFormat("File {0} was saved in Declaration Mode but is used for Engineering Mode!", fileName);
}
switch (fileInfo.Item1) {
switch (fileInfo.Version) {
case 5:
var data = JsonConvert.DeserializeObject<VehicleFileV5Engineering>(json);
return CreateVehicleData(Path.GetDirectoryName(fileName), data.Body);
default:
throw new UnsupportedFileVersionException("Unsupported Version of .vveh file. Got Version " + fileInfo.Item1);
throw new UnsupportedFileVersionException(fileName, fileInfo.Version);
}
}
protected VehicleData CreateVehicleData(string basePath, VehicleFileV5Engineering.DataBodyEng data)
{
return new VehicleData {
......
Valid,tVehCat,tAxleConf,GVW_Min,GVW_Max,HDV_Class,VACC,VCDV - Long Haul,VCDV - Other,Rigid/Truck Axles - Long haul,Rigid/Truck Axles - Other,Trailer Axles - Long haul,Trailer Axles - Other,LongHaul,RegionalDelivery,UrbanDelivery,MunicipalUtility,Construction,HeavyUrban,Urban,Suburban,Interurban,Coach,MassExtra - LongHaul,MassExtra - RegionalDelivery,MassExtra - UrbanDelivery,MassExtra - MunicipalUtility,MassExtra - Construction,MassExtra - HeavyUrban,MassExtra - Urban,MassExtra - Suburban,MassExtra - Interurban,MassExtra - Coach,RefLoad - LongHaul,RefLoad - RegionalDelivery,RefLoad - UrbanDelivery,RefLoad - MunicipalUtility,RefLoad - Construction,RefLoad - HeavyUrban,RefLoad - Urban,RefLoad - Suburban,RefLoad - Interurban,RefLoad - Coach,WHTCWF - LongHaul,WHTCWF - RegionalDelivery,WHTCWF - UrbanDelivery,WHTCWF - MunicipalUtility,WHTCWF - Construction,WHTCWF - HeavyUrban,WHTCWF - Urban,WHTCWF - Suburban,WHTCWF - Interurban,WHTCWF - Coach
0,RigidTruck,4x2,0,7.5,0,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,???,???,-,-,-,-,-,-,-,-,???,???,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,7.5,10,1,Truck.vacc,-,RigidSolo.vcdv,-,45/55,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,1600,1600,-,-,-,-,-,-,-,-,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,10,12,2,Truck.vacc,RigidSolo.vcdv,RigidSolo.vcdv,40/60,45/55,0/0,0/0,1,1,1,0,0,0,0,0,0,0,1900,1900,1900,-,-,-,-,-,-,-,f,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,12,16,3,Truck.vacc,-,RigidSolo.vcdv,-,40/60,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,2000,2000,-,-,-,-,-,-,-,-,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,16,99,4,Truck.vacc,RigidTrailer.vcdv,RigidSolo.vcdv,20/30,45/55,50/2,0/0,1,1,0,1,0,0,0,0,0,0,7500,2100,-,2100,-,-,-,-,-,-,14000,4400,-,4400,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,Tractor,4x2,16,99,5,Truck.vacc,TractorSemitrailer.vcdv,TractorSemitrailer.vcdv,20/25,25/25,55/3,50/3,1,1,0,0,0,0,0,0,0,0,7500,7500,-,-,-,-,-,-,-,-,19300,12900,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,4x4,7.5,16,6,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,1,1,0,0,0,0,0,-,-,-,???,???,-,-,-,-,-,-,-,-,???,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,4x4,16,99,7,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B5,-,-,-,-,-,-,-,-,-,4300,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Tractor,4x4,16,99,8,Truck.vacc,-,TractorSemitrailer.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,6x2,0,99,9,Truck.vacc,RigidTrailer.vcdv,RigidSolo.vcdv,20/30/15,35/40/25,35/2,0/0,1,1,0,1,0,0,0,0,0,0,7600,2200,-,2200,-,-,-,-,-,-,17900,7100,-,7100,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,Tractor,6x2,0,99,10,Truck.vacc,TractorSemitrailer.vcdv,TractorSemitrailer.vcdv,15/10/20,20/10/20,55/2,50/2,1,1,0,0,0,0,0,0,0,0,7500,7500,-,-,-,-,-,-,-,-,19000,12700,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,6x4,0,99,11,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B7,-,-,-,-,-,-,-,-,-,7600,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Tractor,6x4,0,99,12,Truck.vacc,-,TractorSemitrailer.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,ST2,-,-,-,-,-,-,-,-,-,12100,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,6x6,0,99,13,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,0,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Tractor,6x6,0,99,14,Truck.vacc,-,TractorSemitrailer.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,0,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x2,0,99,15,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,1,0,0,0,0,0,0,0,0,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x4,0,99,16,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B9,-,-,-,-,-,-,-,-,-,11600,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x6,0,99,17,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x8,0,99,17,Truck.vacc,-,-,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,CityBus,4x2,0,18,B1,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,1,1,1,0,0,-,-,-,-,-,???,???,???,-,-,-,-,-,-,-,???,???,???,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,InterurbanBus,4x2,0,18,B2,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,0,0,0,1,0,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Coach,4x2,0,18,B3,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,0,0,0,0,1,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,CityBus,6x2,18,99,B4,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,1,1,1,0,0,-,-,-,-,-,???,???,???,-,-,-,-,-,-,-,???,???,???,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,InterurbanBus,6x2,18,99,B5,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,0,0,0,1,0,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Coach,6x2,18,99,B6,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,0,0,0,0,1,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
......@@ -142,7 +142,7 @@
<Compile Include="Models\SimulationComponent\Data\RetarderLossMap.cs" />
<Compile Include="Models\SimulationComponent\Data\VehicleData.cs" />
<Compile Include="Models\SimulationComponent\Factories\DeclarationModeFactory.cs" />
<Compile Include="Models\SimulationComponent\Factories\EngineeringModeSimulationComponentFactory.cs" />
<Compile Include="Models\SimulationComponent\Factories\EngineeringModeFactory.cs" />
<Compile Include="Models\SimulationComponent\IClutch.cs" />
<Compile Include="Models\SimulationComponent\IEngineOnlyDrivingCycle.cs" />
<Compile Include="Models\SimulationComponent\IDriverDemandDrivingCycle.cs" />
......@@ -207,6 +207,7 @@
<None Include="packages.config" />
<EmbeddedResource Include="Resources\Declaration\Rims.csv" />
<EmbeddedResource Include="Resources\Declaration\Wheels.csv" />
<EmbeddedResource Include="Resources\Declaration\SegmentTable.csv" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
......
......@@ -43,6 +43,7 @@ namespace TUGraz.VectoCore.Tests.Models
//var job = factory.ReadJobFile("12t Delivery Truck.vecto");
//var vehicleData = factory.ReadVehicleData(job.VehicleFile);
//mock vehicleData
var vehicleData = new {
VehicleCategory = VehicleCategory.RigidTruck,
AxleConfiguration = AxleConfiguration.AxleConfig4x2,
......@@ -50,8 +51,8 @@ namespace TUGraz.VectoCore.Tests.Models
CurbWeight = 5850.SI<Kilogram>()
};
var segment = DeclarationData.GetSegment(vehicleData.VehicleCategory, vehicleData.AxleConfiguration,
vehicleData.GrossVehicleMassRating);
var segment = DeclarationData.Instance().GetSegment(vehicleData.VehicleCategory, vehicleData.AxleConfiguration,
vehicleData.GrossVehicleMassRating, vehicleData.CurbWeight);
Assert.AreEqual(2, segment.HDVClass);
......@@ -59,49 +60,41 @@ namespace TUGraz.VectoCore.Tests.Models
Assert.AreEqual(3, segment.Missions.Length);
var longHaulMission = segment.Missions[0];
Assert.AreEqual("LongHaul", longHaulMission.Name);
Assert.AreEqual(MissionType.LongHaul, longHaulMission.MissionType);
Assert.AreEqual("RigidSolo.vcdv", longHaulMission.VCDV);
Assert.AreEqual(new[] { 40, 60 }, longHaulMission.AxleWeightDistribution);
Assert.AreEqual(1900, longHaulMission.MassExtra);
Assert.AreEqual(588.2 * vehicleData.GrossVehicleMassRating - 2511.8, longHaulMission.RefLoad);
Assert.AreEqual(1900.SI<Kilogram>(), longHaulMission.MassExtra);
Assert.AreEqual("Long_Haul.vdri", longHaulMission.CycleFile);
Assert.AreEqual(
new[] {
0.SI<Kilogram>(), longHaulMission.RefLoad,
vehicleData.GrossVehicleMassRating - longHaulMission.MassExtra - vehicleData.CurbWeight
},
longHaulMission.Loadings);
Assert.AreEqual(0.SI<Kilogram>(), longHaulMission.MinLoad);
Assert.AreEqual(588.2 * vehicleData.GrossVehicleMassRating - 2511.8, longHaulMission.RefLoad);
Assert.AreEqual(vehicleData.GrossVehicleMassRating - longHaulMission.MassExtra - vehicleData.CurbWeight,
longHaulMission.MaxLoad);
var regionalDeliveryMission = segment.Missions[1];
Assert.AreEqual("RegionalDelivery", regionalDeliveryMission.Name);
Assert.AreEqual("RegionalDelivery", regionalDeliveryMission.MissionType);
Assert.AreEqual("RigidSolo.vcdv", regionalDeliveryMission.VCDV);
Assert.AreEqual(new[] { 45, 55 }, regionalDeliveryMission.AxleWeightDistribution);
Assert.AreEqual(1900, regionalDeliveryMission.MassExtra);
Assert.AreEqual(394.1 * vehicleData.GrossVehicleMassRating - 1705.9, regionalDeliveryMission.RefLoad);
Assert.AreEqual(1900.SI<Kilogram>(), regionalDeliveryMission.MassExtra);
Assert.AreEqual("Regional_Delivery.vdri", regionalDeliveryMission.CycleFile);
Assert.AreEqual(
new[] {
0.SI<Kilogram>(), regionalDeliveryMission.RefLoad,
vehicleData.GrossVehicleMassRating - regionalDeliveryMission.MassExtra - vehicleData.CurbWeight
},
regionalDeliveryMission.Loadings);
Assert.AreEqual(0.SI<Kilogram>(), regionalDeliveryMission.MinLoad);
Assert.AreEqual(394.1 * vehicleData.GrossVehicleMassRating - 1705.9, regionalDeliveryMission.RefLoad);
Assert.AreEqual(vehicleData.GrossVehicleMassRating - regionalDeliveryMission.MassExtra - vehicleData.CurbWeight,
regionalDeliveryMission.MaxLoad);
var urbanDeliveryMission = segment.Missions[1];
Assert.AreEqual("UrbanDelivery", urbanDeliveryMission.Name);
Assert.AreEqual("UrbanDelivery", urbanDeliveryMission.MissionType);
Assert.AreEqual("RigidSolo.vcdv", urbanDeliveryMission.VCDV);
Assert.AreEqual(new[] { 45, 55 }, urbanDeliveryMission.AxleWeightDistribution);
Assert.AreEqual(1900, urbanDeliveryMission.MassExtra);
Assert.AreEqual(394.1 * vehicleData.GrossVehicleMassRating - 1705.9, urbanDeliveryMission.RefLoad);
Assert.AreEqual(1900.SI<Kilogram>(), urbanDeliveryMission.MassExtra);
Assert.AreEqual("Urban_Delivery.vdri", urbanDeliveryMission.CycleFile);
Assert.AreEqual(
new[] {
0.SI<Kilogram>(), urbanDeliveryMission.RefLoad,
vehicleData.GrossVehicleMassRating - urbanDeliveryMission.MassExtra - vehicleData.CurbWeight
},
urbanDeliveryMission.Loadings);
Assert.AreEqual(0.SI<Kilogram>(), urbanDeliveryMission.MinLoad);
Assert.AreEqual(394.1 * vehicleData.GrossVehicleMassRating - 1705.9, urbanDeliveryMission.RefLoad);
Assert.AreEqual(vehicleData.GrossVehicleMassRating - urbanDeliveryMission.MassExtra - vehicleData.CurbWeight,
urbanDeliveryMission.MaxLoad);
//var runs = new List<IVectoSimulator>();
......
......@@ -19,7 +19,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
{
var container = new VehicleContainer();
var vehicleData = EngineeringModeSimulationComponentFactory.Instance().CreateVehicleData(VehicleDataFile);
var vehicleData = EngineeringModeFactory.Instance().CreateVehicleData(VehicleDataFile);
//VehicleData.ReadFromFile(VehicleDataFile);
//vehicleData.CrossWindCorrection = VehicleData.CrossWindCorrectionMode.NoCorrection;
var vehicle = new Vehicle(container, vehicleData, 17.210535);
......
......@@ -19,7 +19,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
public void WheelsRequestTest()
{
var container = new VehicleContainer();
var vehicleData = EngineeringModeSimulationComponentFactory.Instance().CreateVehicleData(VehicleDataFile);
var vehicleData = EngineeringModeFactory.Instance().CreateVehicleData(VehicleDataFile);
IWheels wheels = new Wheels(container, vehicleData.DynamicTyreRadius);
var mockPort = new MockTnOutPort();
......
......@@ -12,7 +12,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
[TestMethod]
public void ReadVehicleFileTest()
{
var vehicleData = EngineeringModeSimulationComponentFactory.Instance().CreateVehicleData(VehicleDataFile);
var vehicleData = EngineeringModeFactory.Instance().CreateVehicleData(VehicleDataFile);
//VehicleData.ReadFromFile(VehicleDataFile);
Assert.AreEqual(VehicleCategory.Coach, vehicleData.VehicleCategory);
......
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