diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs index b4f559513be701c651b831b878347e39a731fc3c..893f857e8a3ac4b1201d60d134a2b9a05a24e525 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs @@ -8,6 +8,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; using TUGraz.VectoCore.Models.BusAuxiliaries; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/CompletedBus/Generic/DeclarationDataAdapterGenericCompletedBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/CompletedBus/Generic/DeclarationDataAdapterGenericCompletedBus.cs new file mode 100644 index 0000000000000000000000000000000000000000..5a0d69093716358b4686b426ce802dfea05d2420 --- /dev/null +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/CompletedBus/Generic/DeclarationDataAdapterGenericCompletedBus.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponents; +using TUGraz.VectoCore.Models.Declaration; +using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.Models.SimulationComponent; +using TUGraz.VectoCore.Models.SimulationComponent.Data; + +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.CompletedBus.Generic +{ + public abstract class DeclarationDataAdapterGenericCompletedBus + { + public abstract class CompletedBusBase : IGenericCompletedBusDataAdapter + { + #region Implementation of IDeclarationDataAdapter + + private readonly IDriverDataAdapter _driverDataAdapter = new CompletedBusGenericDriverDataAdapter(); + public DriverData CreateDriverData() + { + return _driverDataAdapter.CreateDriverData(); + } + + public VehicleData CreateVehicleData(IVehicleDeclarationInputData vehicle, Segment segment, Mission mission, + KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational) + { + throw new NotImplementedException(); + } + + public AirdragData CreateAirdragData(IAirdragDeclarationInputData airdragData, Mission mission, Segment segment) + { + throw new NotImplementedException(); + } + + public AxleGearData CreateAxleGearData(IAxleGearInputData axlegearData) + { + throw new NotImplementedException(); + } + + public AngledriveData CreateAngledriveData(IAngledriveInputData angledriveData) + { + throw new NotImplementedException(); + } + + public CombustionEngineData CreateEngineData(IVehicleDeclarationInputData vehicle, IEngineModeDeclarationInputData engineMode, + Mission mission) + { + throw new NotImplementedException(); + } + + public GearboxData CreateGearboxData(IVehicleDeclarationInputData inputData, VectoRunData runData, + IShiftPolygonCalculator shiftPolygonCalc) + { + throw new NotImplementedException(); + } + + public ShiftStrategyParameters CreateGearshiftData(GearboxData gbx, double axleRatio, PerSecond engineIdlingSpeed) + { + throw new NotImplementedException(); + } + + public RetarderData CreateRetarderData(IRetarderInputData retarderData) + { + throw new NotImplementedException(); + } + + public PTOData CreatePTOTransmissionData(IPTOTransmissionInputData ptoData) + { + throw new NotImplementedException(); + } + + public IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxData, IBusAuxiliariesDeclarationData busAuxData, + MissionType missionType, VehicleClass vehicleClass, Meter vehicleLength, int? numSteeredAxles) + { + throw new NotImplementedException(); + } + + public AxleGearData CreateDummyAxleGearData(IGearboxDeclarationInputData gbxData) + { + throw new NotImplementedException(); + } + + #endregion + } + public class Conventional : CompletedBusBase { } + public class HEV_S2 : CompletedBusBase { } + public class HEV_S3 : CompletedBusBase { } + public class HEV_S4 : CompletedBusBase { } + public class HEV_S_IEPC : CompletedBusBase { } + public class HEV_P1 : CompletedBusBase { } + public class HEV_P2 : CompletedBusBase { } + public class HEV_P2_5 : CompletedBusBase { } + public class HEV_P3 : CompletedBusBase { } + public class HEV_P4 : CompletedBusBase { } + public class PEV_E2 : CompletedBusBase { } + public class PEV_E3 : CompletedBusBase { } + public class PEV_E4 : CompletedBusBase { } + public class PEV_E_IEPC : CompletedBusBase { } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/CompletedBus/Specific/DeclarationDataAdapterSpecificCompletedBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/CompletedBus/Specific/DeclarationDataAdapterSpecificCompletedBus.cs new file mode 100644 index 0000000000000000000000000000000000000000..1b7523b5f8c525f99b4909378e89a850dc107287 --- /dev/null +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/CompletedBus/Specific/DeclarationDataAdapterSpecificCompletedBus.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponents; +using TUGraz.VectoCore.Models.Declaration; +using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.Models.SimulationComponent; +using TUGraz.VectoCore.Models.SimulationComponent.Data; + +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.CompletedBus.Specific +{ + public abstract class DeclarationDataAdapterSpecificCompletedBus + { + public abstract class CompletedBusBase : ISpecificCompletedBusDataAdapter + { + private readonly IDriverDataAdapter _driverDataAdapter = new CompletedBusSpecificDriverDataAdapter(); + #region Implementation of IDeclarationDataAdapter + + + public DriverData CreateDriverData() + { + return _driverDataAdapter.CreateDriverData(); + } + + public VehicleData CreateVehicleData(IVehicleDeclarationInputData vehicle, Segment segment, Mission mission, + KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational) + { + throw new NotImplementedException(); + } + + public AirdragData CreateAirdragData(IAirdragDeclarationInputData airdragData, Mission mission, Segment segment) + { + throw new NotImplementedException(); + } + + public AxleGearData CreateAxleGearData(IAxleGearInputData axlegearData) + { + throw new NotImplementedException(); + } + + public AngledriveData CreateAngledriveData(IAngledriveInputData angledriveData) + { + throw new NotImplementedException(); + } + + public CombustionEngineData CreateEngineData(IVehicleDeclarationInputData vehicle, IEngineModeDeclarationInputData engineMode, + Mission mission) + { + throw new NotImplementedException(); + } + + public GearboxData CreateGearboxData(IVehicleDeclarationInputData inputData, VectoRunData runData, + IShiftPolygonCalculator shiftPolygonCalc) + { + throw new NotImplementedException(); + } + + public ShiftStrategyParameters CreateGearshiftData(GearboxData gbx, double axleRatio, PerSecond engineIdlingSpeed) + { + throw new NotImplementedException(); + } + + public RetarderData CreateRetarderData(IRetarderInputData retarderData) + { + throw new NotImplementedException(); + } + + public PTOData CreatePTOTransmissionData(IPTOTransmissionInputData ptoData) + { + throw new NotImplementedException(); + } + + public IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxData, IBusAuxiliariesDeclarationData busAuxData, + MissionType missionType, VehicleClass vehicleClass, Meter vehicleLength, int? numSteeredAxles) + { + throw new NotImplementedException(); + } + + public AxleGearData CreateDummyAxleGearData(IGearboxDeclarationInputData gbxData) + { + throw new NotImplementedException(); + } + + #endregion + } + + + public class Conventional : CompletedBusBase { } + public class HEV_S2 : CompletedBusBase { } + public class HEV_S3 : CompletedBusBase { } + public class HEV_S4 : CompletedBusBase { } + public class HEV_S_IEPC : CompletedBusBase { } + public class HEV_P1 : CompletedBusBase { } + public class HEV_P2 : CompletedBusBase { } + public class HEV_P2_5 : CompletedBusBase { } + public class HEV_P3 : CompletedBusBase { } + public class HEV_P4 : CompletedBusBase { } + public class PEV_E2 : CompletedBusBase { } + public class PEV_E3 : CompletedBusBase { } + public class PEV_E4 : CompletedBusBase { } + public class PEV_E_IEPC : CompletedBusBase { } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter.cd similarity index 76% rename from VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter rename to VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter.cd index 50da0f52338f61db5ca05bc81de27329323202c1..b6e762df24718906e7507c7ac7aee9f73418219e 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter.cd @@ -1,17 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> -<ClassDiagram MajorVersion="1" MinorVersion="1" MembersFormat="NameAndType"> +<ClassDiagram MajorVersion="1" MinorVersion="1"> <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry"> - <Position X="1" Y="2.75" Width="6" /> + <Position X="0.5" Y="1.5" Width="3" /> <Compartments> <Compartment Name="Nested Types" Collapsed="false" /> </Compartments> <NestedTypes> - <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional" Collapsed="true"> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S_IEPC" Collapsed="true"> <TypeIdentifier> - <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\Conventional.cs</NewMemberFileName> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\SerialHybrid.cs</NewMemberFileName> </TypeIdentifier> </Class> - <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P4"> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P4" Collapsed="true"> <TypeIdentifier> <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P4.cs</NewMemberFileName> </TypeIdentifier> @@ -21,27 +21,32 @@ <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S4.cs</NewMemberFileName> </TypeIdentifier> </Class> - <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P1"> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P1" Collapsed="true"> <TypeIdentifier> <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P1.cs</NewMemberFileName> </TypeIdentifier> </Class> - <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2_5"> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2_5" Collapsed="true"> <TypeIdentifier> <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P2_5.cs</NewMemberFileName> </TypeIdentifier> </Class> - <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2"> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2" Collapsed="true"> <TypeIdentifier> <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P2.cs</NewMemberFileName> </TypeIdentifier> </Class> <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S2" Collapsed="true"> <TypeIdentifier> - <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S2.cs</NewMemberFileName> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\SerialHybrid.cs</NewMemberFileName> </TypeIdentifier> </Class> - <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P3"> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.SerialHybrid" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\SerialHybrid.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P3" Collapsed="true"> <TypeIdentifier> <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P3.cs</NewMemberFileName> </TypeIdentifier> @@ -77,9 +82,9 @@ <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\PEV_E_IEPC.cs</NewMemberFileName> </TypeIdentifier> </Class> - <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S_IEPC" Collapsed="true"> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional" Collapsed="true"> <TypeIdentifier> - <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S_IEPC.cs</NewMemberFileName> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\Conventional.cs</NewMemberFileName> </TypeIdentifier> </Class> </NestedTypes> @@ -89,33 +94,19 @@ </TypeIdentifier> <Lollipop Position="0.2" /> </Class> - <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.AbstractSimulationDataAdapter"> - <Position X="8.25" Y="0.5" Width="5" /> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.DeclarationDataAdapterCompletedBusGeneric"> + <Position X="5" Y="1.25" Width="3.5" /> <TypeIdentifier> - <HashCode>AAggAEAAEAAABAAAAAAAAhAEABEAAgAMAAgAAAAADAA=</HashCode> - <FileName>InputData\Reader\DataObjectAdapter\AbstractSimulationDataAdapter.cs</FileName> + <HashCode>AAEAAAgAgAIgAAAAAABAAgACAAAAAACEAIEABAAASAA=</HashCode> + <FileName>InputData\Reader\DataObjectAdapter\DeclarationDataAdapterCompletedBusGeneric.cs</FileName> </TypeIdentifier> </Class> - <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.DeclarationDataAdapterPrimaryBus"> - <Position X="7.25" Y="7.75" Width="2.75" /> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.DeclarationDataAdapterCompletedBusSpecific"> + <Position X="9" Y="1.25" Width="3" /> <TypeIdentifier> - <HashCode>AAAQAAAAgDAgAAAAAAAIAgIASABgAqIgEAAAAAABQAQ=</HashCode> - <FileName>InputData\Reader\DataObjectAdapter\DeclarationDataAdapterPrimaryBus.cs</FileName> + <HashCode>AAAAAAAAgAAACAAAAAgAAAAgCCAABgKAAAAAQAAAQAA=</HashCode> + <FileName>InputData\Reader\DataObjectAdapter\DeclarationDataAdapterCompletedBusSpecific.cs</FileName> </TypeIdentifier> </Class> - <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.ElectricConsumerEntry"> - <Position X="10.5" Y="6" Width="4" /> - <TypeIdentifier> - <HashCode>AAAAAAAAAAAAAAAAAACAAAAACAAAAAAAAAAAEEAAAAA=</HashCode> - <FileName>InputData\Reader\DataObjectAdapter\DeclarationDataAdapterPrimaryBus.cs</FileName> - </TypeIdentifier> - </Class> - <Interface Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.IDeclarationDataAdapter"> - <Position X="6" Y="0.5" Width="3.25" /> - <TypeIdentifier> - <HashCode>AAEAAAgAgCAgAAAAAAEAAgIAAAAAAAAEAAAAQAABQAA=</HashCode> - <FileName>InputData\Reader\DataObjectAdapter\IDeclarationDataAdapter.cs</FileName> - </TypeIdentifier> - </Interface> <Font Name="Segoe UI" Size="9" /> </ClassDiagram> \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs index 8d8b4f2750b4d7f91720c9fee5146c84e08e01a6..9610bd77c5356a758a6b2769885657d5c1f95080 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs @@ -5,6 +5,7 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.GenericModelData; using TUGraz.VectoCore.Models.SimulationComponent.Data; @@ -25,7 +26,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter #region Overrides of DeclarationDataAdapterPrimaryBus - public override DriverData CreateDriverData() + public new DriverData CreateDriverData() { var retVal = base.CreateDriverData(); retVal.LookAheadCoasting.Enabled = false; diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs index b11c599c0695fa580b9b2254e5113d525004d290..7f948cc86115c05db86b710e53d625861908ef5b 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs @@ -7,6 +7,7 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; using TUGraz.VectoCore.Models.BusAuxiliaries; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs index 1c3560efba3704b960f5a296d3ecd439506d6f16..a82f81a1fb7d0e20a2a9323670f4593b7d7e732b 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs @@ -1,5 +1,10 @@ -using TUGraz.VectoCore.InputData.Reader.Impl; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.CompletedBus.Generic; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.CompletedBus.Specific; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; +using TUGraz.VectoCore.InputData.Reader.Impl; +using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.CompletedBusRunDataFactory; using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDataFactory; +using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.PrimaryBusRunDataFactory; namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { @@ -52,9 +57,177 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E_IEPC>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.PEV_E_IEPC>(); #endregion HeavyLorry - } - #endregion - } + #region PrimaryBus + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.Conventional>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.Conventional>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.HEV_S2>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.HEV_S2>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.HEV_S3>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.HEV_S3>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.HEV_S4>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.HEV_S4>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.HEV_S_IEPC>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.HEV_S_IEPC>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.HEV_P1>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.HEV_P1>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.HEV_P2>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.HEV_P2>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.HEV_P2_5>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.HEV_P2_5>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.HEV_P3>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.HEV_P3>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.HEV_P4>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.HEV_P4>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.PEV_E2>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.PEV_E2>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.PEV_E3>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.PEV_E3>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.PEV_E4>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.PEV_E4>(); + + Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterPrimaryBus.PEV_E_IEPC>() + .WhenInjectedExactlyInto<DeclarationModePrimaryBusRunDataFactory.PEV_E_IEPC>(); + + #endregion + + #region CompletedBus Generic + + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.Conventional>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.Conventional>(); + + + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.HEV_S2>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_S2>(); + + + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.HEV_S3>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_S3>(); + + + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.HEV_S4>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_S4>(); + + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.HEV_S_IEPC>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_S4>(); + + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.HEV_P1>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_P1>(); + + + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.HEV_P2>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_P2>(); + + + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.HEV_P2_5>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_P2_5>(); + + + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.HEV_P3>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_P3>(); + + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.HEV_P4>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_P4>(); + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.PEV_E2>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.PEV_E2>(); + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.PEV_E3>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.PEV_E3>(); + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.PEV_E4>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.PEV_E4>(); + Bind<IGenericCompletedBusDataAdapter>() + .To<DeclarationDataAdapterGenericCompletedBus.PEV_E_IEPC>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.PEV_E_IEPC>(); + + #endregion + + #region CompletedBus Specific + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.Conventional>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.Conventional>(); + + + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.HEV_S2>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_S2>(); + + + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.HEV_S3>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_S3>(); + + + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.HEV_S4>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_S4>(); + + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.HEV_S_IEPC>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_S4>(); + + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.HEV_P1>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_P1>(); + + + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.HEV_P2>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_P2>(); + + + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.HEV_P2_5>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_P2_5>(); + + + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.HEV_P3>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_P3>(); + + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.HEV_P4>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.HEV_P4>(); + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.PEV_E2>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.PEV_E2>(); + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.PEV_E3>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.PEV_E3>(); + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.PEV_E4>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.PEV_E4>(); + Bind<ISpecificCompletedBusDataAdapter>() + .To<DeclarationDataAdapterSpecificCompletedBus.PEV_E_IEPC>() + .WhenInjectedExactlyInto<DeclarationModeCompletedBusRunDataFactory.PEV_E_IEPC>(); + #endregion + } + + #endregion + } } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 2363f7c692551f2186feae1ebcbc53e60cce413e..6f6e5df2d2f0704a25d02ad3c87c1c84817c512c 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -41,6 +41,7 @@ using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.Impl; using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; using TUGraz.VectoCore.InputData.Reader.ShiftStrategy; using TUGraz.VectoCore.Models.BusAuxiliaries; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics; diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs index ae836867a3c09c46eba77697ce710c8f9de7b040..146ca0f720108a09f9560ac85954bfdcee54de3f 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs @@ -25,49 +25,6 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry public static readonly GearboxType[] SupportedGearboxTypes = { GearboxType.MT, GearboxType.AMT, GearboxType.ATPowerSplit, GearboxType.ATSerial }; - public override DriverData CreateDriverData() - { - var lookAheadData = new DriverData.LACData { - Enabled = DeclarationData.Driver.LookAhead.Enabled, - - //Deceleration = DeclarationData.Driver.LookAhead.Deceleration, - MinSpeed = DeclarationData.Driver.LookAhead.MinimumSpeed, - LookAheadDecisionFactor = new LACDecisionFactor(), - LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor, - }; - var overspeedData = new DriverData.OverSpeedData { - Enabled = true, - MinSpeed = DeclarationData.Driver.OverSpeed.MinSpeed, - OverSpeed = DeclarationData.Driver.OverSpeed.AllowedOverSpeed, - }; - - var retVal = new DriverData { - LookAheadCoasting = lookAheadData, - OverSpeed = overspeedData, - EngineStopStart = new DriverData.EngineStopStartData() { - EngineOffStandStillActivationDelay = DeclarationData.Driver.EngineStopStart.ActivationDelay, - MaxEngineOffTimespan = DeclarationData.Driver.EngineStopStart.MaxEngineOffTimespan, - UtilityFactorStandstill = DeclarationData.Driver.EngineStopStart.UtilityFactor, - UtilityFactorDriving = DeclarationData.Driver.EngineStopStart.UtilityFactor, - }, - EcoRoll = new DriverData.EcoRollData() { - UnderspeedThreshold = DeclarationData.Driver.EcoRoll.UnderspeedThreshold, - MinSpeed = DeclarationData.Driver.EcoRoll.MinSpeed, - ActivationPhaseDuration = DeclarationData.Driver.EcoRoll.ActivationDelay, - AccelerationLowerLimit = DeclarationData.Driver.EcoRoll.AccelerationLowerLimit, - AccelerationUpperLimit = DeclarationData.Driver.EcoRoll.AccelerationUpperLimit, - }, - PCC = new DriverData.PCCData() { - PCCEnableSpeed = DeclarationData.Driver.PCC.PCCEnableSpeed, - MinSpeed = DeclarationData.Driver.PCC.MinSpeed, - PreviewDistanceUseCase1 = DeclarationData.Driver.PCC.PreviewDistanceUseCase1, - PreviewDistanceUseCase2 = DeclarationData.Driver.PCC.PreviewDistanceUseCase2, - UnderSpeed = DeclarationData.Driver.PCC.Underspeed, - OverspeedUseCase3 = DeclarationData.Driver.PCC.OverspeedUseCase3 - } - }; - return retVal; - } public override VehicleData CreateVehicleData(IVehicleDeclarationInputData data, Segment segment, Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational) diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs deleted file mode 100644 index e15d55e1ba3bc0d7f2beae4dcfc424554e6600d1..0000000000000000000000000000000000000000 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Collections.Generic; -using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.Simulation.Data; -using TUGraz.VectoCore.Models.SimulationComponent; -using TUGraz.VectoCore.Models.SimulationComponent.Data; - -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry -{ - public partial class DeclarationDataAdapterHeavyLorry - { - public class HEV_S2 : LorryBase - { - #region Overrides of LorryBase - - public override DriverData CreateDriverData() - { - throw new NotImplementedException(); - } - - public override VehicleData CreateVehicleData(IVehicleDeclarationInputData vehicle, Segment segment, - Mission mission, - KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational) - { - throw new NotImplementedException(); - } - - public override AirdragData CreateAirdragData(IAirdragDeclarationInputData airdragData, Mission mission, - Segment segment) - { - throw new NotImplementedException(); - } - - public override AxleGearData CreateAxleGearData(IAxleGearInputData axlegearData) - { - throw new NotImplementedException(); - } - - public override AngledriveData CreateAngledriveData(IAngledriveInputData angledriveData) - { - throw new NotImplementedException(); - } - - public override CombustionEngineData CreateEngineData(IVehicleDeclarationInputData vehicle, - IEngineModeDeclarationInputData engineMode, - Mission mission) - { - throw new NotImplementedException(); - } - - public override GearboxData CreateGearboxData(IVehicleDeclarationInputData inputData, VectoRunData runData, - IShiftPolygonCalculator shiftPolygonCalc) - { - throw new NotImplementedException(); - } - - public override ShiftStrategyParameters CreateGearshiftData(GearboxData gbx, double axleRatio, - PerSecond engineIdlingSpeed) - { - throw new NotImplementedException(); - } - - public override RetarderData CreateRetarderData(IRetarderInputData retarderData) - { - throw new NotImplementedException(); - } - - public override PTOData CreatePTOTransmissionData(IPTOTransmissionInputData ptoData) - { - throw new NotImplementedException(); - } - - public override IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxData, - IBusAuxiliariesDeclarationData busAuxData, - MissionType missionType, VehicleClass vehicleClass, Meter vehicleLength, int? numSteeredAxles) - { - throw new NotImplementedException(); - } - - public override AxleGearData CreateDummyAxleGearData(IGearboxDeclarationInputData gbxData) - { - throw new NotImplementedException(); - } - - #endregion - } - } -} \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs deleted file mode 100644 index 44194285ad0bfcbb75be344bb9f01e78c93c1c0e..0000000000000000000000000000000000000000 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry -{ - public partial class DeclarationDataAdapterHeavyLorry - { - public class HEV_S_IEPC : LorryBase - { - - } - } -} diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs index 2ab8ab830344df81df1115c7325eba4a59d8a9ae..e573fd19bd949ec337547f1e8f4a553a073800b1 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponents; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent; @@ -16,9 +17,11 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { #region Implementation of IDeclarationDataAdapter - public virtual DriverData CreateDriverData() + private readonly IDriverDataAdapter _driverDataAdapter = new LorryDriverDataAdapter(); + + public DriverData CreateDriverData() { - throw new NotImplementedException(); + return _driverDataAdapter.CreateDriverData(); } public virtual VehicleData CreateVehicleData(IVehicleDeclarationInputData vehicle, Segment segment, diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/SerialHybrid.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/SerialHybrid.cs new file mode 100644 index 0000000000000000000000000000000000000000..a5361f26d6bd040e2401fdefd3ec8f5fdc410394 --- /dev/null +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/SerialHybrid.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Declaration; +using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.Models.SimulationComponent; +using TUGraz.VectoCore.Models.SimulationComponent.Data; + +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry +{ + public partial class DeclarationDataAdapterHeavyLorry + { + public abstract class SerialHybrid : LorryBase { } + + public class HEV_S2 : SerialHybrid + { + } + + + + + public class HEV_S_IEPC : SerialHybrid + { + + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs index e5c788adb136e9673042149e53d199f3a774cd50..646604ee60f301cf65f54a78ea73f27fa82a1d69 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs @@ -17,16 +17,23 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { AxleGearData CreateAxleGearData(IAxleGearInputData axlegearData); AngledriveData CreateAngledriveData(IAngledriveInputData angledriveData); CombustionEngineData CreateEngineData(IVehicleDeclarationInputData vehicle, IEngineModeDeclarationInputData engineMode, Mission mission); - GearboxData CreateGearboxData( IVehicleDeclarationInputData inputData, VectoRunData runData, IShiftPolygonCalculator shiftPolygonCalc); - ShiftStrategyParameters CreateGearshiftData(GearboxData gbx, double axleRatio, PerSecond engineIdlingSpeed); - RetarderData CreateRetarderData(IRetarderInputData retarderData); PTOData CreatePTOTransmissionData(IPTOTransmissionInputData ptoData); IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxData, IBusAuxiliariesDeclarationData busAuxData, MissionType missionType, VehicleClass vehicleClass, Meter vehicleLength, int? numSteeredAxles); AxleGearData CreateDummyAxleGearData(IGearboxDeclarationInputData gbxData); } + + public interface IGenericCompletedBusDataAdapter : IDeclarationDataAdapter + { + + } + + public interface ISpecificCompletedBusDataAdapter : IDeclarationDataAdapter + { + + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/PrimaryBus/DeclarationDataAdapterPrimaryBus.cs similarity index 86% rename from VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs rename to VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/PrimaryBus/DeclarationDataAdapterPrimaryBus.cs index 373c7c44c700bdbaf8c1e6240eb9550f1952cd6f..d709fc41b23c430cb7ce949a2e05d41161424ec3 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/PrimaryBus/DeclarationDataAdapterPrimaryBus.cs @@ -7,28 +7,29 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; -using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponents; using TUGraz.VectoCore.Models.BusAuxiliaries; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.Models.SimulationComponent; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Utils; -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus { public class DeclarationDataAdapterPrimaryBus : HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional { #region Overrides of DeclarationDataAdapterHeavyLorry - public override DriverData CreateDriverData() - { - var retVal = base.CreateDriverData(); - retVal.LookAheadCoasting.Enabled = true; - return retVal; - } + //public override DriverData CreateDriverData() + //{ + // var retVal = base.CreateDriverData(); + // retVal.LookAheadCoasting.Enabled = true; + // return retVal; + //} public override VehicleData CreateVehicleData(IVehicleDeclarationInputData data, Segment segment, Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational) @@ -477,7 +478,158 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter StopBrakeActuation = Constants.BusAuxiliaries.PneumaticConsumersDemands.StopBrakeActuation, }; } - } + + + public abstract class PrimaryBusBase : IDeclarationDataAdapter + { + #region Implementation of IDeclarationDataAdapter + + private readonly IDriverDataAdapter _driverDataAdapter = new PrimaryBusDriverDataAdapter(); + public DriverData CreateDriverData() + { + return _driverDataAdapter.CreateDriverData(); + } + + public VehicleData CreateVehicleData(IVehicleDeclarationInputData vehicle, Segment segment, Mission mission, + KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational) + { + throw new NotImplementedException(); + } + + public AirdragData CreateAirdragData(IAirdragDeclarationInputData airdragData, Mission mission, Segment segment) + { + throw new NotImplementedException(); + } + + public AxleGearData CreateAxleGearData(IAxleGearInputData axlegearData) + { + throw new NotImplementedException(); + } + + public AngledriveData CreateAngledriveData(IAngledriveInputData angledriveData) + { + throw new NotImplementedException(); + } + + public CombustionEngineData CreateEngineData(IVehicleDeclarationInputData vehicle, IEngineModeDeclarationInputData engineMode, + Mission mission) + { + throw new NotImplementedException(); + } + + public GearboxData CreateGearboxData(IVehicleDeclarationInputData inputData, VectoRunData runData, + IShiftPolygonCalculator shiftPolygonCalc) + { + throw new NotImplementedException(); + } + + public ShiftStrategyParameters CreateGearshiftData(GearboxData gbx, double axleRatio, PerSecond engineIdlingSpeed) + { + throw new NotImplementedException(); + } + + public RetarderData CreateRetarderData(IRetarderInputData retarderData) + { + throw new NotImplementedException(); + } + + public PTOData CreatePTOTransmissionData(IPTOTransmissionInputData ptoData) + { + throw new NotImplementedException(); + } + + public IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxData, IBusAuxiliariesDeclarationData busAuxData, + MissionType missionType, VehicleClass vehicleClass, Meter vehicleLength, int? numSteeredAxles) + { + throw new NotImplementedException(); + } + + public AxleGearData CreateDummyAxleGearData(IGearboxDeclarationInputData gbxData) + { + throw new NotImplementedException(); + } + + #endregion + } + + public class Conventional : PrimaryBusBase + { + + } + + public class HEV_S2 : PrimaryBusBase + { + + } + + public class HEV_S3 : PrimaryBusBase + { + + } + + public class HEV_S4 : PrimaryBusBase + { + + } + + public class HEV_S_IEPC : PrimaryBusBase + { + + } + + public class HEV_P1 : PrimaryBusBase + { + + } + + public class HEV_P2 : PrimaryBusBase + { + + } + + public class HEV_P2_5 : PrimaryBusBase + { + + } + + public class HEV_P3 : PrimaryBusBase + { + + } + + public class HEV_P4 : PrimaryBusBase + { + + } + + public class PEV_E2 : PrimaryBusBase + { + + } + + public class PEV_E3 : PrimaryBusBase + { + + } + + + public class PEV_E4 : PrimaryBusBase + { + + } + + + public class PEV_E_IEPC : PrimaryBusBase + { + + } + + + public class Exempted : PrimaryBusBase + { + + } + } public class ElectricConsumerEntry { diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/DriverDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/DriverDataAdapter.cs new file mode 100644 index 0000000000000000000000000000000000000000..fc526f584254f819a1f9f3be488f267ad7181255 --- /dev/null +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/DriverDataAdapter.cs @@ -0,0 +1,121 @@ +using TUGraz.VectoCore.Models.Declaration; +using TUGraz.VectoCore.Models.SimulationComponent.Data; + +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponents +{ + + public interface IDriverDataAdapter + { + DriverData CreateDriverData(); + } + internal abstract class DriverDataAdapter : IDriverDataAdapter + { + protected DriverDataAdapter() { } + + #region Implementation of IDriverDataAdapter + + + + public virtual DriverData CreateDriverData() + { + var lookAheadData = new DriverData.LACData + { + Enabled = DeclarationData.Driver.LookAhead.Enabled, + + //Deceleration = DeclarationData.Driver.LookAhead.Deceleration, + MinSpeed = DeclarationData.Driver.LookAhead.MinimumSpeed, + LookAheadDecisionFactor = new LACDecisionFactor(), + LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor, + }; + var overspeedData = new DriverData.OverSpeedData + { + Enabled = true, + MinSpeed = DeclarationData.Driver.OverSpeed.MinSpeed, + OverSpeed = DeclarationData.Driver.OverSpeed.AllowedOverSpeed, + }; + + var retVal = new DriverData + { + LookAheadCoasting = lookAheadData, + OverSpeed = overspeedData, + EngineStopStart = new DriverData.EngineStopStartData() + { + EngineOffStandStillActivationDelay = DeclarationData.Driver.EngineStopStart.ActivationDelay, + MaxEngineOffTimespan = DeclarationData.Driver.EngineStopStart.MaxEngineOffTimespan, + UtilityFactorStandstill = DeclarationData.Driver.EngineStopStart.UtilityFactor, + UtilityFactorDriving = DeclarationData.Driver.EngineStopStart.UtilityFactor, + }, + EcoRoll = new DriverData.EcoRollData() + { + UnderspeedThreshold = DeclarationData.Driver.EcoRoll.UnderspeedThreshold, + MinSpeed = DeclarationData.Driver.EcoRoll.MinSpeed, + ActivationPhaseDuration = DeclarationData.Driver.EcoRoll.ActivationDelay, + AccelerationLowerLimit = DeclarationData.Driver.EcoRoll.AccelerationLowerLimit, + AccelerationUpperLimit = DeclarationData.Driver.EcoRoll.AccelerationUpperLimit, + }, + PCC = new DriverData.PCCData() + { + PCCEnableSpeed = DeclarationData.Driver.PCC.PCCEnableSpeed, + MinSpeed = DeclarationData.Driver.PCC.MinSpeed, + PreviewDistanceUseCase1 = DeclarationData.Driver.PCC.PreviewDistanceUseCase1, + PreviewDistanceUseCase2 = DeclarationData.Driver.PCC.PreviewDistanceUseCase2, + UnderSpeed = DeclarationData.Driver.PCC.Underspeed, + OverspeedUseCase3 = DeclarationData.Driver.PCC.OverspeedUseCase3 + } + }; + return retVal; + } + #endregion + + } + + internal sealed class LorryDriverDataAdapter : DriverDataAdapter + { + + #region Overrides of DriverDataAdapter + + public override DriverData CreateDriverData() + { + return base.CreateDriverData(); + } + + #endregion + } + + internal sealed class PrimaryBusDriverDataAdapter : DriverDataAdapter + { + #region Overrides of DriverDataAdapter + + public override DriverData CreateDriverData() + { + var retVal = base.CreateDriverData(); + retVal.LookAheadCoasting.Enabled = true; + return retVal; + } + + #endregion + } + + internal sealed class CompletedBusGenericDriverDataAdapter : DriverDataAdapter + { + public override DriverData CreateDriverData() + { + var retVal = base.CreateDriverData(); + retVal.LookAheadCoasting.Enabled = false; + retVal.OverSpeed.Enabled = false; + return retVal; + } + } + + internal sealed class CompletedBusSpecificDriverDataAdapter : DriverDataAdapter + { + public override DriverData CreateDriverData() + { + var retVal = base.CreateDriverData(); + retVal.LookAheadCoasting.Enabled = false; + retVal.OverSpeed.Enabled = false; + return retVal; + } + } +} + diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/CompletedBusRunDataFactory/DeclarationModeCompletedBusRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/CompletedBusRunDataFactory/DeclarationModeCompletedBusRunDataFactory.cs new file mode 100644 index 0000000000000000000000000000000000000000..0b0a945eddb7d2525b8c073d9819806e352e83da --- /dev/null +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/CompletedBusRunDataFactory/DeclarationModeCompletedBusRunDataFactory.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.OutputData; + +namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.CompletedBusRunDataFactory +{ + public abstract class DeclarationModeCompletedBusRunDataFactory + { + public abstract class CompletedBusBase : IVectoRunDataFactory + { + public IDeclarationDataAdapter GenericDataAdapter { get; } + public IDeclarationDataAdapter SpecificDataAdapter { get; } + public IMultistageVIFInputData DataProvider { get; } + + public CompletedBusBase(IMultistageVIFInputData dataProvider, + ISpecificCompletedBusDataAdapter specificDataAdapter, + IGenericCompletedBusDataAdapter genericDataAdapter) + { + SpecificDataAdapter = specificDataAdapter; + GenericDataAdapter = genericDataAdapter; + DataProvider = dataProvider; + } + + + + #region Implementation of IVectoRunDataFactory + public IEnumerable<VectoRunData> NextRun() + { + throw new NotImplementedException(); + } + + #endregion + } + + + public class Conventional : + CompletedBusBase + { + public Conventional(IMultistageVIFInputData dataProvider, + ISpecificCompletedBusDataAdapter specificDataAdapter, + IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, + genericDataAdapter) { } + } + public class HEV_S2 : CompletedBusBase + { + public HEV_S2(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class HEV_S3 : CompletedBusBase + { + public HEV_S3(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class HEV_S4 : CompletedBusBase + { + public HEV_S4(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class HEV_S_IEPC : CompletedBusBase + { + public HEV_S_IEPC(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class HEV_P1 : CompletedBusBase + { + public HEV_P1(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class HEV_P2 : CompletedBusBase + { + public HEV_P2(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class HEV_P2_5 : CompletedBusBase + { + public HEV_P2_5(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class HEV_P3 : CompletedBusBase + { + public HEV_P3(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class HEV_P4 : CompletedBusBase + { + public HEV_P4(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class PEV_E1 : CompletedBusBase + { + public PEV_E1(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class PEV_E2 : CompletedBusBase + { + public PEV_E2(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class PEV_E3 : CompletedBusBase + { + public PEV_E3(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class PEV_E4 : CompletedBusBase + { + public PEV_E4(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + public class PEV_E_IEPC : CompletedBusBase + { + public PEV_E_IEPC(IMultistageVIFInputData dataProvider, ISpecificCompletedBusDataAdapter specificDataAdapter, IGenericCompletedBusDataAdapter genericDataAdapter) : base(dataProvider, specificDataAdapter, genericDataAdapter) { } + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs index cf845914d1196ac8b1f665e33f1e1e39ba327881..6064bab6e3e6956bb927c82578ee38e061aa062c 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs @@ -27,10 +27,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa { public abstract class LorryBase : IVectoRunDataFactory { - public IDeclarationDataAdapter DataAdapter { get; } public IDeclarationInputDataProvider InputDataProvider { get; } - public IDeclarationReport Report { get; } protected Segment _segment; diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/MediumLorryRunDataFactory/DeclarationModeMediumLorryRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/MediumLorryRunDataFactory/DeclarationModeMediumLorryRunDataFactory.cs new file mode 100644 index 0000000000000000000000000000000000000000..b255429f7803558c82e85ca4db9c6e7daedf3962 --- /dev/null +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/MediumLorryRunDataFactory/DeclarationModeMediumLorryRunDataFactory.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; +using TUGraz.VectoCore.Models.Simulation.Data; + +namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.MediumLorryRunDataFactory +{ + internal abstract class DeclarationModeMediumLorryRunDataFactory + { + public abstract class MediumLorryBase : IVectoRunDataFactory + { + #region Implementation of IVectoRunDataFactory + + public IEnumerable<VectoRunData> NextRun() + { + throw new NotImplementedException(); + } + + #endregion + } + + public class Conventional : MediumLorryBase + { + + } + + public class HEV_S2 : MediumLorryBase + { + + } + + public class HEV_S3 : MediumLorryBase + { + + } + + + public class HEV_S4 : MediumLorryBase + { + + } + + + + + } +} diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/PrimaryBusRunDataFactory/DeclarationModePrimaryBusRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/PrimaryBusRunDataFactory/DeclarationModePrimaryBusRunDataFactory.cs new file mode 100644 index 0000000000000000000000000000000000000000..1a868c744b566b6cb4883a52522d3fef76fa5ee6 --- /dev/null +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/PrimaryBusRunDataFactory/DeclarationModePrimaryBusRunDataFactory.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.OutputData; + +namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.PrimaryBusRunDataFactory +{ + public abstract class DeclarationModePrimaryBusRunDataFactory + { + + + public abstract class PrimaryBusBase : IVectoRunDataFactory + { + #region Implementation of IVectoRunDataFactory + + public IDeclarationDataAdapter DataAdapter { get; } + public IDeclarationInputDataProvider DataProvider { get; } + + public IDeclarationReport Report { get; } + + protected PrimaryBusBase(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, + IDeclarationDataAdapter declarationDataAdapter) + { + DataAdapter = declarationDataAdapter; + DataProvider = dataProvider; + Report = report; + } + + + + public IEnumerable<VectoRunData> NextRun() + { + throw new NotImplementedException(); + } + + #endregion + } + + public class Conventional : PrimaryBusBase + { + public Conventional(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, + IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class HEV_S2 : PrimaryBusBase + { + public HEV_S2(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, + IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class HEV_S3 : PrimaryBusBase + { + public HEV_S3(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, + IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class HEV_S4 : PrimaryBusBase + { + public HEV_S4(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class HEV_S_IEPC : PrimaryBusBase + { + public HEV_S_IEPC(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class HEV_P1 : PrimaryBusBase + { + public HEV_P1(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class HEV_P2 : PrimaryBusBase + { + public HEV_P2(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class HEV_P2_5 : PrimaryBusBase + { + public HEV_P2_5(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class HEV_P3 : PrimaryBusBase + { + public HEV_P3(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class HEV_P4 : PrimaryBusBase + { + public HEV_P4(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + + public class PEV_E2 : PrimaryBusBase + { + public PEV_E2(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class PEV_E3 : PrimaryBusBase + { + public PEV_E3(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class PEV_E4 : PrimaryBusBase + { + public PEV_E4(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class PEV_E_IEPC : PrimaryBusBase + { + public PEV_E_IEPC(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + + public class Exempted : PrimaryBusBase + { + public Exempted(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs index 7b28e518daebb83df3a2ae3278d39c7e10de3199..df3cbb3b3c317561fbabaad7ebc4efd0601c515e 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs @@ -293,37 +293,4 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl } - - - public abstract class DeclarationModeCompletedBusRunDataFactory - { - public abstract class CompletedBusBase : IVectoRunDataFactory - { - #region Implementation of IVectoRunDataFactory - - public IEnumerable<VectoRunData> NextRun() - { - throw new NotImplementedException(); - } - - #endregion - } - - - public class Conventional : CompletedBusBase { } - public class HEV_S2 : CompletedBusBase { } - public class HEV_S3 : CompletedBusBase { } - public class HEV_S4 : CompletedBusBase { } - public class HEV_S_IEPC : CompletedBusBase { } - public class HEV_P1 : CompletedBusBase { } - public class HEV_P2 : CompletedBusBase { } - public class HEV_P2_5 : CompletedBusBase { } - public class HEV_P3 : CompletedBusBase { } - public class HEV_P4 : CompletedBusBase { } - public class PEV_E1 : CompletedBusBase { } - public class PEV_E2 : CompletedBusBase { } - public class PEV_E3 : CompletedBusBase { } - public class PEV_E4 : CompletedBusBase { } - public class PEV_E_IEPC : CompletedBusBase { } - } } diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModePrimaryBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModePrimaryBusVectoRunDataFactory.cs index 85dd67222381be6f71e6def32c310805a4d8ff8c..2e6dc575bdc02a5a1f18b6b0c9634c08a4d426cb 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModePrimaryBusVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModePrimaryBusVectoRunDataFactory.cs @@ -7,6 +7,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; @@ -173,96 +174,5 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl mission, InputDataProvider.JobInputData.Vehicle, simulationRunData); return simulationRunData; } - - - - } - - - - public abstract class DeclarationModePrimaryBusRunDataFactory - { - public abstract class PrimaryBusBase : IVectoRunDataFactory - { - #region Implementation of IVectoRunDataFactory - - public IEnumerable<VectoRunData> NextRun() - { - throw new NotImplementedException(); - } - - #endregion - } - - public class Conventional : PrimaryBusBase - { - - } - - public class HEV_S2 : PrimaryBusBase - { - - } - - public class HEV_S3 : PrimaryBusBase - { - - } - - public class HEV_S4 : PrimaryBusBase - { - - } - - public class HEV_S_IEPC : PrimaryBusBase - { - - } - - public class HEV_P1 : PrimaryBusBase - { - - } - - public class HEV_P2 : PrimaryBusBase - { - - } - - public class HEV_P2_5 : PrimaryBusBase - { - - } - - public class HEV_P3 : PrimaryBusBase - { - - } - - public class HEV_P4 : PrimaryBusBase - { - - } - - - public class PEV_E2 : PrimaryBusBase - { - - } - - public class PEV_E3 : PrimaryBusBase - { - - } - - public class PEV_E4 : PrimaryBusBase - { - - } - - public class PEV_E_IEPC : PrimaryBusBase - { - - } } } diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs index d5662ca8144f2dd37018f852bd8a29891dc4b52b..e426f5a3507798143992da9f46c8bcfb900ec1ac 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs @@ -9,6 +9,7 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs b/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs index a1aabcb7d591c1382dc94c73d2fd9d020bcb1e1a..85c94131687f7ce9071615736a27dbf4a9428ac0 100644 --- a/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs +++ b/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs @@ -8,7 +8,9 @@ using Ninject.Modules; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData.Reader.Impl; +using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.CompletedBusRunDataFactory; using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDataFactory; +using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.PrimaryBusRunDataFactory; using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.Utils.Ninject; @@ -173,6 +175,9 @@ namespace TUGraz.VectoCore.InputData.Reader Bind<IVectoRunDataFactory>().To<DeclarationModePrimaryBusRunDataFactory.PEV_E_IEPC>().Named( _vehicleStringHelper.GetName(VehicleCategoryHelper.PrimaryBus, VectoSimulationJobType.BatteryElectricVehicle, ArchitectureID.E_IEPC)); + + Bind<IVectoRunDataFactory>().To<DeclarationModePrimaryBusRunDataFactory.Exempted>().Named( + _vehicleStringHelper.GetName(VehicleCategoryHelper.PrimaryBus, true)); #endregion diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs index 155594684b752ca571b0464513953e7cdd6a60f3..e8fd9298b615fd8e9d22c75d1c5dfe24f67c5215 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs @@ -17,6 +17,7 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index 03aa0b455d9a33f2519fa07baf44f77e3370af97..65670ee07e3d8c4f1b90c57bf99fb05db23697fc 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -132,4 +132,9 @@ </EmbeddedResource> </ItemGroup> + <ItemGroup> + <Folder Include="InputData\Reader\DataObjectAdapter\CompletedBus\Generic\" /> + <Folder Include="InputData\Reader\DataObjectAdapter\SimulationComponents\" /> + </ItemGroup> + </Project> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs b/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs index c41ed30d97086f13d83e1240056f9b097feb7955..f38a4d8a337c27983831039d67a45b86814b7167 100644 --- a/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs +++ b/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs @@ -12,9 +12,14 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData; using TUGraz.VectoCore.InputData.Reader; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.CompletedBus.Generic; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.CompletedBus.Specific; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; using TUGraz.VectoCore.InputData.Reader.Impl; +using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.CompletedBusRunDataFactory; using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDataFactory; +using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.PrimaryBusRunDataFactory; namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory { @@ -45,7 +50,8 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory } - private void CreateRunDataFactory(Mock inputMock, Type expectedRunDataType, Type expectedDeclarationDataAdapterType = null) + private IVectoRunDataFactory CreateRunDataFactory(Mock inputMock, Type expectedRunDataType, + Type expectedDeclarationDataAdapterType = null) { var s = inputMock.Object; var result = _runDataFactoryFactory.CreateDeclarationRunDataFactory((IInputDataProvider)inputMock.Object, null, @@ -53,8 +59,25 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory Assert.IsTrue(result.GetType() == expectedRunDataType, $"Invalid type of RunDataFactory! Expected {expectedRunDataType} got {result.GetType()}"); if (expectedDeclarationDataAdapterType != null) { dynamic concreteResult = result; - Assert.IsTrue(concreteResult.DeclarationDataAdapter.GetType() == expectedDeclarationDataAdapterType, $"Invalid type of DeclarationDataAdapter! Expected {expectedDeclarationDataAdapterType} got {concreteResult.DeclarationDataAdapter.GetType()}"); + Assert.IsTrue(concreteResult.DataAdapter.GetType() == expectedDeclarationDataAdapterType, $"Invalid type of DeclarationDataAdapter! Expected {expectedDeclarationDataAdapterType} got {concreteResult.DataAdapter.GetType()}"); } + + return result; + } + + private void CheckCompletedBusAdapters(IVectoRunDataFactory runDataResult, Type genericDataAdapter, + Type specificDataAdapter) + { + + var genericPropertyInfo = runDataResult.GetType().GetProperty(nameof(DeclarationModeCompletedBusRunDataFactory.CompletedBusBase.GenericDataAdapter)); + var generic = genericPropertyInfo.GetValue(runDataResult, null); + + + var specificPropertyInfo = runDataResult.GetType().GetProperty(nameof(DeclarationModeCompletedBusRunDataFactory.CompletedBusBase.SpecificDataAdapter)); + var specific = specificPropertyInfo.GetValue(runDataResult, null); + + Assert.AreEqual(genericDataAdapter, generic.GetType()); + Assert.AreEqual(specificDataAdapter, specific.GetType()); } #region HeavyLorry @@ -197,13 +220,16 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory } - [TestCase()] - public void Exempted_HeavyLorryTest(Type expectedDataAdapter = null) + [Test] + public void Exempted_HeavyLorryTest([Values]ArchitectureID architectureId, [Values]VectoSimulationJobType simType) { var input = new Mock<IDeclarationInputDataProvider>() .Exempted() .Lorry(); - CreateRunDataFactory(input, typeof(DeclarationModeHeavyLorryRunDataFactory.Exempted), expectedDataAdapter); + + input.Setup(m => m.JobInputData.JobType).Returns(simType); + input.Setup(m => m.JobInputData.Vehicle.ArchitectureID).Returns(architectureId); + CreateRunDataFactory(input, typeof(DeclarationModeHeavyLorryRunDataFactory.Exempted), null); } @@ -211,264 +237,379 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory #endregion HeavyLorry #region PrimaryBus [TestCase()] - public void ConventionalPrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.Conventional))] + public void ConventionalPrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .Conventional() .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.Conventional)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.Conventional), expectedDataAdapter); } [TestCase()] - public void HEV_S2_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.HEV_S2))] + public void HEV_S2_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .HEV(ArchitectureID.S2) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S2)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S2), expectedDataAdapter); } [TestCase()] - public void HEV_S3_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.HEV_S3))] + public void HEV_S3_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .HEV(ArchitectureID.S3) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S3)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S3), expectedDataAdapter); } [TestCase()] - public void HEV_S4_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.HEV_S4))] + public void HEV_S4_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .HEV(ArchitectureID.S4) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S4)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S4), expectedDataAdapter); } [TestCase()] - public void HEV_S_IEPC_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.HEV_S_IEPC))] + public void HEV_S_IEPC_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .HEV(ArchitectureID.S_IEPC) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S_IEPC)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S_IEPC), expectedDataAdapter); } [TestCase()] - public void HEV_P1_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.HEV_P1))] + public void HEV_P1_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .HEV(ArchitectureID.P1) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P1)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P1), expectedDataAdapter); } [TestCase()] - public void HEV_P2_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.HEV_P2))] + public void HEV_P2_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() - .HEV(ArchitectureID.S2) + .HEV(ArchitectureID.P2) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S2)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P2), expectedDataAdapter); } [TestCase()] - public void HEV_P2_5_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.HEV_P2_5))] + public void HEV_P2_5_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .HEV(ArchitectureID.P2_5) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P2_5)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P2_5), expectedDataAdapter); } [TestCase()] - public void HEV_P3_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.HEV_P3))] + public void HEV_P3_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .HEV(ArchitectureID.P3) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P3)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P3), expectedDataAdapter); } [TestCase()] - public void HEV_P4_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.HEV_P4))] + public void HEV_P4_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .HEV(ArchitectureID.P4) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P4)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P4), expectedDataAdapter); } [TestCase()] - public void PEV_E2_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.PEV_E2))] + public void PEV_E2_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .PEV(ArchitectureID.E2) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.PEV_E2)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.PEV_E2), expectedDataAdapter); } [TestCase()] - public void PEV_E3_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.PEV_E3))] + public void PEV_E3_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .PEV(ArchitectureID.E3) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.PEV_E3)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.PEV_E3), expectedDataAdapter); } [TestCase()] - public void PEV_E4_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.PEV_E4))] + public void PEV_E4_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .PEV(ArchitectureID.E4) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.PEV_E4)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.PEV_E4), expectedDataAdapter); } [TestCase()] - public void PEV_E_IEPC_PrimaryBus() + [TestCase(typeof(DeclarationDataAdapterPrimaryBus.PEV_E_IEPC))] + public void PEV_E_IEPC_PrimaryBus(Type expectedDataAdapter = null) { var input = new Mock<IDeclarationInputDataProvider>() .PEV(ArchitectureID.E_IEPC) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.PEV_E_IEPC)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.PEV_E_IEPC), expectedDataAdapter); } + + [Test] + public void Exempted_PrimaryBusTest([Values] ArchitectureID architectureId, [Values] VectoSimulationJobType simType) + { + var input = new Mock<IDeclarationInputDataProvider>() + .Exempted() + .PrimaryBus(); + + input.Setup(m => m.JobInputData.JobType).Returns(simType); + input.Setup(m => m.JobInputData.Vehicle.ArchitectureID).Returns(architectureId); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.Exempted), null); + + } + + #endregion PrimaryBus - #region CompletedBus + #region CompletedBus [TestCase()] - public void ConventionalCompletedBus() + [TestCase(true)] + public void ConventionalCompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .Conventional() .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.Conventional)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.Conventional)); + if(checkCompletedBusAdapters){ + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.Conventional), + typeof(DeclarationDataAdapterSpecificCompletedBus.Conventional)); + } + } [TestCase()] - public void HEV_S2_CompletedBus() + [TestCase(true)] + public void HEV_S2_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .HEV(ArchitectureID.S2) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_S2)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_S2)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.HEV_S2), + typeof(DeclarationDataAdapterSpecificCompletedBus.HEV_S2)); + } + } [TestCase()] - public void HEV_S3_CompletedBus() + [TestCase(true)] + public void HEV_S3_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .HEV(ArchitectureID.S3) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_S3)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_S3)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.HEV_S3), + typeof(DeclarationDataAdapterSpecificCompletedBus.HEV_S3)); + } } [TestCase()] - public void HEV_S4_CompletedBus() + [TestCase(true)] + public void HEV_S4_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .HEV(ArchitectureID.S4) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_S4)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_S4)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.HEV_S4), + typeof(DeclarationDataAdapterSpecificCompletedBus.HEV_S4)); + } } [TestCase()] - public void HEV_S_IEPC_CompletedBus() + [TestCase(true)] + public void HEV_S_IEPC_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .HEV(ArchitectureID.S_IEPC) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_S_IEPC)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_S_IEPC)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.HEV_S_IEPC), + typeof(DeclarationDataAdapterSpecificCompletedBus.HEV_S_IEPC)); + } } [TestCase()] - public void HEV_P1_CompletedBus() + [TestCase(true)] + public void HEV_P1_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .HEV(ArchitectureID.P1) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_P1)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_P1)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.HEV_P1), + typeof(DeclarationDataAdapterSpecificCompletedBus.HEV_P1)); + } } [TestCase()] - public void HEV_P2_CompletedBus() + [TestCase(true)] + public void HEV_P2_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .HEV(ArchitectureID.S2) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_S2)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_P2)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.HEV_P2), + typeof(DeclarationDataAdapterSpecificCompletedBus.HEV_P2)); + } } [TestCase()] - public void HEV_P3_CompletedBus() + [TestCase(true)] + public void HEV_P3_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .HEV(ArchitectureID.P3) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_P3)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_P3)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.HEV_P3), + typeof(DeclarationDataAdapterSpecificCompletedBus.HEV_P3)); + } } [TestCase()] - public void HEV_P2_5_CompletedBus() + [TestCase(true)] + public void HEV_P2_5_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .HEV(ArchitectureID.P2_5) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_P2_5)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_P2_5)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.HEV_P2_5), + typeof(DeclarationDataAdapterSpecificCompletedBus.HEV_P2_5)); + } } [TestCase()] - public void HEV_P4_CompletedBus() + [TestCase(true)] + public void HEV_P4_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .HEV(ArchitectureID.P4) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_P4)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.HEV_P4)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.HEV_P4), + typeof(DeclarationDataAdapterSpecificCompletedBus.HEV_P4)); + } } [TestCase()] - public void PEV_E2_CompletedBus() + [TestCase(true)] + public void PEV_E2_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .PEV(ArchitectureID.E2) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.PEV_E2)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.PEV_E2)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.PEV_E2), + typeof(DeclarationDataAdapterSpecificCompletedBus.PEV_E2)); + } } [TestCase()] - public void PEV_E3_CompletedBus() + [TestCase(true)] + public void PEV_E3_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .PEV(ArchitectureID.E3) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.PEV_E3)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.PEV_E3)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.PEV_E3), + typeof(DeclarationDataAdapterSpecificCompletedBus.PEV_E3)); + } } [TestCase()] - public void PEV_E4_CompletedBus() + [TestCase(true)] + public void PEV_E4_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .PEV(ArchitectureID.E4) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.PEV_E4)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.PEV_E4)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.PEV_E4), + typeof(DeclarationDataAdapterSpecificCompletedBus.PEV_E4)); + } } [TestCase()] - public void PEV_E_IEPC_CompletedBus() + [TestCase(true)] + public void PEV_E_IEPC_CompletedBus(bool checkCompletedBusAdapters = false) { var input = new Mock<IMultistageVIFInputData>() .PEV(ArchitectureID.E_IEPC) .CompletedBus(); - CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.PEV_E_IEPC)); + var fact = CreateRunDataFactory(input, typeof(DeclarationModeCompletedBusRunDataFactory.PEV_E_IEPC)); + if (checkCompletedBusAdapters) + { + CheckCompletedBusAdapters(fact, typeof(DeclarationDataAdapterGenericCompletedBus.PEV_E_IEPC), + typeof(DeclarationDataAdapterSpecificCompletedBus.PEV_E_IEPC)); + } + } #endregion CompletedBus } diff --git a/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs b/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs index 0dbc656f2cd038a38be872715789ae68e9e4bc9e..9018b6bc2fe7cfecb697ee3e20855c60b44cd8a3 100644 --- a/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs +++ b/VectoCore/VectoCoreTest/Models/EngineeringMode/EngineeringModeBusAuxTest.cs @@ -15,6 +15,7 @@ using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; using TUGraz.VectoCore.InputData.Reader.Impl; using TUGraz.VectoCore.Models.BusAuxiliaries; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics;