From d87339ea7d93a76ebfeeb3fd291683912bdc6ebf Mon Sep 17 00:00:00 2001 From: "Burns, Terry" <Terry.Burns@ricardo.com> Date: Thu, 16 Oct 2014 15:58:05 +0000 Subject: [PATCH] Signals Refactored Into M05,M1,M4,M5 git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C1641 --- .../IM0_NonSmart_AlternatorsSetEfficiency.vb | 2 +- .../M0_5_SmartAlternatorSetEfficiency.vb | 19 +++++++------ .../M0_NonSmart_AlternatorsSetEfficiency.vb | 16 +++++------ .../M2_AverageElectricalLoadDemand.vb | 2 +- .../M5__SmartAlternatorSetGeneration.vb | 6 ++--- .../Pneumatics/IM4_AirCompressor.vb | 8 +++--- .../Pneumatics/M4_AirCompressor.vb | 27 ++++++++++--------- .../UnitTests/AirCompressorTests.vb | 23 +++++++++++----- .../M0_5_SmartAlternatorSetEfficiencyTests.vb | 20 +++++++++----- ..._NonSmart_AlternatorsSetEfficiencyTests.vb | 22 ++++++++------- .../M2_AverageElectricalLoadTests.vb | 9 ++++++- .../M5_SmartAlternatorSetGenerationTests.vb | 13 ++++++--- 12 files changed, 103 insertions(+), 64 deletions(-) diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IM0_NonSmart_AlternatorsSetEfficiency.vb b/VECTOAux/VectoAuxiliaries/Electrics/IM0_NonSmart_AlternatorsSetEfficiency.vb index 30fdaec43b..cdfee90efc 100644 --- a/VECTOAux/VectoAuxiliaries/Electrics/IM0_NonSmart_AlternatorsSetEfficiency.vb +++ b/VECTOAux/VectoAuxiliaries/Electrics/IM0_NonSmart_AlternatorsSetEfficiency.vb @@ -2,7 +2,7 @@ Function GetHVACElectricalPowerDemandAmps() As Single - Function GetEfficiency(crankRPM As Integer) As Single + Function GetEfficiency() As Single End Interface diff --git a/VECTOAux/VectoAuxiliaries/Electrics/M0_5_SmartAlternatorSetEfficiency.vb b/VECTOAux/VectoAuxiliaries/Electrics/M0_5_SmartAlternatorSetEfficiency.vb index 23e34474fc..0cb5aa5774 100644 --- a/VECTOAux/VectoAuxiliaries/Electrics/M0_5_SmartAlternatorSetEfficiency.vb +++ b/VECTOAux/VectoAuxiliaries/Electrics/M0_5_SmartAlternatorSetEfficiency.vb @@ -10,6 +10,7 @@ Private _alternatorMap As IAlternatorMap Private _resultCardIdle As IResultCard Private _resultCardTraction As IResultCard Private _resultCardOverrun As IResultCard +Private _signals As ISignals @@ -19,9 +20,9 @@ Public Function SmartIdleCurrent() As single end Function -Public Function AlternatorsEfficiencyIdleResultCard(ByVal rpm As integer ) As single +Public Function AlternatorsEfficiencyIdleResultCard( ) As single - Return _alternatorMap.GetEfficiency(rpm, SmartIdleCurrent()).Efficiency + Return _alternatorMap.GetEfficiency(_signals.EngineSpeed, SmartIdleCurrent()).Efficiency End Function @@ -33,9 +34,9 @@ Public function SmartTractionCurrent As Single End Function -Public Function AlternatorsEfficiencyTractionOnResultCard(ByVal rpm As integer ) As Single +Public Function AlternatorsEfficiencyTractionOnResultCard() As Single - Return _alternatorMap.GetEfficiency(rpm, SmartTractionCurrent()).Efficiency + Return _alternatorMap.GetEfficiency(_signals.EngineSpeed, SmartTractionCurrent()).Efficiency End Function @@ -46,9 +47,9 @@ Public Function SmartOverrunCurrent As Single End Function -Public Function AlternatorsEfficiencyOverrunResultCard(ByVal rpm As integer) As single +Public Function AlternatorsEfficiencyOverrunResultCard() As single - Return _alternatorMap.GetEfficiency(rpm, SmartOverrunCurrent()).Efficiency + Return _alternatorMap.GetEfficiency(_signals.EngineSpeed, SmartOverrunCurrent()).Efficiency End Function @@ -64,7 +65,8 @@ Public Sub new ( m0 As IM0_NonSmart_AlternatorsSetEfficiency, _ alternatorMap As IAlternatorMap, _ resultCardIdle As IResultCard, _ resultCardTraction As IResultCard, _ - resultCardOverrun As IResultCard) + resultCardOverrun As IResultCard, + signals As ISignals) 'Sanity Check on supplied arguments, throw an argument exception If m0 is Nothing then Throw New ArgumentException("Module 0 must be supplied") @@ -73,7 +75,7 @@ Public Sub new ( m0 As IM0_NonSmart_AlternatorsSetEfficiency, _ if resultCardIdle is nothing then throw new ArgumentException("Result Card 'IDLE' must be supplied even if it has no contents") if resultCardTraction is nothing then throw new ArgumentException("Result Card 'TRACTION' must be supplied even if it has no contents") if resultCardOverrun is nothing then throw new ArgumentException("Result Card 'OVERRUN' must be supplied even if it has no contents") - + If signals is Nothing then Throw New ArgumentException("No Signals Reference object was provided ") 'Assignments to private variables. _m0=m0 @@ -82,6 +84,7 @@ Public Sub new ( m0 As IM0_NonSmart_AlternatorsSetEfficiency, _ _resultCardIdle = resultCardIdle _resultCardTraction = resultCardTraction _resultCardOverrun = resultCardOverrun + _signals = signals End Sub diff --git a/VECTOAux/VectoAuxiliaries/Electrics/M0_NonSmart_AlternatorsSetEfficiency.vb b/VECTOAux/VectoAuxiliaries/Electrics/M0_NonSmart_AlternatorsSetEfficiency.vb index 7fa0e84fc0..1abf28ab80 100644 --- a/VECTOAux/VectoAuxiliaries/Electrics/M0_NonSmart_AlternatorsSetEfficiency.vb +++ b/VECTOAux/VectoAuxiliaries/Electrics/M0_NonSmart_AlternatorsSetEfficiency.vb @@ -8,21 +8,20 @@ Public Class M0_NonSmart_AlternatorsSetEfficiency Private _electricalConsumersList As IElectricalConsumerList Private _hvacInputs As IHVACInputs - Private _alternatorEfficiencyMap As IAlternatorMap - Private _hvacMap As IHVACMap - Private _powernetVoltage As Single + Private _signals As ISignals - Public Sub New(electricalConsumers As IElectricalConsumerList, hvacInputs As IHVACInputs, hvacMap As IHVACMap, alternatorEfficiencyMap As IAlternatorMap, powernetVoltage As Single) + Public Sub New(electricalConsumers As IElectricalConsumerList, hvacInputs As IHVACInputs, hvacMap As IHVACMap, alternatorEfficiencyMap As IAlternatorMap, powernetVoltage As Single, signals As ISignals) If electricalConsumers Is Nothing Then Throw New ArgumentException("No ElectricalConsumersList Supplied") If hvacInputs Is Nothing Then Throw New ArgumentException("No hvac inputs supplied") If hvacMap Is Nothing Then Throw New ArgumentException("No HVAC Map supplied") If alternatorEfficiencyMap Is Nothing Then Throw New ArgumentException("No Alternator Efficiency Map Supplied") If (powernetVoltage < ElectricConstants.PowenetVoltageMin Or powernetVoltage > ElectricConstants.PowenetVoltageMax) Then Throw New ArgumentException("Powernet Voltage out of range") + If signals is Nothing then Throw New ArgumentException("No Signals reference was supplied.") Me._electricalConsumersList = electricalConsumers Me._hvacInputs = hvacInputs @@ -30,23 +29,24 @@ Public Class M0_NonSmart_AlternatorsSetEfficiency Me._alternatorEfficiencyMap = alternatorEfficiencyMap Me._hvacMap = hvacMap Me._powernetVoltage = powernetVoltage + Me._signals = signals End Sub - Public Function GetEfficiency(crankRPM As Integer) As Single Implements IM0_NonSmart_AlternatorsSetEfficiency.GetEfficiency + Public Function GetEfficiency() As Single Implements IM0_NonSmart_AlternatorsSetEfficiency.GetEfficiency 'Sanity Check. - If crankRPM < 1 Then Throw New ArgumentException("CrankRMP must be greater than zero") + If _signals.EngineSpeed < 1 Then Throw New ArgumentException("CrankRPM must be greater than zero") - Dim rotationalSpeed As Single = crankRPM + Dim rotationalSpeed As Single = _signals.EngineSpeed Dim currentHVACDemandAmps As Single = _hvacMap.GetElectricalDemand(_hvacInputs.Region, _hvacInputs.Season) Dim currentElectricalConsumerDemandAmp As Single = _electricalConsumersList.GetTotalAverageDemandAmps(True) Dim totalDemandAmps As Single = currentHVACDemandAmps + currentElectricalConsumerDemandAmp - Return _alternatorEfficiencyMap.GetEfficiency(crankRPM, totalDemandAmps).Efficiency + Return _alternatorEfficiencyMap.GetEfficiency(_signals.EngineSpeed, totalDemandAmps).Efficiency End Function diff --git a/VECTOAux/VectoAuxiliaries/Electrics/M2_AverageElectricalLoadDemand.vb b/VECTOAux/VectoAuxiliaries/Electrics/M2_AverageElectricalLoadDemand.vb index f6eb7e13a4..05fbdeb838 100644 --- a/VECTOAux/VectoAuxiliaries/Electrics/M2_AverageElectricalLoadDemand.vb +++ b/VECTOAux/VectoAuxiliaries/Electrics/M2_AverageElectricalLoadDemand.vb @@ -39,7 +39,7 @@ Public Function GetAveragePowerAtCrank(ByVal engineRpm As Integer) As Single Dim ElectricalPowerDemandsWatts As Single = GetAveragePowerDemandAtAlternator() * _powerNetVoltage - Dim alternatorsEfficiency As Single = _module0.GetEfficiency(engineRpm) + Dim alternatorsEfficiency As Single = _module0.GetEfficiency() Dim ElectricalPowerDemandsWattsDividedByAlternatorEfficiency as Single = ElectricalPowerDemandsWatts / alternatorsEfficiency Dim averagePowerDemandAtCrankFromElectricsWatts As Single diff --git a/VECTOAux/VectoAuxiliaries/Electrics/M5__SmartAlternatorSetGeneration.vb b/VECTOAux/VectoAuxiliaries/Electrics/M5__SmartAlternatorSetGeneration.vb index ed96428b8c..ca9bf7a254 100644 --- a/VECTOAux/VectoAuxiliaries/Electrics/M5__SmartAlternatorSetGeneration.vb +++ b/VECTOAux/VectoAuxiliaries/Electrics/M5__SmartAlternatorSetGeneration.vb @@ -26,19 +26,19 @@ Private _alternatorGearEfficiency As single Public Function AlternatorsGenerationPowerAtCrankIdleWatts(rpm As Integer) As Single Implements IM5_SmartAlternatorSetGeneration.AlternatorsGenerationPowerAtCrankIdleWatts - Return (_m05.SmartIdleCurrent() * _powerNetVoltage) / ( _m05.AlternatorsEfficiencyIdleResultCard(rpm) * _alternatorGearEfficiency) + Return (_m05.SmartIdleCurrent() * _powerNetVoltage) / ( _m05.AlternatorsEfficiencyIdleResultCard() * _alternatorGearEfficiency) End Function Public Function AlternatorsGenerationPowerAtCrankOverrunWatts(rpm As Integer) As Single Implements IM5_SmartAlternatorSetGeneration.AlternatorsGenerationPowerAtCrankOverrunWatts - Return (_m05.SmartOverrunCurrent() * _powerNetVoltage) / ( _m05.AlternatorsEfficiencyOverrunResultCard(rpm) * _alternatorGearEfficiency) + Return (_m05.SmartOverrunCurrent() * _powerNetVoltage) / ( _m05.AlternatorsEfficiencyOverrunResultCard() * _alternatorGearEfficiency) End Function Public Function AlternatorsGenerationPowerAtCrankTractionOnWatts(rpm As Integer) As Single Implements IM5_SmartAlternatorSetGeneration.AlternatorsGenerationPowerAtCrankTractionOnWatts - Return (_m05.SmartTractionCurrent() * _powerNetVoltage) / ( _m05.AlternatorsEfficiencyTractionOnResultCard(rpm) * _alternatorGearEfficiency) + Return (_m05.SmartTractionCurrent() * _powerNetVoltage) / ( _m05.AlternatorsEfficiencyTractionOnResultCard() * _alternatorGearEfficiency) End Function diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/IM4_AirCompressor.vb b/VECTOAux/VectoAuxiliaries/Pneumatics/IM4_AirCompressor.vb index 8f612993d9..c408d25b19 100644 --- a/VECTOAux/VectoAuxiliaries/Pneumatics/IM4_AirCompressor.vb +++ b/VECTOAux/VectoAuxiliaries/Pneumatics/IM4_AirCompressor.vb @@ -29,7 +29,7 @@ ''' <param name="engineRpm">Engine speed in rpm</param> ''' <returns></returns> ''' <remarks></remarks> - Function GetFlowRate(ByVal engineRpm As Integer) As Single + Function GetFlowRate() As Single ''' <summary> ''' Returns the power consumed for the given engine rpm when compressor is off @@ -37,7 +37,7 @@ ''' <param name="engineRpm">Engine speed in rpm</param> ''' <returns></returns> ''' <remarks></remarks> - Function GetPowerCompressorOff(ByVal engineRpm As Integer) As Single + Function GetPowerCompressorOff() As Single ''' <summary> ''' Returns the power consumed for the given engine rpm when compressor is on @@ -45,7 +45,7 @@ ''' <param name="engineRpm">Engine speed in rpm</param> ''' <returns></returns> ''' <remarks></remarks> - Function GetPowerCompressorOn(ByVal engineRpm As Integer) As Single + Function GetPowerCompressorOn() As Single ''' <summary> ''' Returns the difference in power between compressonr on and compressor off operation at the given engine rpm @@ -53,7 +53,7 @@ ''' <param name="engineRpm">Engine speed in rpm</param> ''' <returns></returns> ''' <remarks></remarks> - Function GetPowerDifference(ByVal engineRpm As Integer) As Single + Function GetPowerDifference() As Single ''' <summary> ''' Returns Average PoweDemand PeCompressor UnitFlowRate diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/M4_AirCompressor.vb b/VECTOAux/VectoAuxiliaries/Pneumatics/M4_AirCompressor.vb index 2beded94c9..fe28680f06 100644 --- a/VECTOAux/VectoAuxiliaries/Pneumatics/M4_AirCompressor.vb +++ b/VECTOAux/VectoAuxiliaries/Pneumatics/M4_AirCompressor.vb @@ -13,6 +13,8 @@ Namespace Pneumatics Private _pulleyGearEfficiency As Single Private _map As ICompressorMap + Private _signals As ISignals + ''' <summary> ''' Ratio of Gear or Pulley used to drive the compressor ''' </summary> @@ -56,8 +58,9 @@ Namespace Pneumatics ''' </summary> ''' <param name="map">map of compressor values against compressor rpm</param> ''' <remarks></remarks> - Public Sub New(ByVal map As ICompressorMap) + Public Sub New(ByVal map As ICompressorMap, signals As ISignals) _map = map + _signals = signals End Sub ''' <summary> @@ -99,8 +102,8 @@ Namespace Pneumatics ''' <param name="engineRpm">Engine speed in rpm</param> ''' <returns></returns> ''' <remarks></remarks> - Public Function GetFlowRate(ByVal engineRpm As Integer) As Single Implements IM4_AirCompressor.GetFlowRate - Dim compressorRpm As Single = engineRpm * PulleyGearRatio + Public Function GetFlowRate() As Single Implements IM4_AirCompressor.GetFlowRate + Dim compressorRpm As Single = _signals.EngineSpeed * PulleyGearRatio Return _map.GetFlowRate(compressorRpm) End Function @@ -110,8 +113,8 @@ Namespace Pneumatics ''' <param name="engineRpm">Engine speed in rpm</param> ''' <returns></returns> ''' <remarks></remarks> - Public Function GetPowerCompressorOff(ByVal engineRpm As Integer) As Single Implements IM4_AirCompressor.GetPowerCompressorOff - Return GetCompressorPower(engineRpm, False) + Public Function GetPowerCompressorOff() As Single Implements IM4_AirCompressor.GetPowerCompressorOff + Return GetCompressorPower(False) End Function ''' <summary> @@ -120,8 +123,8 @@ Namespace Pneumatics ''' <param name="engineRpm">Engine speed in rpm</param> ''' <returns></returns> ''' <remarks></remarks> - Public Function GetPowerCompressorOn(ByVal engineRpm As Integer) As Single Implements IM4_AirCompressor.GetPowerCompressorOn - Return GetCompressorPower(engineRpm, True) + Public Function GetPowerCompressorOn() As Single Implements IM4_AirCompressor.GetPowerCompressorOn + Return GetCompressorPower( True) End Function ''' <summary> @@ -130,9 +133,9 @@ Namespace Pneumatics ''' <param name="engineRpm">Engine speed in rpm</param> ''' <returns></returns> ''' <remarks></remarks> - Public Function GetPowerDifference(ByVal engineRpm As Integer) As Single Implements IM4_AirCompressor.GetPowerDifference - Dim powerOn As Single = GetPowerCompressorOn(engineRpm) - Dim powerOff As Single = GetPowerCompressorOff(engineRpm) + Public Function GetPowerDifference() As Single Implements IM4_AirCompressor.GetPowerDifference + Dim powerOn As Single = GetPowerCompressorOn() + Dim powerOff As Single = GetPowerCompressorOff() Return powerOn - powerOff End Function @@ -143,8 +146,8 @@ Namespace Pneumatics ''' <param name="compressorOn">Is compressor on</param> ''' <returns></returns> ''' <remarks></remarks> - Private Function GetCompressorPower(ByVal engineRpm As Integer, ByVal compressorOn As Boolean) As Single - Dim compressorRpm As Single = engineRpm * PulleyGearRatio + Private Function GetCompressorPower( ByVal compressorOn As Boolean) As Single + Dim compressorRpm As Single = _signals.EngineSpeed * PulleyGearRatio If compressorOn Then Return _map.GetPowerCompressorOn(compressorRpm) Else diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/AirCompressorTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/AirCompressorTests.vb index 770b2eecc8..7d7b9b7216 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/AirCompressorTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/AirCompressorTests.vb @@ -1,6 +1,8 @@ Imports NUnit.Framework Imports VectoAuxiliaries.Pneumatics Imports VectoAuxiliariesTests.Mocks +Imports VectoAuxiliaries + Namespace UnitTests @@ -17,6 +19,10 @@ Namespace UnitTests #End Region + +Private _signals As ISignals = New Signals + + #Region "Factory Methods" Private Function GetNonFailingCompressorMapMock() As ICompressorMap @@ -37,7 +43,8 @@ Namespace UnitTests <Test()> Public Sub CreateNewJustPathTest() Dim map As ICompressorMap = GetNonFailingCompressorMapMock() - Dim target As M4_AirCompressor = New M4_AirCompressor(map) + _signals.EngineSpeed=100 + Dim target As M4_AirCompressor = New M4_AirCompressor(map,_signals) Assert.IsNotNull(target) End Sub @@ -52,14 +59,16 @@ Namespace UnitTests <Test()> Public Sub InitialiseTest() Dim map As ICompressorMap = GetNonFailingCompressorMapMock() - Dim target As M4_AirCompressor = New M4_AirCompressor(map) + _signals.EngineSpeed=100 + Dim target As M4_AirCompressor = New M4_AirCompressor(map,_signals) Assert.IsTrue(target.Initialise()) End Sub <Test(), ExpectedException("System.ArgumentException")> Public Sub InitialiseInvalidMapTest() Dim map As ICompressorMap = GetFailingCompressorMapMock() - Dim target As M4_AirCompressor = New M4_AirCompressor(map) + _signals.EngineSpeed=100 + Dim target As M4_AirCompressor = New M4_AirCompressor(map,_signals) target.Initialise() End Sub @@ -116,7 +125,7 @@ Namespace UnitTests Public Sub GetCompressorFlowRateTest() Dim comp As M4_AirCompressor = GetGoodCompressor() Dim expected As Single = 2.0 - Dim actual = comp.GetFlowRate(100) + Dim actual = comp.GetFlowRate() Assert.AreEqual(expected, actual) End Sub @@ -124,7 +133,7 @@ Namespace UnitTests Public Sub GetPowerCompressorOffTest() Dim comp As M4_AirCompressor = GetGoodCompressor() Dim expected As Single = 5.0 - Dim actual = comp.GetPowerCompressorOff(100) + Dim actual = comp.GetPowerCompressorOff() Assert.AreEqual(expected, actual) End Sub @@ -133,7 +142,7 @@ Namespace UnitTests Public Sub GetPowerCompressorOnTest() Dim comp As M4_AirCompressor = GetGoodCompressor() Dim expected As Single = 8.0 - Dim actual = comp.GetPowerCompressorOn(100) + Dim actual = comp.GetPowerCompressorOn() Assert.AreEqual(expected, actual) End Sub @@ -142,7 +151,7 @@ Namespace UnitTests Public Sub GetPowerDifferenceTest() Dim comp As M4_AirCompressor = GetGoodCompressor() Dim expected As Single = 3.0 - Dim actual = comp.GetPowerDifference(100) + Dim actual = comp.GetPowerDifference() Assert.AreEqual(expected, actual) End Sub diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb index 28db98ebf6..066b101986 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb @@ -1,5 +1,6 @@ Imports VectoAuxiliaries.Electrics Imports VectoAuxiliaries.Hvac +Imports VectoAuxiliaries Imports NUnit.Framework Namespace UnitTests @@ -7,8 +8,8 @@ Namespace UnitTests <TestFixture()> Public Class M0_5_SmartAlternatorSetEfficiencyTests - Private target As M0_5_SmartAlternatorSetEfficiency +Private signals = New Signals Public Sub new() @@ -24,7 +25,11 @@ Dim hvacMap As New HVACMap("testFiles\TestHvacMap.csv") hvacMap.Initialise() Dim alternatoMap As New AlternatorMap("testFiles\testAlternatormap.csv") alternatoMap.Initialise() -Dim m0 As New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers,hvacInputs,hvacMap,alternatoMap,26.3) + +Dim signals = New Signals() +signals.EngineSpeed=2000 + +Dim m0 As New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers,hvacInputs,hvacMap,alternatoMap,26.3,signals) 'Results Cards Dim readings = new Dictionary(Of single, single) @@ -35,10 +40,11 @@ Dim idleResult As New ResultCard(readings) Dim tractionResult As New ResultCard(readings) Dim overrunResult As New ResultCard(readings) -target = New M0_5_SmartAlternatorSetEfficiency(m0,elecConsumers,alternatoMap,idleResult,tractionResult,overrunResult) -End Sub + signals.EngineSpeed=2000 + target = New M0_5_SmartAlternatorSetEfficiency(m0,elecConsumers,alternatoMap,idleResult,tractionResult,overrunResult, signals) +End Sub <Test()> _ Public Sub CreateNewTest() @@ -69,7 +75,7 @@ Public Sub AlternatorsEfficiencyIdle2000rpmTest() Initialise() Dim expected As Single = 0.618566155 - Dim actual As Single = target.AlternatorsEfficiencyIdleResultCard(2000) + Dim actual As Single = target.AlternatorsEfficiencyIdleResultCard() Assert.AreEqual(expected, actual) @@ -82,7 +88,7 @@ Public Sub AlternatorsEfficiencyTraction2000rpmTest() Initialise() Dim expected As Single = 0.618566155 - Dim actual As Single = target.AlternatorsEfficiencyTractionOnResultCard(2000) + Dim actual As Single = target.AlternatorsEfficiencyTractionOnResultCard() Assert.AreEqual(expected, actual) @@ -94,7 +100,7 @@ Public Sub AlternatorsEfficiencyOverrun2000rpmTest() Initialise() Dim expected As Single = 0.618566155 - Dim actual As Single = target.AlternatorsEfficiencyOverrunResultCard(2000) + Dim actual As Single = target.AlternatorsEfficiencyOverrunResultCard() Assert.AreEqual(expected, actual) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb index 524bbbf6f1..a588d17ea8 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb @@ -1,4 +1,5 @@ Imports NUnit.Framework +Imports VectoAuxiliaries Imports VectoAuxiliaries.Pneumatics Imports VectoAuxiliariesTests.Mocks Imports VectoAuxiliaries.Electrics @@ -19,13 +20,16 @@ Private elecConsumers As IElectricalConsumerList Private hvacInputs As IHVACInputs Private hvacMap As IHVACMap Private alternatorMap As IAlternatorMap - +Private signals As Signals = New Signals Private powernetVoltage As Single = 26.3 Public Sub New() + + signals.EngineSpeed=2000 + 'Setup consumers and HVAC ( 1 Consumer in Test Category ) elecConsumers = CType(New ElectricalConsumerList(0.096,26.3), IElectricalConsumerList) elecConsumers.AddConsumer(New ElectricalConsumer(False, "TEST", "CONSUMER1", 20, 0.5, 26.3, 1)) @@ -45,43 +49,43 @@ End Sub <Test()> Public Sub CreateNewTest() - Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, hvacInputs, hvacMap, alternatorMap, powernetVoltage) + Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, hvacInputs, hvacMap, alternatorMap, powernetVoltage,signals) Assert.IsNotNull(target) End Sub <Test()> <ExpectedException("System.ArgumentException")> Public Sub CreateNew_MissingElecConsumers_ThrowArgumentExceptionTest() - Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(Nothing, hvacInputs, hvacMap, alternatorMap, powernetVoltage) + Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(Nothing, hvacInputs, hvacMap, alternatorMap, powernetVoltage,signals) End Sub <Test()> <ExpectedException("System.ArgumentException")> Public Sub CreateNew_MissingHVACInputs_ThrowArgumentExceptionTest() - Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, Nothing, hvacMap, alternatorMap, powernetVoltage) + Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, Nothing, hvacMap, alternatorMap, powernetVoltage,signals) End Sub <Test()> <ExpectedException("System.ArgumentException")> Public Sub CreateNew_MissingHVACMAP_ThrowArgumentExceptionTest() - Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, hvacInputs, Nothing, alternatorMap, powernetVoltage) + Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, hvacInputs, Nothing, alternatorMap, powernetVoltage,signals) End Sub <Test()> <ExpectedException("System.ArgumentException")> Public Sub CreateNew_MissingAlternatorMap_ThrowArgumentExceptionTest() - Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, hvacInputs, hvacMap, Nothing, powernetVoltage) + Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, hvacInputs, hvacMap, Nothing, powernetVoltage,signals) End Sub <Test()> Public Sub EfficiencyValueTest() - Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, hvacInputs, hvacMap, alternatorMap, powernetVoltage) + Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, hvacInputs, hvacMap, alternatorMap, powernetVoltage,signals) - Dim actual As Single = target.GetEfficiency(2000) + Dim actual As Single = target.GetEfficiency() Dim expected As Single = 0.6375106 @@ -94,7 +98,7 @@ End Sub <Test()> Public Sub HVAC_PowerDemandAmpsTest() - Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, hvacInputs, hvacMap, alternatorMap, powernetVoltage) + Dim target As M0_NonSmart_AlternatorsSetEfficiency = New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, hvacInputs, hvacMap, alternatorMap, powernetVoltage,signals) Dim actual As Single Dim expected As Single = 152.091263F '( HVAC POWER OUTPUT IN KW not Watts ) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb index 73952050ca..5dc9f5bc49 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb @@ -2,26 +2,33 @@ Imports VectoAuxiliaries.Hvac Imports NUnit.Framework Imports VectoAuxiliariesTests.Mocks +imports VectoAuxiliaries Namespace UnitTests <TestFixture()> Public Class M2_AverageElectricalDemandTests + Private signals As ISignals = New Signals + Private Const csngDoorDutyCycleZeroToOne As Single = 0.0963391136801541 + Private Const csngPowernetVoltage As Single = 26.3 #Region "Helpers" Private Function GetAverageElectricalDemandInstance() As M2_AverageElectricalLoadDemand + signals.EngineSpeed=2000 + + Dim consumers As IElectricalConsumerList = CType(New ElectricalConsumerList(26.3,0.096, True), IElectricalConsumerList) Dim hvacInp As IHVACInputs = CType(New HVACInputs(1, 1), IHVACInputs) Dim hvacmap As IHVACMap = CType(New HVACMap("testfiles\TestHvacMap.csv"), IHVACMap) hvacmap.Initialise() Dim altMap As IAlternatorMap = CType(New AlternatorMap("testfiles\testAlternatorMap.csv"), IAlternatorMap) altMap.Initialise() - Dim m0 As New M0_NonSmart_AlternatorsSetEfficiency(consumers, hvacInp, hvacmap, altMap, 26.3) + Dim m0 As New M0_NonSmart_AlternatorsSetEfficiency(consumers, hvacInp, hvacmap, altMap, 26.3,signals) 'Get Consumers. diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb index e5a5a940a1..9d57a70bed 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb @@ -3,6 +3,7 @@ Imports VectoAuxiliaries.Pneumatics Imports VectoAuxiliariesTests.Mocks Imports VectoAuxiliaries.Electrics Imports VectoAuxiliaries.Hvac +Imports VectoAuxiliaries Namespace UnitTests @@ -19,16 +20,19 @@ Private const _altGearPullyEfficiency As Single =0.8 'Private fields Private _m05 As M0_5_SmartAlternatorSetEfficiency Private _target As M5__SmartAlternatorSetGeneration +Private _signals As ISignals = New Signals Private sub Initialise() -Dim elecConsumers As New ElectricalConsumerList(26.3,0.096,True) +_signals.EngineSpeed= 2000 + +Dim elecConsumers As New ElectricalConsumerList(_powerNetVoltage,0.096,True) Dim hvacInputs As New HVACInputs(1,1) Dim hvacMap As New HVACMap(_hvacMap) hvacMap.Initialise() Dim alternatoMap As New AlternatorMap(_altMap) alternatoMap.Initialise() -Dim m0 As New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers,hvacInputs,hvacMap,alternatoMap,_powerNetVoltage) +Dim m0 As New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers,hvacInputs,hvacMap,alternatoMap,_powerNetVoltage,_signals) 'Results Cards Dim readings = new Dictionary(Of single, single) @@ -39,7 +43,10 @@ Dim idleResult As New ResultCard(readings) Dim tractionResult As New ResultCard(readings) Dim overrunResult As New ResultCard(readings) -_m05 = New M0_5_SmartAlternatorSetEfficiency(m0,elecConsumers,alternatoMap,idleResult,tractionResult,overrunResult) +Dim signals As ISignals = New Signals +signals.EngineSpeed=2000 + +_m05 = New M0_5_SmartAlternatorSetEfficiency(m0,elecConsumers,alternatoMap,idleResult,tractionResult,overrunResult,signals) End Sub -- GitLab