diff --git a/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs b/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs index d84384e365b1006a50d318467cddad9c160d0b27..f966466bc147709040cb3bcf519342b9ee3d3766 100644 --- a/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs +++ b/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs @@ -8,7 +8,6 @@ using TUGraz.VectoCore.Models.Connector.Ports.Impl; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; -using TUGraz.VectoCore.Models.SimulationComponent; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; using TUGraz.VectoCore.Models.SimulationComponent.Impl; @@ -50,13 +49,13 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var vehicleContainer = new VehicleContainer(modalWriter, sumWriter); var driver = new Driver(vehicleContainer, driverData); - dynamic tmp = AddComponent(driver, new Vehicle(vehicleContainer, vehicleData)); - tmp = AddComponent(tmp, new Wheels(vehicleContainer, vehicleData.DynamicTyreRadius)); - tmp = AddComponent(tmp, new AxleGear(vehicleContainer, axleGearData)); + dynamic tmp = Port.AddComponent(driver, new Vehicle(vehicleContainer, vehicleData)); + tmp = Port.AddComponent(tmp, new Wheels(vehicleContainer, vehicleData.DynamicTyreRadius)); + tmp = Port.AddComponent(tmp, new AxleGear(vehicleContainer, axleGearData)); - tmp = AddComponent(tmp, new Clutch(vehicleContainer, engineData)); + tmp = Port.AddComponent(tmp, new Clutch(vehicleContainer, engineData)); var engine = new CombustionEngine(vehicleContainer, engineData); - AddComponent(tmp, engine); + Port.AddComponent(tmp, engine); var gbx = new MockGearbox(vehicleContainer); @@ -100,13 +99,13 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var cycle = new DistanceBasedDrivingCycle(vehicleContainer, cycleData); - dynamic tmp = AddComponent(cycle, new Driver(vehicleContainer, driverData)); - tmp = AddComponent(tmp, new Vehicle(vehicleContainer, vehicleData)); - tmp = AddComponent(tmp, new Wheels(vehicleContainer, vehicleData.DynamicTyreRadius)); - tmp = AddComponent(tmp, new Breaks(vehicleContainer)); - tmp = AddComponent(tmp, new AxleGear(vehicleContainer, axleGearData)); - tmp = AddComponent(tmp, new Clutch(vehicleContainer, engineData)); - AddComponent(tmp, new CombustionEngine(vehicleContainer, engineData)); + dynamic tmp = Port.AddComponent(cycle, new Driver(vehicleContainer, driverData)); + tmp = Port.AddComponent(tmp, new Vehicle(vehicleContainer, vehicleData)); + tmp = Port.AddComponent(tmp, new Wheels(vehicleContainer, vehicleData.DynamicTyreRadius)); + tmp = Port.AddComponent(tmp, new Breaks(vehicleContainer)); + tmp = Port.AddComponent(tmp, new AxleGear(vehicleContainer, axleGearData)); + tmp = Port.AddComponent(tmp, new Clutch(vehicleContainer, engineData)); + Port.AddComponent(tmp, new CombustionEngine(vehicleContainer, engineData)); var gbx = new MockGearbox(vehicleContainer); @@ -181,13 +180,13 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var cycle = new DistanceBasedDrivingCycle(vehicleContainer, cycleData); - dynamic tmp = AddComponent(cycle, new Driver(vehicleContainer, driverData)); - tmp = AddComponent(tmp, new Vehicle(vehicleContainer, vehicleData)); - tmp = AddComponent(tmp, new Wheels(vehicleContainer, vehicleData.DynamicTyreRadius)); - tmp = AddComponent(tmp, new Breaks(vehicleContainer)); - tmp = AddComponent(tmp, new AxleGear(vehicleContainer, axleGearData)); - tmp = AddComponent(tmp, new Clutch(vehicleContainer, engineData)); - AddComponent(tmp, new CombustionEngine(vehicleContainer, engineData)); + dynamic tmp = Port.AddComponent(cycle, new Driver(vehicleContainer, driverData)); + tmp = Port.AddComponent(tmp, new Vehicle(vehicleContainer, vehicleData)); + tmp = Port.AddComponent(tmp, new Wheels(vehicleContainer, vehicleData.DynamicTyreRadius)); + tmp = Port.AddComponent(tmp, new Breaks(vehicleContainer)); + tmp = Port.AddComponent(tmp, new AxleGear(vehicleContainer, axleGearData)); + tmp = Port.AddComponent(tmp, new Clutch(vehicleContainer, engineData)); + Port.AddComponent(tmp, new CombustionEngine(vehicleContainer, engineData)); var gbx = new MockGearbox(vehicleContainer); @@ -291,44 +290,5 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns } }; } - - - // ======================== - - protected virtual IDriver AddComponent(IDrivingCycle prev, IDriver next) - { - prev.InPort().Connect(next.OutPort()); - return next; - } - - protected virtual IVehicle AddComponent(IDriver prev, IVehicle next) - { - prev.InPort().Connect(next.OutPort()); - return next; - } - - protected virtual IWheels AddComponent(IFvInProvider prev, IWheels next) - { - prev.InPort().Connect(next.OutPort()); - return next; - } - - - protected virtual ITnOutProvider AddComponent(IWheels prev, ITnOutProvider next) - { - prev.InPort().Connect(next.OutPort()); - return next; - } - - protected virtual IPowerTrainComponent AddComponent(IPowerTrainComponent prev, IPowerTrainComponent next) - { - prev.InPort().Connect(next.OutPort()); - return next; - } - - protected virtual void AddComponent(IPowerTrainComponent prev, ITnOutProvider next) - { - prev.InPort().Connect(next.OutPort()); - } } } \ No newline at end of file diff --git a/VectoCoreTest/Utils/Port.cs b/VectoCoreTest/Utils/Port.cs new file mode 100644 index 0000000000000000000000000000000000000000..1c1b77e620185f9c13f21a4238735ad9f4ce59b2 --- /dev/null +++ b/VectoCoreTest/Utils/Port.cs @@ -0,0 +1,44 @@ +using TUGraz.VectoCore.Models.Connector.Ports; +using TUGraz.VectoCore.Models.SimulationComponent; + +namespace TUGraz.VectoCore.Tests.Utils +{ + public static class Port + { + public static IDriver AddComponent(IDrivingCycle prev, IDriver next) + { + prev.InPort().Connect(next.OutPort()); + return next; + } + + public static IVehicle AddComponent(IDriver prev, IVehicle next) + { + prev.InPort().Connect(next.OutPort()); + return next; + } + + public static IWheels AddComponent(IFvInProvider prev, IWheels next) + { + prev.InPort().Connect(next.OutPort()); + return next; + } + + + public static ITnOutProvider AddComponent(IWheels prev, ITnOutProvider next) + { + prev.InPort().Connect(next.OutPort()); + return next; + } + + public static IPowerTrainComponent AddComponent(IPowerTrainComponent prev, IPowerTrainComponent next) + { + prev.InPort().Connect(next.OutPort()); + return next; + } + + public static void AddComponent(IPowerTrainComponent prev, ITnOutProvider next) + { + prev.InPort().Connect(next.OutPort()); + } + } +} \ No newline at end of file