Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

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

added more tests for busAuxAdapter (behavior dependent on drivingbehavior),...

added more tests for busAuxAdapter (behavior dependent on drivingbehavior), refactoring auxDemandTest
parent 8b8a59ee
No related branches found
No related tags found
No related merge requests found
......@@ -181,6 +181,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
Auxiliaries.Signals.ClutchEngaged = DataBus.ClutchClosed(absTime);
Auxiliaries.Signals.EngineDrivelinePower = (float)(torquePowerTrain * angularSpeed / 1000).Value();
Auxiliaries.Signals.EngineDrivelineTorque = (float)torquePowerTrain.Value();
Auxiliaries.Signals.Internal_Engine_Power =
(float)((torqueEngine * angularSpeed - DataBus.BrakePower) / 1000).Value();
if (DataBus.DrivingBehavior == DrivingBehavior.Coasting) {
// make sure smart aux are _not_ enabled for now
// set internal_engine_power a little bit lower so there is no excessive power for smart aux
......
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NUnit.Framework;
using TUGraz.VectoCore.Models.Simulation.Data;
using TUGraz.VectoCore.Models.Simulation.DataBus;
using TUGraz.VectoCore.Models.Simulation.Impl;
using TUGraz.VectoCore.Models.SimulationComponent.Data;
using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
......@@ -21,26 +22,8 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
public void AuxDemandtest(double vehicleWeight, double engineSpeedRpm, double driveLinePower, double internalPower,
double expectedPowerDemand)
{
var auxFilePath = @"TestData\Integration\BusAuxiliaries\AdvAuxTest.aaux";
var engineFLDFilePath = @"TestData\Integration\BusAuxiliaries\24t Coach.vfld";
var engineFCMapFilePath = @"TestData\Integration\BusAuxiliaries\24t Coach.vmap";
var vehicle = new VehicleContainer();
var fcMap = FuelConsumptionMap.ReadFromFile(engineFCMapFilePath);
var fld = EngineFullLoadCurve.ReadFromFile(engineFLDFilePath);
var modelData = new CombustionEngineData() {
ConsumptionMap = fcMap,
FullLoadCurve = fld,
IdleSpeed = 560.SI<PerSecond>()
};
var engine = new CombustionEngine(vehicle, modelData);
//new Vehicle(vehicle, new VehicleData());
var driver = new MockDriver(vehicle) { VehicleStopped = false };
var gbx = new MockGearbox(vehicle) { Gear = 1 };
var busAux = new BusAuxiliariesAdapter(vehicle, auxFilePath, "Coach", vehicleWeight.SI<Kilogram>(),
fcMap, modelData.IdleSpeed);
MockDriver driver;
var busAux = CreateBusAuxAdapterForTesting(vehicleWeight, out driver);
var engineDrivelinePower = (driveLinePower * 1000).SI<Watt>();
......@@ -53,6 +36,7 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
Assert.AreEqual(expectedPowerDemand, (torque * engineSpeed).Value(), 1e-4);
}
[Test]
public void AuxFCConsumptionTest()
{
......@@ -60,28 +44,8 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
var engineSpeedRpm = 1256;
var internalPower = 148;
var auxFilePath = @"TestData\Integration\BusAuxiliaries\AdvAuxTest.aaux";
var engineFLDFilePath = @"TestData\Integration\BusAuxiliaries\24t Coach.vfld";
var engineFCMapFilePath = @"TestData\Integration\BusAuxiliaries\24t Coach.vmap";
var vehicle = new VehicleContainer();
var fcMap = FuelConsumptionMap.ReadFromFile(engineFCMapFilePath);
var fld = EngineFullLoadCurve.ReadFromFile(engineFLDFilePath);
var modelData = new CombustionEngineData() {
ConsumptionMap = fcMap,
FullLoadCurve = fld,
IdleSpeed = 560.SI<PerSecond>()
};
var engine = new CombustionEngine(vehicle, modelData);
//new Vehicle(vehicle, new VehicleData());
var driver = new MockDriver(vehicle) { VehicleStopped = false };
var gbx = new MockGearbox(vehicle) { Gear = 1 };
var busAux = new BusAuxiliariesAdapter(vehicle, auxFilePath, "Coach", 12000.SI<Kilogram>(),
fcMap, modelData.IdleSpeed);
MockDriver driver;
var busAux = CreateBusAuxAdapterForTesting(12000, out driver);
var engineDrivelinePower = (driveLinePower * 1000).SI<Watt>();
var engineSpeed = engineSpeedRpm.RPMtoRad();
......@@ -122,5 +86,31 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
Assert.AreEqual(162.4655, ((SI)modalData[ModalResultField.AA_TotalCycleFC_Grams]).Value(), 0.0001);
}
public static BusAuxiliariesAdapter CreateBusAuxAdapterForTesting(double vehicleWeight, out MockDriver driver)
{
var auxFilePath = @"TestData\Integration\BusAuxiliaries\AdvAuxTest.aaux";
var engineFLDFilePath = @"TestData\Integration\BusAuxiliaries\24t Coach.vfld";
var engineFCMapFilePath = @"TestData\Integration\BusAuxiliaries\24t Coach.vmap";
var vehicle = new VehicleContainer();
var fcMap = FuelConsumptionMap.ReadFromFile(engineFCMapFilePath);
var fld = EngineFullLoadCurve.ReadFromFile(engineFLDFilePath);
var modelData = new CombustionEngineData() {
ConsumptionMap = fcMap,
FullLoadCurve = fld,
IdleSpeed = 560.SI<PerSecond>()
};
var engine = new CombustionEngine(vehicle, modelData);
//new Vehicle(vehicle, new VehicleData());
driver = new MockDriver(vehicle) { VehicleStopped = false, DrivingBehavior = DrivingBehavior.Braking };
var gbx = new MockGearbox(vehicle) { Gear = 1 };
var brakes = new MockBrakes(vehicle);
var busAux = new BusAuxiliariesAdapter(vehicle, auxFilePath, "Coach", vehicleWeight.SI<Kilogram>(),
fcMap, modelData.IdleSpeed);
return busAux;
}
}
}
\ No newline at end of file
using TUGraz.VectoCore.Models.Simulation;
using TUGraz.VectoCore.Models.Simulation.Impl;
using TUGraz.VectoCore.Models.SimulationComponent;
using TUGraz.VectoCore.OutputData;
using TUGraz.VectoCore.Utils;
namespace TUGraz.VectoCore.Tests.Utils
{
public class MockBrakes : VectoSimulationComponent, IBrakes
{
public MockBrakes(IVehicleContainer vehicle) : base(vehicle)
{
BrakePower = 0.SI<Watt>();
}
public Watt BrakePower { get; set; }
protected override void DoWriteModalResults(IModalDataContainer container) {}
protected override void DoCommitSimulationStep() {}
}
}
\ No newline at end of file
......@@ -48,7 +48,10 @@ namespace TUGraz.VectoCore.Tests.Utils
public RequestData LastRequest;
public MockDriver(IVehicleContainer container) : base(container) {}
public MockDriver(IVehicleContainer container) : base(container)
{
DrivingBehavior = DrivingBehavior.Accelerating;
}
protected override void DoWriteModalResults(IModalDataContainer container) {}
......@@ -116,9 +119,6 @@ namespace TUGraz.VectoCore.Tests.Utils
public bool VehicleStopped { get; set; }
public DrivingBehavior DrivingBehavior
{
get { return DrivingBehavior.Accelerating; }
}
public DrivingBehavior DrivingBehavior { get; set; }
}
}
\ No newline at end of file
......@@ -78,6 +78,7 @@
<Compile Include="FileIO\SimulationDataReaderTest.cs" />
<Compile Include="GraphProgram.cs" />
<Compile Include="Integration\BusAuxiliaries\AuxDemandTest.cs" />
<Compile Include="Integration\BusAuxiliaries\BusAdapterTest.cs" />
<Compile Include="Integration\BusAuxiliaries\SimpleCycleTest.cs" />
<Compile Include="Integration\CoachAdvancedAuxPowertrain.cs" />
<Compile Include="Integration\CoachPowerTrain.cs" />
......@@ -101,6 +102,7 @@
<Compile Include="Integration\Truck40tPowerTrain.cs" />
<Compile Include="Models\SimulationComponent\GearboxPowertrainTest.cs" />
<Compile Include="Utils\InputDataHelper.cs" />
<Compile Include="Utils\MockBrakes.cs" />
<Compile Include="Utils\MockEngineDataProvider.cs" />
<Compile Include="Utils\MockSimulationDataFactory.cs" />
<Compile Include="Utils\MockVairVehicleContainer.cs" />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment