diff --git a/VectoCore/FileIO/InputFileReader.cs b/VectoCore/FileIO/InputFileReader.cs index 09458fc4e330924013e5afdb3ef8539cb6f131ad..9d4bfdb89618c8c0ff07dc2d3be9b0af0ff8c73a 100644 --- a/VectoCore/FileIO/InputFileReader.cs +++ b/VectoCore/FileIO/InputFileReader.cs @@ -6,7 +6,6 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data; namespace TUGraz.VectoCore.FileIO { - public class InputFileReader { protected ILog Log; @@ -22,7 +21,7 @@ namespace TUGraz.VectoCore.FileIO Log = LogManager.GetLogger(GetType()); } - protected VersionInfo GetFileVersion(string jsonStr) + protected static VersionInfo GetFileVersion(string jsonStr) { var data = new { Header = new { FileVersion = -1 }, Body = new { SavedInDeclMode = false } }; data = JsonConvert.DeserializeAnonymousType(jsonStr, data); diff --git a/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/Models/Declaration/DeclarationData.cs index 88cd03f1ee5ccb0b038d5ffb9a99dcbab228965d..d008508eeb6d2b2f452172dc779d8bf86c393dd4 100644 --- a/VectoCore/Models/Declaration/DeclarationData.cs +++ b/VectoCore/Models/Declaration/DeclarationData.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.Declaration @@ -72,6 +73,56 @@ namespace TUGraz.VectoCore.Models.Declaration public const string WheelsType = "385/65 R 22.5"; } + public static class Gearbox + { + public const double TorqueReserve = 20; + public const double TorqueReserveStart = 20; + public const double StartSpeed = 2; + public const double StartAcceleration = 0.6; + public const double Inertia = 0; + + public const double MinTimeBetweenGearshifts = 2; + + public static Second TractionInterruption(GearboxData.GearboxType type) + { + switch (type) { + case GearboxData.GearboxType.ManualTransmision: + return 2.SI<Second>(); + case GearboxData.GearboxType.AutomatedManualTransmission: + return 1.SI<Second>(); + case GearboxData.GearboxType.AutomaticTransmission: + return 0.8.SI<Second>(); + } + return 0.SI<Second>(); + } + + public static bool EarlyShiftGears(GearboxData.GearboxType type) + { + switch (type) { + case GearboxData.GearboxType.ManualTransmision: + return false; + case GearboxData.GearboxType.AutomatedManualTransmission: + return true; + case GearboxData.GearboxType.AutomaticTransmission: + return false; + } + return false; + } + + public static bool SkipGears(GearboxData.GearboxType type) + { + switch (type) { + case GearboxData.GearboxType.ManualTransmision: + return true; + case GearboxData.GearboxType.AutomatedManualTransmission: + return true; + case GearboxData.GearboxType.AutomaticTransmission: + return false; + } + return false; + } + } + // Public Const SSspeed As Single = 5 //Public Const SStime As Single = 5 //Public Const SSdelay As Single = 5 @@ -81,15 +132,6 @@ namespace TUGraz.VectoCore.Models.Declaration //Public Const Underspeed As Single = 5 //Public Const ECvmin As Single = 50 - //Public Const TqResv As Single = 20 - //Public Const TqResvStart As Single = 20 - //Public Const StartSpeed As Single = 2 - //Public Const StartAcc As Single = 0.6 - //Public Const GbInertia As Single = 0 - - //Public Const RRCTr As Single = 0.00555 - //Public Const FzISOTr As Single = 37500 - //Public Const AirDensity As Single = 1.188 //Public Const FuelDens As Single = 0.832 //Public Const CO2perFC As Single = 3.16 diff --git a/VectoCore/Models/SimulationComponent/Data/GearboxData.cs b/VectoCore/Models/SimulationComponent/Data/GearboxData.cs index ad65e985926c87953ea050c6a788f2e455e795e4..42b00bfcf62cbc1c90b74b25bb6e8fb94d627e8f 100644 --- a/VectoCore/Models/SimulationComponent/Data/GearboxData.cs +++ b/VectoCore/Models/SimulationComponent/Data/GearboxData.cs @@ -22,6 +22,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data Custom } + public string ModelName { get; internal set; } + public GearData AxleGearData { get; internal set; } private readonly Dictionary<uint, GearData> _gearData = new Dictionary<uint, GearData>(); diff --git a/VectoCore/Models/SimulationComponent/Factories/Impl/AbstractSimulationRunCreator.cs b/VectoCore/Models/SimulationComponent/Factories/Impl/AbstractSimulationRunCreator.cs index 3c78e301c9feea90b3aaf21a0d02a1e33a4726cc..b5803a4218978fbdaecddb62cfb6dfea29b8e5c2 100644 --- a/VectoCore/Models/SimulationComponent/Factories/Impl/AbstractSimulationRunCreator.cs +++ b/VectoCore/Models/SimulationComponent/Factories/Impl/AbstractSimulationRunCreator.cs @@ -49,11 +49,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl protected void ProcessJob(VectoJobFileV2Declaration job) { - ReadVehicle(job.Body.VehicleFile); + ReadVehicle(Path.Combine(job.BasePath, job.Body.VehicleFile)); - ReadEngine(job.Body.EngineFile); + ReadEngine(Path.Combine(job.BasePath, job.Body.EngineFile)); - ReadGearbox(job.Body.GearboxFile); + ReadGearbox(Path.Combine(job.BasePath, job.Body.GearboxFile)); } // has to read the file string and create file-container @@ -83,10 +83,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl internal GearboxData CreateGearboxData(VectoGearboxFile gearbox) { - throw new NotImplementedException("CreateGearboxData for base-class not possible!"); + throw new NotImplementedException("CreateGearboxDataFromFile for base-class not possible!"); } - internal VehicleData SetGenericData(VehicleFileV5Declaration.DataBodyDecl data) + internal VehicleData SetCommonVehicleData(VehicleFileV5Declaration.DataBodyDecl data) { return new VehicleData { SavedInDeclarationMode = data.SavedInDeclarationMode, @@ -107,9 +107,19 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl Retarder = new RetarderData() { LossMap = RetarderLossMap.ReadFromFile(data.Retarder.File), Type = - (RetarderData.RetarderType) Enum.Parse(typeof (RetarderData.RetarderType), data.Retarder.TypeStr.ToString(), true) + (RetarderData.RetarderType) Enum.Parse(typeof (RetarderData.RetarderType), data.Retarder.TypeStr.ToString(), true), + Ratio = data.Retarder.Ratio } }; } + + internal GearboxData SetcommonGearboxData(GearboxFileV4Declaration.DataBodyDecl data) + { + return new GearboxData() { + SavedInDeclarationMode = data.SavedInDeclarationMode, + ModelName = data.ModelName, + Type = (GearboxData.GearboxType) Enum.Parse(typeof (GearboxData.GearboxType), data.GearboxType, true), + }; + } } } \ No newline at end of file diff --git a/VectoCore/Models/SimulationComponent/Factories/Impl/DeclarationModeSimulationComponentFactory.cs b/VectoCore/Models/SimulationComponent/Factories/Impl/DeclarationModeSimulationComponentFactory.cs index e9cfa34c187f7a0505da8ea0284f8d9a894f1f6a..67cc7f9f6b732ba33cac5c8fb5f13cab2e04bcba 100644 --- a/VectoCore/Models/SimulationComponent/Factories/Impl/DeclarationModeSimulationComponentFactory.cs +++ b/VectoCore/Models/SimulationComponent/Factories/Impl/DeclarationModeSimulationComponentFactory.cs @@ -141,7 +141,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl internal VehicleData CreateVehicleData(VehicleFileV5Declaration vehicle, Mission mission, Kilogram loading) { var data = vehicle.Body; - var retVal = SetGenericData(data); + var retVal = SetCommonVehicleData(data); retVal.BasePath = vehicle.BasePath; @@ -190,7 +190,28 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl internal GearboxData CreateGearboxData(GearboxFileV4Declaration gearbox) { - var retVal = new GearboxData(); + var retVal = SetcommonGearboxData(gearbox.Body); + + if (retVal.Type == GearboxData.GearboxType.AutomaticTransmission) { + throw new VectoSimulationException("Automatic Transmission currently not supported in DeclarationMode!"); + } + if (retVal.Type == GearboxData.GearboxType.Custom) { + throw new VectoSimulationException("Custom Transmission not supported in DeclarationMode!"); + } + retVal.Inertia = DeclarationData.Constants.Gearbox.Inertia.SI<KilogramSquareMeter>(); + retVal.TractionInterruption = DeclarationData.Constants.Gearbox.TractionInterruption(retVal.Type); + retVal.SkipGears = DeclarationData.Constants.Gearbox.SkipGears(retVal.Type); + retVal.EarlyShiftUp = DeclarationData.Constants.Gearbox.EarlyShiftGears((retVal.Type)); + + retVal.TorqueReserve = DeclarationData.Constants.Gearbox.TorqueReserve; + retVal.StartTorqueReserve = DeclarationData.Constants.Gearbox.TorqueReserveStart; + retVal.ShiftTime = DeclarationData.Constants.Gearbox.MinTimeBetweenGearshifts.SI<Second>(); + retVal.StartSpeed = DeclarationData.Constants.Gearbox.StartSpeed.SI<MeterPerSecond>(); + retVal.StartAcceleration = DeclarationData.Constants.Gearbox.StartAcceleration.SI<MeterPerSquareSecond>(); + + retVal.HasTorqueConverter = false; + + //retVal.g return retVal; } diff --git a/VectoCore/Models/SimulationComponent/Factories/Impl/EngineeringModeSimulationComponentFactory.cs b/VectoCore/Models/SimulationComponent/Factories/Impl/EngineeringModeSimulationComponentFactory.cs index f964b1acda43778c57a06eb4eb8920856dbb7eeb..96c7a43283f92ed0afb6facb94eebb4ea9c16b13 100644 --- a/VectoCore/Models/SimulationComponent/Factories/Impl/EngineeringModeSimulationComponentFactory.cs +++ b/VectoCore/Models/SimulationComponent/Factories/Impl/EngineeringModeSimulationComponentFactory.cs @@ -4,6 +4,7 @@ using System.IO; using System.Linq; using System.Net; using System.Runtime.CompilerServices; +using System.Runtime.InteropServices.WindowsRuntime; using Common.Logging; using Newtonsoft.Json; using TUGraz.VectoCore.Exceptions; @@ -25,10 +26,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl internal EngineeringModeSimulationComponentFactory() {} - protected void CheckForEngineeringMode(VersionInfo info, string msg) + protected static void CheckForEngineeringMode(VersionInfo info, string msg) { if (info.SavedInDeclarationMode) { - Log.WarnFormat("File was saved in Declaration Mode but is used for Engineering Mode!"); + LogManager.GetLogger(typeof (EngineeringModeSimulationComponentFactory)) + .WarnFormat("File was saved in Declaration Mode but is used for Engineering Mode!"); } } @@ -47,16 +49,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl } } - public void ReadEngineFile(string fileName) - { - throw new NotImplementedException(); - } - - public void ReadEngineJson(string jsonData, string basePath) - { - throw new NotImplementedException(); - } - internal VectoJobData CreateVectoJobData(VectoJobFileV2Engineering data, string basePath) { @@ -64,39 +56,26 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl } - internal VehicleData CreateVehicleData(VehicleFileV5Engineering.DataBodyEng data, string basePath) - { - return new VehicleData { - BasePath = basePath, - SavedInDeclarationMode = data.SavedInDeclarationMode, - VehicleCategory = data.VehicleCategory(), - AxleConfiguration = - (AxleConfiguration) Enum.Parse(typeof (AxleConfiguration), "AxleConfig_" + data.AxleConfig.TypeStr), - // TODO: @@@quam better use of enum-prefix - CurbWeight = data.CurbWeight.SI<Kilogram>(), - CurbWeigthExtra = data.CurbWeightExtra.SI<Kilogram>(), - Loading = data.Loading.SI<Kilogram>(), - GrossVehicleMassRating = data.GrossVehicleMassRating.SI().Kilo.Kilo.Gramm.Cast<Kilogram>(), - DragCoefficient = data.DragCoefficient, - CrossSectionArea = data.CrossSectionArea.SI<SquareMeter>(), - DragCoefficientRigidTruck = data.DragCoefficientRigidTruck, - CrossSectionAreaRigidTruck = data.CrossSectionAreaRigidTruck.SI<SquareMeter>(), - DynamicTyreRadius = data.DynamicTyreRadius.SI().Milli.Meter.Cast<Meter>(), - Rim = data.RimStr, - Retarder = new RetarderData() { - LossMap = RetarderLossMap.ReadFromFile(basePath + data.Retarder.File), - Type = (RetarderData.RetarderType) Enum.Parse(typeof (RetarderData), data.Retarder.TypeStr, true), - Ratio = data.Retarder.Ratio - }, - AxleData = data.AxleConfig.Axles.Select(axle => new Axle { - Inertia = DoubleExtensionMethods.SI<KilogramSquareMeter>(axle.Inertia), - TwinTyres = axle.TwinTyres, - RollResistanceCoefficient = axle.RollResistanceCoefficient, - AxleWeightShare = axle.AxleWeightShare, - TyreTestLoad = DoubleExtensionMethods.SI<Newton>(axle.TyreTestLoad), - //Wheels = axle.WheelsStr - }).ToList() - }; + internal VehicleData CreateVehicleData(VehicleFileV5Engineering vehicle) + { + var data = vehicle.Body; + + var retVal = SetCommonVehicleData(data); + + retVal.BasePath = vehicle.BasePath; + retVal.CurbWeigthExtra = data.CurbWeightExtra.SI<Kilogram>(); + retVal.Loading = data.Loading.SI<Kilogram>(); + retVal.DynamicTyreRadius = data.DynamicTyreRadius.SI().Milli.Meter.Cast<Meter>(); + + retVal.AxleData = data.AxleConfig.Axles.Select(axle => new Axle { + Inertia = DoubleExtensionMethods.SI<KilogramSquareMeter>(axle.Inertia), + TwinTyres = axle.TwinTyres, + RollResistanceCoefficient = axle.RollResistanceCoefficient, + AxleWeightShare = axle.AxleWeightShare, + TyreTestLoad = DoubleExtensionMethods.SI<Newton>(axle.TyreTestLoad), + //Wheels = axle.WheelsStr + }).ToList(); + return retVal; } public override IEnumerable<IVectoRun> NextRun() @@ -104,10 +83,23 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl throw new NotImplementedException(); } - public CombustionEngineData CreateEngineDataFromFile(string file) + + public static VehicleData CreateVehicleDataFromFile(string file) + { + var data = DoReadVehicleFile(file); + return new EngineeringModeSimulationComponentFactory().CreateVehicleData((dynamic) data); + } + + public static CombustionEngineData CreateEngineDataFromFile(string file) { var data = DoReadEngineFile(file); - return CreateEngineData((dynamic) data); + return new EngineeringModeSimulationComponentFactory().CreateEngineData((dynamic) data); + } + + public static GearboxData CreateGearboxDataFromFile(string file) + { + var data = DoReadGearboxFile(file); + return new EngineeringModeSimulationComponentFactory().CreateGearboxData((dynamic) data); } @@ -132,9 +124,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl Engine = DoReadEngineFile(file); } - protected VectoEngineFile DoReadEngineFile(string file) + protected override void ReadGearbox(string file) { - var json = File.ReadAllText(Job.BasePath + file); + Gearbox = DoReadGearboxFile(file); + } + + protected static VectoEngineFile DoReadEngineFile(string file) + { + var json = File.ReadAllText(file); var fileInfo = GetFileVersion(json); CheckForEngineeringMode(fileInfo, "Engine"); @@ -146,11 +143,35 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl } } - protected override void ReadGearbox(string json) + protected static VectoGearboxFile DoReadGearboxFile(string file) { - throw new NotImplementedException(); + var json = File.ReadAllText(file); + var fileInfo = GetFileVersion(json); + CheckForEngineeringMode(fileInfo, "Gearbox"); + + switch (fileInfo.Version) { + case 4: + return JsonConvert.DeserializeObject<GearboxFileV4Engineering>(json); + default: + throw new UnsupportedFileVersionException("Unsopported Version of gearbox-file. Got version " + fileInfo.Version); + } + } + + protected static VectoVehicleFile DoReadVehicleFile(string file) + { + var json = File.ReadAllText(file); + var fileInfo = GetFileVersion(json); + CheckForEngineeringMode(fileInfo, "Vehicle"); + + switch (fileInfo.Version) { + case 4: + return JsonConvert.DeserializeObject<VehicleFileV5Engineering>(json); + default: + throw new UnsupportedFileVersionException("Unsopported Version of vehicle-file. Got version " + fileInfo.Version); + } } + internal CombustionEngineData CreateEngineData(EngineFileV2Engineering engine) { var retVal = new CombustionEngineData(); diff --git a/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs b/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs index 235df1db676ab8f132403a3f3a8acffcaf801aeb..18310d5885fb11315bc912b2ac098752f2fd9931 100644 --- a/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs +++ b/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs @@ -26,7 +26,7 @@ namespace TUGraz.VectoCore.Tests.Integration.EngineOnlyCycle var expectedResults = ModalResults.ReadFromFile(TestContext.DataRow["ModalResultFile"].ToString()); var vehicle = new VehicleContainer(); - var engineData = new EngineeringModeSimulationComponentFactory().CreateEngineDataFromFile(EngineFile); + var engineData = EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile(EngineFile); var aux = new DirectAuxiliary(vehicle, new AuxiliaryCycleDataAdapter(data)); var gearbox = new EngineOnlyGearbox(vehicle); @@ -95,7 +95,8 @@ namespace TUGraz.VectoCore.Tests.Integration.EngineOnlyCycle var vehicleContainer = new VehicleContainer(); var gearbox = new EngineOnlyGearbox(vehicleContainer); - var engine = new CombustionEngine(vehicleContainer, CombustionEngineData.ReadFromFile(EngineFile)); + var engine = new CombustionEngine(vehicleContainer, + EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile(EngineFile)); gearbox.InShaft().Connect(engine.OutShaft()); diff --git a/VectoCoreTest/Models/Simulation/VechicleContainerTests.cs b/VectoCoreTest/Models/Simulation/VechicleContainerTests.cs index 8d6f48a91a6a2fdc9a955fb09c8df0402dada542..5d0cb482a833b4afa40c8553c1c9572be47f3db0 100644 --- a/VectoCoreTest/Models/Simulation/VechicleContainerTests.cs +++ b/VectoCoreTest/Models/Simulation/VechicleContainerTests.cs @@ -17,7 +17,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation { var vehicle = new VehicleContainer(); //var engineData = CombustionEngineData.ReadFromFile(EngineFile); - var engineData = new EngineeringModeSimulationComponentFactory().CreateEngineDataFromFile(EngineFile); + var engineData = EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile(EngineFile); var engine = new CombustionEngine(vehicle, engineData); Assert.IsNotNull(vehicle.EngineSpeed()); diff --git a/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs b/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs index 43b8b9c50071e30c011d23196ca87978e97cb295..a5b4c07b48a7a0dc75c4a1b79e2a5a47500990ef 100644 --- a/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs +++ b/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs @@ -19,7 +19,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent public void TestClutch() { var vehicle = new VehicleContainer(); - var engineData = new EngineeringModeSimulationComponentFactory().CreateEngineDataFromFile(CoachEngine); + var engineData = EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile(CoachEngine); var gearbox = new DummyGearbox(vehicle); var clutch = new Clutch(vehicle, engineData); diff --git a/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs b/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs index 6de72a08103c5527e199aa09cd4c0be391273c73..5bd173dba453abdee48b91dc987e94407ba4a456 100644 --- a/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs +++ b/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs @@ -48,7 +48,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent public void TestEngineHasOutPort() { var vehicle = new VehicleContainer(); - var engineData = new EngineeringModeSimulationComponentFactory().CreateEngineDataFromFile(CoachEngine); + var engineData = EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile(CoachEngine); var engine = new CombustionEngine(vehicle, engineData); var port = engine.OutShaft(); @@ -59,7 +59,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent public void TestOutPortRequestNotFailing() { var vehicle = new VehicleContainer(); - var engineData = new EngineeringModeSimulationComponentFactory().CreateEngineDataFromFile(CoachEngine); + var engineData = EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile(CoachEngine); var engine = new CombustionEngine(vehicle, engineData); new EngineOnlyGearbox(vehicle); @@ -78,7 +78,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent public void TestSimpleModalData() { var vehicle = new VehicleContainer(); - var engineData = new EngineeringModeSimulationComponentFactory().CreateEngineDataFromFile(CoachEngine); + var engineData = EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile(CoachEngine); var engine = new CombustionEngine(vehicle, engineData); var gearbox = new EngineOnlyGearbox(vehicle); var port = engine.OutShaft(); @@ -146,7 +146,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var vehicleContainer = new VehicleContainer(); var gearbox = new EngineOnlyGearbox(vehicleContainer); var engineData = - new EngineeringModeSimulationComponentFactory().CreateEngineDataFromFile( + EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile( TestContext.DataRow["EngineFile"].ToString()); var engine = new CombustionEngine(vehicleContainer, engineData); @@ -198,7 +198,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent public void TestEngineMemento() { var vehicle = new VehicleContainer(); - var engineData = new EngineeringModeSimulationComponentFactory().CreateEngineDataFromFile(CoachEngine); + var engineData = EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile(CoachEngine); var origin = new CombustionEngine(vehicle, engineData); var data = Memento.Serialize(origin); @@ -226,7 +226,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent public void TestWriteToFile() { var vehicle = new VehicleContainer(); - var engineData = new EngineeringModeSimulationComponentFactory().CreateEngineDataFromFile(CoachEngine); + var engineData = EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile(CoachEngine); var engine = new CombustionEngine(vehicle, engineData); //engineData.WriteToFile("engineData test output.veng"); @@ -235,7 +235,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent [TestMethod] public void Test_EngineData() { - var engineData = new EngineeringModeSimulationComponentFactory().CreateEngineDataFromFile(CoachEngine); + var engineData = EngineeringModeSimulationComponentFactory.CreateEngineDataFromFile(CoachEngine); var motorway = engineData.WHTCMotorway; Assert.AreEqual(motorway.Double(), 0); Assert.IsTrue(motorway.HasEqualUnit(new SI().Kilo.Gramm.Per.Watt.Second.ConvertTo())); diff --git a/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs b/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs index 3596d58395d749c7f9507433595022d3bf379f70..e9f8c67e5214eee0db74d968ff4a3e3628041ce9 100644 --- a/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs +++ b/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs @@ -2,6 +2,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.Models.SimulationComponent.Data; +using TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl; using TUGraz.VectoCore.Models.SimulationComponent.Impl; using TUGraz.VectoCore.Tests.Utils; using TUGraz.VectoCore.Utils; @@ -19,7 +20,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent public void AxleGearTest() { var vehicle = new VehicleContainer(); - var gbxData = GearboxData.ReadFromFile(GearboxDataFile); + var gbxData = EngineeringModeSimulationComponentFactory.CreateGearboxDataFromFile(GearboxDataFile); //GearData gearData = new GearData(); var axleGear = new AxleGear(gbxData.AxleGearData); diff --git a/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs b/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs index ba8ba2561366c7dfbd92d7400fe93894942acda1..79fd29eaba9e30c414b12c79c500d755f0c56726 100644 --- a/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs +++ b/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs @@ -20,8 +20,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent { var container = new VehicleContainer(); - var reader = new EngineeringModeSimulationComponentFactory(); - var vehicleData = reader.ReadVehicleDataFile(VehicleDataFile); + //var reader = new EngineeringModeSimulationComponentFactory(); + var vehicleData = EngineeringModeSimulationComponentFactory.CreateVehicleDataFromFile(VehicleDataFile); //VehicleData.ReadFromFile(VehicleDataFile); //vehicleData.CrossWindCorrection = VehicleData.CrossWindCorrectionMode.NoCorrection; var vehicle = new Vehicle(container, vehicleData, 17.210535); diff --git a/VectoCoreTest/Models/SimulationComponent/WheelsTest.cs b/VectoCoreTest/Models/SimulationComponent/WheelsTest.cs index 9f80586ceacadcc6ff1a6cb612a8c3a9ddf43422..59afce0c38a2ebf6e7127c67c820df97cd161a10 100644 --- a/VectoCoreTest/Models/SimulationComponent/WheelsTest.cs +++ b/VectoCoreTest/Models/SimulationComponent/WheelsTest.cs @@ -20,8 +20,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent public void WheelsRequestTest() { var container = new VehicleContainer(); - var reader = new EngineeringModeSimulationComponentFactory(); - var vehicleData = reader.ReadVehicleDataFile(VehicleDataFile); + //var reader = new EngineeringModeSimulationComponentFactory(); + var vehicleData = EngineeringModeSimulationComponentFactory.CreateVehicleDataFromFile(VehicleDataFile); IWheels wheels = new Wheels(container, vehicleData.DynamicTyreRadius); var mockPort = new MockTnOutPort(); diff --git a/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs b/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs index b244798b843cf63a5c8c4041ad548620cf1d811e..e5865c50d26a7e2969f67559c4b1c410acc3885d 100644 --- a/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs +++ b/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs @@ -3,6 +3,7 @@ using System.Globalization; using Microsoft.VisualStudio.TestTools.UnitTesting; using TUGraz.VectoCore.Exceptions; using TUGraz.VectoCore.Models.SimulationComponent.Data; +using TUGraz.VectoCore.Models.SimulationComponent.Factories.Impl; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData @@ -17,9 +18,10 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData [TestMethod] public void TestGearboxDataReadTest() { - var gbxData = GearboxData.ReadFromFile(GearboxFile); + var gbxData = EngineeringModeSimulationComponentFactory.CreateGearboxDataFromFile(GearboxFile); + //GearboxData.ReadFromFile(GearboxFile); - Assert.AreEqual(GearboxData.GearboxType.AutomatedManualTransmission, gbxData.Type()); + Assert.AreEqual(GearboxData.GearboxType.AutomatedManualTransmission, gbxData.Type); Assert.AreEqual(1.0, gbxData.TractionInterruption.Double(), 0.0001); Assert.AreEqual(9, gbxData.GearsCount()); @@ -44,7 +46,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData var rdyn = double.Parse(TestContext.DataRow["rDyn"].ToString(), CultureInfo.InvariantCulture); var speed = double.Parse(TestContext.DataRow["v"].ToString(), CultureInfo.InvariantCulture); - var gbxData = GearboxData.ReadFromFile(TestContext.DataRow["GearboxDataFile"].ToString()); + var gbxData = + EngineeringModeSimulationComponentFactory.CreateGearboxDataFromFile(TestContext.DataRow["GearboxDataFile"].ToString()); var PvD = Double.Parse(TestContext.DataRow["PowerGbxOut"].ToString(), CultureInfo.InvariantCulture).SI<Watt>(); @@ -68,7 +71,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData [TestMethod] public void TestInputOutOfRange() { - var gbxData = GearboxData.ReadFromFile(GearboxFile); + var gbxData = EngineeringModeSimulationComponentFactory.CreateGearboxDataFromFile(GearboxFile); var angSpeed = 2700.RPMtoRad(); @@ -78,7 +81,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData gbxData.AxleGearData.LossMap.GearboxInTorque(angSpeed, torqueToWheels); Assert.Fail("angular Speed too high"); } catch (Exception e) { - Assert.IsInstanceOfType(e, typeof(VectoSimulationException), "angular speed too high"); + Assert.IsInstanceOfType(e, typeof (VectoSimulationException), "angular speed too high"); } angSpeed = 1000.RPMtoRad(); @@ -87,7 +90,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData gbxData.AxleGearData.LossMap.GearboxInTorque(angSpeed, torqueToWheels); Assert.Fail("torque too high"); } catch (Exception e) { - Assert.IsInstanceOfType(e, typeof(VectoSimulationException), "torque too high"); + Assert.IsInstanceOfType(e, typeof (VectoSimulationException), "torque too high"); } angSpeed = 1000.RPMtoRad(); @@ -96,7 +99,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData gbxData.AxleGearData.LossMap.GearboxInTorque(angSpeed, torqueToWheels); Assert.Fail("torque too low"); } catch (Exception e) { - Assert.IsInstanceOfType(e, typeof(VectoSimulationException), "torque too low"); + Assert.IsInstanceOfType(e, typeof (VectoSimulationException), "torque too low"); } angSpeed = -1000.RPMtoRad(); @@ -105,7 +108,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData gbxData.AxleGearData.LossMap.GearboxInTorque(angSpeed, torqueToWheels); Assert.Fail("negative angular speed"); } catch (Exception e) { - Assert.IsInstanceOfType(e, typeof(VectoSimulationException), "negative angular speed"); + Assert.IsInstanceOfType(e, typeof (VectoSimulationException), "negative angular speed"); } } diff --git a/VectoCoreTest/Models/SimulationComponentData/VehicleDataTest.cs b/VectoCoreTest/Models/SimulationComponentData/VehicleDataTest.cs index 55414b53fa75e28a18e0fb49e5a6d70855b64b00..9430460e35405272e2889ec5fa8b22ad09db96ad 100644 --- a/VectoCoreTest/Models/SimulationComponentData/VehicleDataTest.cs +++ b/VectoCoreTest/Models/SimulationComponentData/VehicleDataTest.cs @@ -13,11 +13,11 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData [TestMethod] public void ReadVehicleFileTest() { - IDataFileReader reader = new EngineeringModeSimulationComponentFactory(); - var vehicleData = reader.ReadVehicleDataFile(VehicleDataFile); + //IDataFileReader reader = new EngineeringModeSimulationComponentFactory(); + //var vehicleData = reader.ReadVehicleDataFile(VehicleDataFile); //VehicleData.ReadFromFile(VehicleDataFile); - Assert.AreEqual(VehicleCategory.Coach, vehicleData.VehicleCategory); + //Assert.AreEqual(VehicleCategory.Coach, vehicleData.VehicleCategory); } } } \ No newline at end of file