diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IM0_NonSmart_AlternatorsSetEfficiency.vb b/VECTOAux/VectoAuxiliaries/Electrics/IM0_NonSmart_AlternatorsSetEfficiency.vb index 30fdaec43b8721d6d116828cd2270b5aee31c677..cdfee90efc1f7a9fdc73164781a899652b8eeb25 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 23e34474fcf5f0dd55d8618ce5ea0da7bbe27f00..0cb5aa57744fd0b5872b5db16c259322a1240eb8 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 7fa0e84fc0efbd2a5666fb5d8c93b8e5debeb747..1abf28ab801c7095a295284ce88e1b22aa45ea0f 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 f6eb7e13a4f24b5bd5a53a88d81903ab775dfc04..05fbdeb838a0e69af34e9ea0ff7c617e44556def 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 ed96428b8cc04a5bd29afe4731ec61a72cbc3924..ca9bf7a25456550074e52725ab5b7b45a3662adf 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 8f612993d9d58c6c27a69a39205b89ac4e3a01c7..c408d25b19344f7b5fb987806c870119212c8be1 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 2beded94c94af550d93b5f8c43bd5b24da52565a..fe28680f0626adb32b6161b4b344c8d00d3471c3 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 770b2eecc8beb9a286acb7e599c3ec8fd78eddf6..7d7b9b721690515790c6c2d9e36020da3203a504 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 28db98ebf6a549cf51566cb23af2182968b5b9a3..066b1019861aecd85a841f21df844a3a649cec2a 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 524bbbf6f14756f1b28b6a1d115a931d75d1891c..a588d17ea8f723fb2dab549024c8483cc1866526 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 73952050cac8d6b4460bcf01eadb042956f9cfdb..5dc9f5bc494a45895254963b00760fa3e8b19160 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 e5a5a940a115c77c0e26110363f5b0c5600d1c3e..9d57a70bed6fbb62cd5feb1b3cec20be54d02322 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