Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 4bbec2fc authored by Terry Burns's avatar Terry Burns Committed by Kostis ANAGNOSTOPOULOS
Browse files

ContinuingChangesToModel - Almost Finished Module 0 ( Until next change ).

parent d21453d7
No related branches found
No related tags found
No related merge requests found
Showing
with 353 additions and 82 deletions
......@@ -90,7 +90,7 @@ Namespace Electrics
''' <remarks>rpm must result in alternator rpm values that fall within the alternator efficiency map</remarks>
Public Function GetEfficiency(ByVal engineRpm As Single) As Single Implements IAlternator.GetEfficiency
Dim alternatorspeed As Single = engineRpm * PulleyGearRatio
Dim value As Single = _map.GetEfficiency(alternatorspeed)
Dim value As Single '= _map.GetEfficiency(alternatorspeed)
Return value
End Function
......@@ -101,7 +101,7 @@ Namespace Electrics
''' <remarks></remarks>
Public Function GetMaximumRegenerationPower(ByVal engineRpm As Single) As Single Implements IAlternator.GetMaximumRegenerationPower
Dim alternatorspeed As Single = engineRpm * PulleyGearRatio
Dim value As Single = _map.GetMaximumRegenerationPower(alternatorspeed)
Dim value As Single '= _map.GetMaximumRegenerationPower(alternatorspeed)
Return value
End Function
......
......@@ -7,6 +7,7 @@ Namespace Electrics
''' </summary>
''' <remarks></remarks>
Public Class AlternatorMap
Implements IAlternatorMap
''' <summary>
......@@ -33,7 +34,7 @@ Namespace Electrics
''' </summary>
''' <returns>Boolean - true if map is created successfully</returns>
''' <remarks></remarks>
Public Function Initialise() As Boolean
Public Function Initialise() As Boolean Implements IAlternatorMap.Initialise
If File.Exists(filePath) Then
Using sr As StreamReader = New StreamReader(filePath)
'get array og lines fron csv
......@@ -81,13 +82,13 @@ Namespace Electrics
''' <param name="rpm">alternator rotation speed</param>
''' <returns>Single</returns>
''' <remarks></remarks>
Public Function GetEfficiency(ByVal rpm As Integer, ByVal amps As Integer) As AlternatorMapValues
Public Function GetEfficiency(ByVal rpm As Integer, ByVal amps As Integer) As AlternatorMapValues Implements IAlternatorMap.GetEfficiency
Dim key As New AlternatorMapKey(amps, rpm)
Return GetValueOrInterpolate(key)
End Function
......
......@@ -7,46 +7,53 @@ Public Class AlternatorsEfficiency
Private _electricalConsumersList As IElectricalConsumerList
Private _hvacInputs As IHVACInputs
Private _pulleyGearRatio As Single
Private _alternatorEfficiencyMap As IAlternatorMap
Private _hvacMap As IHVACMap
Private _powernetVoltage As Single
Public Sub New(electricalConsumers As IElectricalConsumerList, hvacInputs As IHVACInputs, hvacMap As IHVACMap, pullyGearRatio As Single, alternatorEfficiencyMap As IAlternatorMap)
Public Sub New(electricalConsumers As IElectricalConsumerList, hvacInputs As IHVACInputs, hvacMap As IHVACMap, alternatorEfficiencyMap As IAlternatorMap, powernetVoltage As Single)
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 pullyGearRatio < 0.6 Or pullyGearRatio > 1 Then Throw New ArgumentException("Pully Gear Efficiency must be between 0.6 and 1")
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")
Me._electricalConsumersList = electricalConsumers
Me._hvacInputs = hvacInputs
Me._pulleyGearRatio = pullyGearRatio
Me._alternatorEfficiencyMap = alternatorEfficiencyMap
Me._hvacMap = hvacMap
Me._powernetVoltage = powernetVoltage
End Sub
Public Function GetEfficiency(crankRPM As Integer, CycleActuationPercentage As Single) As Single
Public Function GetEfficiency(crankRPM As Integer, DoorCycleActuationPercentage As Single) As Single
'Sanity Check.
If crankRPM < 1 Then Throw New ArgumentException("CrankRMP must be greater than zero")
If CycleActuationPercentage < 0 Or CycleActuationPercentage > 1 Then Throw New ArgumentException("CyclyActuationPercentage must be between 0 and 1")
If DoorCycleActuationPercentage < 0 Or DoorCycleActuationPercentage > 1 Then Throw New ArgumentException("DoorCyclyActuationPercentage must be between 0 and 1")
Dim rotationalSpeed As Single = crankRPM * _pulleyGearRatio
Dim rotationalSpeed As Single = crankRPM
Dim currentHVACDemandAmps As Single = _hvacMap.GetElectricalDemand(_hvacInputs.Region, _hvacInputs.Season)
Dim currentElectricalConsumerDemandAmp As Single = _electricalConsumersList.GetTotalAverageDemandAmps(CycleActuationPercentage)
Dim currentElectricalConsumerDemandAmp As Single = _electricalConsumersList.GetTotalAverageDemandAmps(DoorCycleActuationPercentage, True)
Dim totalDemandAmps As Single = currentHVACDemandAmps + currentElectricalConsumerDemandAmp
Return 0 ' TODO: FIX THIS._alternatorEfficiencyMap.
Return _alternatorEfficiencyMap.GetEfficiency(crankRPM, totalDemandAmps).Efficiency
End Function
Public Function GetHVACElectricalPowerDemandAmps() As Single
Return _hvacMap.GetElectricalDemand(_hvacInputs.Region, _hvacInputs.Season) / _powernetVoltage
End Function
End Class
......
Namespace Electrics
Public Class ElectricConstants
'Anticipated Min and Max Allowable values for Powernet, normally 26.3 volts but could be 48 in the future.
Public Const PowenetVoltageMin As Single = 6
Public Const PowenetVoltageMax As Single = 50
'Duty Cycle IE Percentage of use
Public Const PhaseIdleTractionOnMin As Single = 0
Public Const PhaseIdleTractionMax As Single = 1
'Max Min Expected Consumption for a Single Consumer, negative values allowed as bonuses.
Public Const NonminalConsumerConsumptionAmpsMin As Integer = -10
Public Const NominalConsumptionAmpsMax As Integer = 100
End Class
End Namespace
......@@ -7,6 +7,7 @@
Public Class ElectricalConsumer
Implements IElectricalConsumer
'Calculated
Private Property AvgConsumptionAmps As Single Implements IElectricalConsumer.AvgConsumptionAmps
......@@ -21,29 +22,29 @@
Public Function TotalAvgConumptionAmps(Optional PhaseIdle_TractionOnBasedOnCycle As Single = 0.0) As Single Implements IElectricalConsumer.TotalAvgConumptionAmps
'This set means we dont have to add it here.
If BaseVehicle Then Return 0
If ConsumerName = "Doors per Door" Then
Return PhaseIdle_TractionOnBasedOnCycle * NominalConsumptionAmps * NumberInActualVehicle
Else
Return PhaseIdle_TractionOn * NominalConsumptionAmps * NumberInActualVehicle
End If
'
If "Doors per Door" Then
Return PhaseIdle_TractionOnBasedOnCycle * NominalConsumptionAmps * NumberInActualVehicle
Else
Return PhaseIdle_TractionOn * NominalConsumptionAmps * NumberInActualVehicle
End If
End Function
Public Function TotalAvgConsumptionInWatts(Optional PhaseIdle_TractionOnBasedOnCycle As Single = 0.0) As Single Implements Electrics.IElectricalConsumer.TotalAvgConsumptionInWatts
Return TotalAvgConumptionAmps(PhaseIdle_TractionOnBasedOnCycle) * PowerNetVoltage
End Function
Public Sub New(BaseVehicle As Boolean, Category As String, ConsumerName As String, NominalConsumptionAmps As Single, PhaseIdle_TractionOn As Single, PowerNetVoltageas As Single)
Public Sub New(BaseVehicle As Boolean, Category As String, ConsumerName As String, NominalConsumptionAmps As Single, PhaseIdle_TractionOn As Single, PowerNetVoltage As Single, numberInVehicle As Integer)
'Illegal Value Check.
If Category.Trim.Length = 0 Then Throw New ArgumentException("Category Name cannot be empty")
If ConsumerName.Trim.Length = 0 Then Throw New ArgumentException("ConsumerName Name cannot be empty")
If PhaseIdle_TractionOn < 0 Or PhaseIdle_TractionOn > 1 Then Throw New ArgumentException("PhaseIdle_TractionOn must have a value between 0 and 1")
If NominalConsumptionAmps < 0 Or NominalConsumptionAmps > 1 Then Throw New ArgumentException("NominalConsumptionAmps must have a value between 0 and 1")
If PowerNetVoltage < 6 Or PowerNetVoltage > 48 Then Throw New ArgumentException("PowerNetVoltage must have a value between 6 and 48")
If PhaseIdle_TractionOn < ElectricConstants.PhaseIdleTractionOnMin Or PhaseIdle_TractionOn > ElectricConstants.PhaseIdleTractionMax Then Throw New ArgumentException("PhaseIdle_TractionOn must have a value between 0 and 1")
If NominalConsumptionAmps < ElectricConstants.NonminalConsumerConsumptionAmpsMin Or NominalConsumptionAmps > ElectricConstants.NominalConsumptionAmpsMax Then Throw New ArgumentException("NominalConsumptionAmps must have a value between 0 and 100")
If PowerNetVoltage < ElectricConstants.PowenetVoltageMin Or PowerNetVoltage > ElectricConstants.PowenetVoltageMax Then Throw New ArgumentException("PowerNetVoltage must have a value between 6 and 48")
If numberInVehicle < 0 Then Throw New ArgumentException("Cannot have less than 0 consumers in the vehicle")
'Good, now assign.
Me.BaseVehicle = BaseVehicle
......@@ -52,6 +53,7 @@
Me.NominalConsumptionAmps = NominalConsumptionAmps
Me.PhaseIdle_TractionOn = PhaseIdle_TractionOn
Me.PowerNetVoltage = PowerNetVoltage
Me.NumberInActualVehicle = numberInVehicle
End Sub
......
......@@ -44,14 +44,23 @@ Private _items As New Dictionary(Of String, IElectricalConsumer)
End Sub
Public Function GetTotalAverageDemandAmps(doorDutyCyclePercentage? As Single) As Single Implements Electrics.IElectricalConsumerList.GetTotalAverageDemandAmps
Public Function GetTotalAverageDemandAmps(doorDutyCyclePercentage? As Single, excludeOnBase As Boolean) As Single Implements Electrics.IElectricalConsumerList.GetTotalAverageDemandAmps
'Sanity check.
If doorDutyCyclePercentage Is Nothing Or doorDutyCyclePercentage > 1 Or doorDutyCyclePercentage < 0 Then
Throw New ArgumentException("doorDutyCyclePercentage must be between 0 and 1")
End If
Dim Amps As Single = Aggregate item In Items Into Sum(item.Value.TotalAvgConumptionAmps(doorDutyCyclePercentage))
Dim Amps As Single
If excludeOnBase Then
Amps = Aggregate item In Items Where item.Value.BaseVehicle = False Into Sum(item.Value.TotalAvgConumptionAmps(doorDutyCyclePercentage))
Else
Amps = Aggregate item In Items Into Sum(item.Value.TotalAvgConumptionAmps(doorDutyCyclePercentage))
End If
Return Amps
......
Namespace Electrics
Public Interface IAlternatorMap
''' <summary>
''' Initialise the map from supplied csv data
......@@ -13,14 +15,9 @@ Namespace Electrics
''' <param name="rpm">alternator rotation speed</param>
''' <returns>Single</returns>
''' <remarks></remarks>
Function GetEfficiency(rpm As Integer) As Single
Function GetEfficiency(ByVal rpm As Integer, ByVal amps As Integer) As AlternatorMapValues
''' <summary>
''' Returns the alternator Maximum Regeneration Power at given rpm
''' </summary>
''' <param name="rpm">alternator rotation speed</param>
''' <returns>Single</returns>
''' <remarks></remarks>
Function GetMaximumRegenerationPower(rpm As Integer) As Single
End Interface
End Namespace
\ No newline at end of file
......@@ -14,6 +14,7 @@
Function TotalAvgConumptionAmps(Optional PhaseIdle_TractionOnBasedOnCycle As Single = Nothing) As Single
Function TotalAvgConsumptionInWatts(Optional PhaseIdle_TractionOnBasedOnCycle As Single = 0.0) As Single
End Interface
End Namespace
\ No newline at end of file
......@@ -6,7 +6,7 @@ Public Interface IElectricalConsumerList
ReadOnly Property Items As Dictionary(Of String, IElectricalConsumer)
Sub AddConsumer(consumer As IElectricalConsumer)
Sub RemoveConsumer(consumer As IElectricalConsumer)
Function GetTotalAverageDemandAmps(doorDutyCyclePercentage? As Single) As Single
Function GetTotalAverageDemandAmps(doorDutyCyclePercentage? As Single, excludeOnBase As Boolean) As Single
End Interface
......
Public Class HVACInputs

Namespace hvac
Public Class HVACInputs
Implements IHVACInputs
Public Property Region As Integer Implements IHVACInputs.Region
......@@ -19,3 +24,7 @@
End Class
End Namespace
Public Interface IHVACInputs

Namespace hvac
Public Interface IHVACInputs
Property Region As Integer
Property Season As Integer
End Interface
\ No newline at end of file
End Interface
End Namespace
......@@ -72,9 +72,11 @@
<Compile Include="Electrics\AlternatorMapValues.vb" />
<Compile Include="Electrics\AlternatorsEfficiency.vb" />
<Compile Include="Electrics\ElectricalConsumerList.vb" />
<Compile Include="Electrics\HVACInputs.vb" />
<Compile Include="Electrics\ElectricConstants.vb" />
<Compile Include="Hvac\HVACInputs.vb" />
<Compile Include="Electrics\IAlternator.vb" />
<Compile Include="Electrics\IElectricalConsumerList.vb" />
<Compile Include="Electrics\IHVACInputs.vb" />
<Compile Include="Hvac\IHVACInputs.vb" />
<Compile Include="Hvac\HVACMapParameter.vb" />
<Compile Include="Hvac\IHVACMap.vb" />
<Compile Include="Pneumatics\AirCompressor.vb" />
......@@ -86,7 +88,6 @@
<Compile Include="Pneumatics\CompressorMap.vb" />
<Compile Include="Electrics\ElectricalConsumer.vb" />
<Compile Include="Hvac\HVACMap.vb" />
<Compile Include="Electrics\IAlternator.vb" />
<Compile Include="Electrics\IAlternatorMap.vb" />
<Compile Include="Pneumatics\IAirCompressor.vb" />
<Compile Include="Pneumatics\ICompressorMap.vb" />
......
......@@ -19,13 +19,11 @@ Namespace Mocks
End If
End Function
Public Function GetEfficiency(ByVal rpm As Integer) As Single Implements IAlternatorMap.GetEfficiency
Return 0.5
Public Function GetEfficiency(ByVal rpm As Integer, ByVal amps As Integer) As AlternatorMapValues Implements IAlternatorMap.GetEfficiency
Return New AlternatorMapValues()
End Function
Public Function GetMaximumRegenerationPower(ByVal rpm As Integer) As Single Implements IAlternatorMap.GetMaximumRegenerationPower
Return 100
End Function
End Class
End Namespace
......@@ -5,6 +5,7 @@ Namespace Mocks
Public Class ElectricalConsumerMock
Implements IElectricalConsumer
Public Property AvgConsumptionAmps As Single Implements IElectricalConsumer.AvgConsumptionAmps
Public Property BaseVehicle As Boolean Implements IElectricalConsumer.BaseVehicle
......@@ -27,6 +28,13 @@ Namespace Mocks
End Function
Public Function TotalAvgConsumptionInWatts(Optional PhaseIdle_TractionOnBasedOnCycle As Single = 0.0) As Single Implements IElectricalConsumer.TotalAvgConsumptionInWatts
Return 9 * 26.3
End Function
End Class
End Namespace
......@@ -7,7 +7,7 @@ Namespace UnitTests
<TestFixture()>
Public Class AlternatorTests
Public Class AlternatorsRegenTests
#Region "Test Constants"
......
Imports NUnit.Framework
Imports VectoAuxiliaries.Pneumatics
Imports VectoAuxiliariesTests.Mocks
Imports VectoAuxiliaries.Electrics
Imports VectoAuxiliaries.Hvac
Namespace UnitTests
<TestFixture()>
Public Class AlternatorsEfficiencyTests
Private Const cstrAlternatorsEfficiencyMapLocation As String = "tests\testAlternatorMap.csv"
Private Const cstrHVACMapLocation As String = "TestFiles\TestHvacMap.csv"
Private Const cstrAlternatorMap As String = "TestFiles\testAlternatorMap.csv"
Private elecConsumers As IElectricalConsumerList
Private hvacInputs As IHVACInputs
Private hvacMap As IHVACMap
Private alternatorMap As IAlternatorMap
Private powernetVoltage As Single = 26.3
Public Sub New()
'Setup consumers and HVAC ( 1 Consumer in Test Category )
elecConsumers = CType(New ElectricalConsumerList(), IElectricalConsumerList)
elecConsumers.AddConsumer(New ElectricalConsumer(False, "TEST", "CONSUMER1", 20, 0.5, 26.3, 1))
'Setup HVAC
hvacInputs = CType(New HVACInputs(1, 1), IHVACInputs)
hvacMap = CType(New HVACMap(cstrHVACMapLocation), IHVACMap)
hvacMap.Initialise()
'Alternator Map
alternatorMap = CType(New AlternatorMap(cstrAlternatorMap), IAlternatorMap)
alternatorMap.Initialise()
End Sub
<Test()>
Public Sub CreateNewTest()
Dim target As AlternatorsEfficiency = New AlternatorsEfficiency(elecConsumers, hvacInputs, hvacMap, alternatorMap, powernetVoltage)
Assert.IsNotNull(target)
End Sub
<Test()>
<ExpectedException("System.ArgumentException")>
Public Sub CreateNew_MissingElecConsumers_ThrowArgumentExceptionTest()
Dim target As AlternatorsEfficiency = New AlternatorsEfficiency(Nothing, hvacInputs, hvacMap, alternatorMap, powernetVoltage)
End Sub
<Test()>
<ExpectedException("System.ArgumentException")>
Public Sub CreateNew_MissingHVACInputs_ThrowArgumentExceptionTest()
Dim target As AlternatorsEfficiency = New AlternatorsEfficiency(elecConsumers, Nothing, hvacMap, alternatorMap, powernetVoltage)
End Sub
<Test()>
<ExpectedException("System.ArgumentException")>
Public Sub CreateNew_MissingHVACMAP_ThrowArgumentExceptionTest()
Dim target As AlternatorsEfficiency = New AlternatorsEfficiency(elecConsumers, hvacInputs, Nothing, alternatorMap, powernetVoltage)
End Sub
<Test()>
<ExpectedException("System.ArgumentException")>
Public Sub CreateNew_MissingAlternatorMap_ThrowArgumentExceptionTest()
Dim target As AlternatorsEfficiency = New AlternatorsEfficiency(elecConsumers, hvacInputs, hvacMap, Nothing, powernetVoltage)
End Sub
<Test()>
Public Sub EfficiencyValueTest()
Dim target As AlternatorsEfficiency = New AlternatorsEfficiency(elecConsumers, hvacInputs, hvacMap, alternatorMap, powernetVoltage)
Dim actual As Single = target.GetEfficiency(2000, 1)
Dim expected As Single = 0.6375106
Assert.AreEqual(expected, actual)
End Sub
<Test()>
Public Sub HVAC_PowerDemandAmpsTest()
Dim target As AlternatorsEfficiency = New AlternatorsEfficiency(elecConsumers, hvacInputs, hvacMap, alternatorMap, powernetVoltage)
Dim actual As Single
Dim expected As Single = 152.091263F '( HVAC POWER OUTPUT IN KW not Watts )
actual = target.GetHVACElectricalPowerDemandAmps() * 1000
Assert.AreEqual(expected, actual)
End Sub
End Class
End Namespace
Imports NUnit.Framework
Imports VectoAuxiliaries.Electrics
<TestFixture()>
Public Class ElectricalConsumerListTests
Private TestConsumerList As ElectricalConsumerList
Sub New()
TestConsumerList = New ElectricalConsumerList()
'Add one two OnBaseVhicile consumers
TestConsumerList.AddConsumer(New ElectricalConsumer(True, "TEST1", "Exclude1", 10, 1, 26.3, 1))
TestConsumerList.AddConsumer(New ElectricalConsumer(True, "TEST2", "Exclude2", 10, 1, 26.3, 1))
TestConsumerList.AddConsumer(New ElectricalConsumer(False, "TEST3", "Include1", 10, 1, 26.3, 1))
TestConsumerList.AddConsumer(New ElectricalConsumer(False, "TEST4", "Include2", 10, 1, 26.3, 1))
End Sub
<Test()>
Public Sub CreateNewTest()
Dim target As New ElectricalConsumerList()
Assert.IsNotNull(target)
End Sub
<Test()>
Public Sub SumAllConsumers()
Dim actual As Single = TestConsumerList.GetTotalAverageDemandAmps(1, False)
Dim expected = 40
Assert.AreEqual(expected, actual)
End Sub
<Test()>
Public Sub SumNonExcludedConsumers()
Dim actual As Single = TestConsumerList.GetTotalAverageDemandAmps(1, True)
Dim expected = 20
Assert.AreEqual(expected, actual)
End Sub
End Class
......@@ -8,13 +8,10 @@ Namespace UnitTests
#Region "Helpers"
Private Const GoodName As String = "Test"
Private Const GoodPower As Single = 10.0
Private Const BadName As String = ""
Private Const BadPower As Single = 0.0
Public Function GetGoodConsumer() As ElectricalConsumer
Return New ElectricalConsumer(False, "Doors", "Door52", 5, 0.9, 26.3)
Return New ElectricalConsumer(False, "Doors", "Doors per Door", 20, 0.5, 26.3, 1)
End Function
#End Region
......@@ -26,37 +23,53 @@ Namespace UnitTests
Assert.IsNotNull(target)
End Sub
<Test(), ExpectedException("System.ArgumentException")>
Public Sub CreateNewInvalidNameTest()
' Dim target As ElectricalConsumer = New ElectricalConsumer(BadName, 10.0)
Assert.Fail()
End Sub
' <Test(), ExpectedException("System.ArgumentException")>
' TODO: Probably need to define too high a power and implement check
<TestCase(BadPower)> _
<TestCase(BadPower)> _
<ExpectedException("System.ArgumentOutOfRangeException")>
Public Sub CreateNewInvalidPowerTest(ByVal power As Single)
' Dim target As ElectricalConsumer = New ElectricalConsumer(GoodName, power)
Assert.Fail()
End Sub
<Test(), ExpectedException("System.ArgumentException")>
Public Sub ZeroLengthConsumerNameTest()
Dim target As New ElectricalConsumer(False, "Doors", "", 20, 0.5, 26.3, 1)
<Test()>
Public Sub GetNameTest()
Dim target As ElectricalConsumer = GetGoodConsumer()
Dim expected As String = GoodName
Dim actual As String = target.ConsumerName
Assert.AreEqual(expected, actual)
End Sub
End Sub
<Test(), ExpectedException("System.ArgumentException")>
Public Sub ZeroLengthCategoryNameTest_ThrowsArgumentException()
Dim target As New ElectricalConsumer(False, "", "Doors per Door", 20, 0.5, 26.3, 1)
End Sub
'TooLow NominalConsumption
'TooHigh NominalConsumption
<Test(), ExpectedException("System.ArgumentException")>
Public Sub ToLow_PhaseIdleTractionOn_ThrowsArgumentException()
Dim target As New ElectricalConsumer(False, "", "Doors per Door", 20, ElectricConstants.PhaseIdleTractionOnMin - 1, 26.3, 1)
End Sub
<Test(), ExpectedException("System.ArgumentException")>
Public Sub ToHigh_PhaseIdleTractionOn_ThrowsArgumentException()
Dim target As New ElectricalConsumer(False, "", "Doors per Door", 20, ElectricConstants.PhaseIdleTractionMax + 1, 26.3, 1)
End Sub
<Test(), ExpectedException("System.ArgumentException")>
Public Sub ToLowNumberInVehicle_ThrowsArgumentException()
Dim target As New ElectricalConsumer(False, "", "Doors per Door", 20, 0.5, 26.3, -1)
End Sub
'TooLow PowerNetVoltage
<Test(), ExpectedException("System.ArgumentException")>
Public Sub ToLowPowerNetVoltageTest_ThrowsArgumentException()
Dim target As New ElectricalConsumer(False, "", "Doors per Door", 20, 0.5, ElectricConstants.PowenetVoltageMin - 1, 1)
End Sub
'TooHigh PowerNetVoltage
Public Sub ToHighPowerNetVoltageTest_ThrowsArgumentException()
Dim target As New ElectricalConsumer(False, "", "Doors per Door", 20, 0.5, ElectricConstants.PowenetVoltageMax + 1, 1)
End Sub
<Test()>
Public Sub GetPowerTest()
Dim target As ElectricalConsumer = GetGoodConsumer()
Dim expected As Single = GoodPower
' Dim actual As Single = target.Power
' Assert.AreEqual(expected, actual)
Assert.Fail()
End Sub
End Class
End Namespace
\ No newline at end of file
......@@ -88,7 +88,9 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Mocks\HVACMapMock.vb" />
<Compile Include="UnitTests\AlternatorsEfficiencyTests.vb" />
<Compile Include="UnitTests\AveragePneumaticLoadDemandTests.vb" />
<Compile Include="UnitTests\ElectricalConsumerListTests.vb" />
<Compile Include="UnitTests\HVACMapTests.vb" />
<Compile Include="UnitTests\PneumaticConsumerTests.vb" />
<Compile Include="UnitTests\AirCompressorTests.vb" />
......
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