diff --git a/VECTO/cConfig.vb b/VECTO/cConfig.vb index 7f2275fd0005b830918648bf2acc4cb5fa0b247d..72fe1471669f19e7ee607abd2404252b39e54da5 100644 --- a/VECTO/cConfig.vb +++ b/VECTO/cConfig.vb @@ -1,157 +1,149 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.Collections.Generic - -Public Class cConfig - - Public FilePath As String - - Private Const FormatVersion As Short = 2 - Private FileVersion As Short - - Public GnUfromCycle As Boolean - Public BatchMode As Boolean - Public ModOut As Boolean - Public BATCHoutpath As String 'Output path for BATCH Mode - Public BATCHoutSubD As Boolean - Public DistCorr As Boolean - Public LogSize As Single - Public AirDensity As Single - Public OpenCmd As String - Public OpenCmdName As String - - Public FuelDens As Single - Public CO2perFC As Single - - Public FirstRun As Boolean - - Public DeclMode As Boolean - - - Public Sub New() - SetDefault() - End Sub - - Public Sub DeclInit() - AirDensity = cDeclaration.AirDensity - FuelDens = cDeclaration.FuelDens - CO2perFC = cDeclaration.CO2perFC - DistCorr = True - GnUfromCycle = False - End Sub - - Public Sub SetDefault() - - - GnUfromCycle = True - BatchMode = False - ModOut = True - BATCHoutpath = sKey.JobPath - BATCHoutSubD = False - DistCorr = True - LogSize = 2 - AirDensity = 1.2 - OpenCmd = "notepad" - OpenCmdName = "Notepad" - - FuelDens = 0.835 - CO2perFC = 3.153 - - FirstRun = True - - DeclMode = True - - End Sub - - Public Sub ConfigLOAD() - - Dim JSON As New cJSON - - SetDefault() - - If Not IO.File.Exists(FilePath) Then Exit Sub - - - If Not JSON.ReadFile(FilePath) Then GUImsg(tMsgID.Err, "Failed to load settings! Using default settings.") - - Try - - FileVersion = JSON.Content("Header")("FileVersion") - - If FileVersion < 2 Then - BatchMode = (JSON.Content("Body")("LastMode") = 1) - Else - BatchMode = JSON.Content("Body")("LastModeBatch") - End If - ModOut = JSON.Content("Body")("ModOut") - DistCorr = JSON.Content("Body")("DistCorrection") - GnUfromCycle = JSON.Content("Body")("UseGnUfromCycle") - LogSize = JSON.Content("Body")("LogSize") - BATCHoutpath = JSON.Content("Body")("BATCHoutpath") - BATCHoutSubD = JSON.Content("Body")("BATCHoutSubD") - AirDensity = JSON.Content("Body")("AirDensity") - FuelDens = JSON.Content("Body")("FuelDensity") - CO2perFC = JSON.Content("Body")("CO2perFC") - OpenCmd = JSON.Content("Body")("OpenCmd") - OpenCmdName = JSON.Content("Body")("OpenCmdName") - FirstRun = JSON.Content("Body")("FirstRun") - DeclMode = JSON.Content("Body")("DeclMode") - - - - Catch ex As Exception - - GUImsg(tMsgID.Err, "Error while loading settings!") - - End Try - - - End Sub - - Public Sub ConfigSAVE() - Dim JSON As New cJSON - Dim dic As Dictionary(Of String, Object) - - 'Header - dic = New Dictionary(Of String, Object) - dic.Add("CreatedBy", Lic.LicString & " (" & Lic.GUID & ")") - dic.Add("Date", Now.ToString) - dic.Add("AppVersion", VECTOvers) - dic.Add("FileVersion", FormatVersion) - JSON.Content.Add("Header", dic) - - 'Body - dic = New Dictionary(Of String, Object) - - dic.Add("LastModeBatch", BatchMode) - dic.Add("ModOut", ModOut) - dic.Add("DistCorrection", DistCorr) - dic.Add("UseGnUfromCycle", GnUfromCycle) - dic.Add("LogSize", LogSize) - dic.Add("BATCHoutpath", BATCHoutpath) - dic.Add("BATCHoutSubD", BATCHoutSubD) - dic.Add("AirDensity", AirDensity) - dic.Add("FuelDensity", FuelDens) - dic.Add("CO2perFC", CO2perFC) - dic.Add("OpenCmd", OpenCmd) - dic.Add("OpenCmdName", OpenCmdName) - dic.Add("FirstRun", FirstRun) - dic.Add("DeclMode", DeclMode) - - JSON.Content.Add("Body", dic) - - JSON.WriteFile(FilePath) - - End Sub - - -End Class - +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.Collections.Generic + +Public Class cConfig + Public FilePath As String + + Private Const FormatVersion As Short = 2 + Private FileVersion As Short + + Public GnUfromCycle As Boolean + Public BatchMode As Boolean + Public ModOut As Boolean + Public BATCHoutpath As String 'Output path for BATCH Mode + Public BATCHoutSubD As Boolean + Public DistCorr As Boolean + Public LogSize As Single + Public AirDensity As Single + Public OpenCmd As String + Public OpenCmdName As String + + Public FuelDens As Single + Public CO2perFC As Single + + Public FirstRun As Boolean + + Public DeclMode As Boolean + + + Public Sub New() + SetDefault() + End Sub + + Public Sub DeclInit() + AirDensity = cDeclaration.AirDensity + FuelDens = cDeclaration.FuelDens + CO2perFC = cDeclaration.CO2perFC + DistCorr = True + GnUfromCycle = False + End Sub + + Public Sub SetDefault() + + + GnUfromCycle = True + BatchMode = False + ModOut = True + BATCHoutpath = sKey.JobPath + BATCHoutSubD = False + DistCorr = True + LogSize = 2 + AirDensity = 1.2 + OpenCmd = "notepad" + OpenCmdName = "Notepad" + + FuelDens = 0.835 + CO2perFC = 3.153 + + FirstRun = True + + DeclMode = True + End Sub + + Public Sub ConfigLOAD() + + Dim JSON As New cJSON + + SetDefault() + + If Not IO.File.Exists(FilePath) Then Exit Sub + + + If Not JSON.ReadFile(FilePath) Then GUImsg(tMsgID.Err, "Failed to load settings! Using default settings.") + + Try + + FileVersion = JSON.Content("Header")("FileVersion") + + If FileVersion < 2 Then + BatchMode = (JSON.Content("Body")("LastMode") = 1) + Else + BatchMode = JSON.Content("Body")("LastModeBatch") + End If + ModOut = JSON.Content("Body")("ModOut") + DistCorr = JSON.Content("Body")("DistCorrection") + GnUfromCycle = JSON.Content("Body")("UseGnUfromCycle") + LogSize = JSON.Content("Body")("LogSize") + BATCHoutpath = JSON.Content("Body")("BATCHoutpath") + BATCHoutSubD = JSON.Content("Body")("BATCHoutSubD") + AirDensity = JSON.Content("Body")("AirDensity") + FuelDens = JSON.Content("Body")("FuelDensity") + CO2perFC = JSON.Content("Body")("CO2perFC") + OpenCmd = JSON.Content("Body")("OpenCmd") + OpenCmdName = JSON.Content("Body")("OpenCmdName") + FirstRun = JSON.Content("Body")("FirstRun") + DeclMode = JSON.Content("Body")("DeclMode") + + + Catch ex As Exception + + GUImsg(tMsgID.Err, "Error while loading settings!") + + End Try + End Sub + + Public Sub ConfigSAVE() + Dim JSON As New cJSON + Dim dic As Dictionary(Of String, Object) + + 'Header + dic = New Dictionary(Of String, Object) + dic.Add("CreatedBy", Lic.LicString & " (" & Lic.GUID & ")") + dic.Add("Date", Now.ToString) + dic.Add("AppVersion", VECTOvers) + dic.Add("FileVersion", FormatVersion) + JSON.Content.Add("Header", dic) + + 'Body + dic = New Dictionary(Of String, Object) + + dic.Add("LastModeBatch", BatchMode) + dic.Add("ModOut", ModOut) + dic.Add("DistCorrection", DistCorr) + dic.Add("UseGnUfromCycle", GnUfromCycle) + dic.Add("LogSize", LogSize) + dic.Add("BATCHoutpath", BATCHoutpath) + dic.Add("BATCHoutSubD", BATCHoutSubD) + dic.Add("AirDensity", AirDensity) + dic.Add("FuelDensity", FuelDens) + dic.Add("CO2perFC", CO2perFC) + dic.Add("OpenCmd", OpenCmd) + dic.Add("OpenCmdName", OpenCmdName) + dic.Add("FirstRun", FirstRun) + dic.Add("DeclMode", DeclMode) + + JSON.Content.Add("Body", dic) + + JSON.WriteFile(FilePath) + End Sub +End Class + diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb index 5bcf5dba98b96f135bc4d43c97c2b6b4fbe68a3f..5d5758cba5ec78bc5cbdf93def77753f9ab5c7b7 100644 --- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb +++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb @@ -30,7 +30,7 @@ Inherits IAuxiliaryEvent ''' </summary> ''' <param name="stepTimeInSeconds">Single : Mutiplies the values to be aggregated by number of seconds</param> ''' <remarks></remarks> - Sub CycleStep( Optional stepTimeInSeconds As Single = nothing) + Sub CycleStep(Optional stepTimeInSeconds As Single = 0.0) ''' <summary> ''' Litres Of Air: Compressor On Continually (L) diff --git a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj index ff823631e820626e58c05f52e18b303a5f3844d6..af62e31475835fcdc83239bb5a88fb3f232c7903 100644 --- a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj +++ b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj @@ -87,7 +87,6 @@ <Compile Include="DownstreamModules\cDelaunayMap.vb" /> <Compile Include="DownstreamModules\cFile V3.vb" /> <Compile Include="DownstreamModules\cMAP.vb" /> - <Compile Include="DownstreamModules\IFUELMAP.vb" /> <Compile Include="DownstreamModules\IM10.vb" /> <Compile Include="DownstreamModules\IM11.vb" /> <Compile Include="DownstreamModules\IM12.vb" /> diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb index bb9f24d76a9e15a7d421b94b3aa0ece244220073..6e23f9ad6e1621f1eb891e68fe429f7ac3084fd3 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb @@ -22,7 +22,7 @@ Private Function GetSSM() As ISSMTOOL Const _SSMMAP As String = "TestFiles\ssm.Ahsm - Const _BusDatabase As String ="TestFiles\BusDatabase.abdb + 'Const _BusDatabase As String ="TestFiles\BusDatabase.abdb Dim ssm As ISSMTOOL = New SSMTOOL(_SSMMAP, New HVACConstants()) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb index da05430d4ec1be59007a2bb726ed844b9d9a9895..4b7d086a7c7cc995430ccf9056ac5f84179b7a7a 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb @@ -8,131 +8,120 @@ Imports Moq Namespace UnitTests - - -'This implements the ISSMTOOL and returns 50% of the EngineHeatWaste as a Fueling Value -'for the purpose of this test. -public class SSMToolMock - implements ISSMTOOL - - - - Public Property Calculate As ISSMCalculate Implements ISSMTOOL.Calculate - Public Property SSMDisabled As Boolean Implements ISSMTOOL.SSMDisabled - Public Property HVACConstants As IHVACConstants Implements ISSMTOOL.HVACConstants - - Public Sub Clone(from As ISSMTOOL) Implements ISSMTOOL.Clone - - End Sub - - Public ReadOnly Property ElectricalWAdjusted As Single Implements ISSMTOOL.ElectricalWAdjusted - Get - - End Get - End Property - - Public ReadOnly Property ElectricalWBase As Single Implements ISSMTOOL.ElectricalWBase - Get - - End Get - End Property - - Public ReadOnly Property FuelPerHBase As Single Implements ISSMTOOL.FuelPerHBase - Get - - End Get - End Property - - Public ReadOnly Property FuelPerHBaseAdjusted As Single Implements ISSMTOOL.FuelPerHBaseAdjusted - Get - - End Get - End Property - - Public Function FuelPerHBaseAsjusted(AverageUseableEngineWasteHeatKW As Single) As Single Implements ISSMTOOL.FuelPerHBaseAsjusted - - Return 0.5 * AverageUseableEngineWasteHeatKW - - End Function - - Public Property GenInputs As ISSMGenInputs Implements ISSMTOOL.GenInputs - - Get - Return New SSMGenInputs(True) - End Get - Set(value As ISSMGenInputs) - - End Set - End Property - - Public Function IsEqualTo(source As ISSMTOOL) As Boolean Implements ISSMTOOL.IsEqualTo - - End Function - - Public Function Load(filePath As String) As Boolean Implements ISSMTOOL.Load - - End Function - - Public ReadOnly Property MechanicalWBase As Single Implements ISSMTOOL.MechanicalWBase - Get - - End Get - End Property - - Public ReadOnly Property MechanicalWBaseAdjusted As Single Implements ISSMTOOL.MechanicalWBaseAdjusted - Get - - End Get - End Property - - Public Function Save(filePath As String) As Boolean Implements ISSMTOOL.Save - - End Function - - Public Property TechList As ISSMTechList Implements ISSMTOOL.TechList - - public Event Message(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) Implements ISSMTOOL.Message - -End Class - - -<TestFixture()> _ -Public Class M14Tests - - <Test()> _ - Public sub ValuesTest() - - 'Arrange - Dim ip1 As Single = 1000f - Dim ip5 As Single = 3114 - Dim ip6 As Single = 3114 - - Dim expectedOut1 As Single = 780333.4F - Dim expectedOut2 As Single = 0.934531F - - Dim m13 As New Mock(Of IM13) - Dim hvacSSM As New Mock(Of ISSMTOOL) - Dim signals As new Mock( Of ISignals) - Dim ssmMock As ISSMTOOL = New SSMToolMock() - Dim constants As IHVACConstants = New HVACConstants(835) - - 'Moq' Arrangements - m13.Setup ( Function(x) x.WHTCTotalCycleFuelConsumptionGrams).Returns(ip1) - signals.Setup( Function(x) x.CurrentCycleTimeInSeconds) .Returns(ip5) - - - 'Act - Dim m14 As New M14(m13.Object,ssmMock,constants,signals.Object) - - 'Assert - Assert.AreEqual( expectedOut1, m14.TotalCycleFCGrams) - Assert.AreEqual( expectedOut2, m14.TotalCycleFCLitres) - - End sub - - -End Class - + 'This implements the ISSMTOOL and returns 50% of the EngineHeatWaste as a Fueling Value + 'for the purpose of this test. + Public Class SSMToolMock + Implements ISSMTOOL + + Public Property Calculate As ISSMCalculate Implements ISSMTOOL.Calculate + Public Property SSMDisabled As Boolean Implements ISSMTOOL.SSMDisabled + Public Property HVACConstants As IHVACConstants Implements ISSMTOOL.HVACConstants + + Public Sub Clone(from As ISSMTOOL) Implements ISSMTOOL.Clone + End Sub + + Public ReadOnly Property ElectricalWAdjusted As Single Implements ISSMTOOL.ElectricalWAdjusted + Get + Throw New NotImplementedException + End Get + End Property + + Public ReadOnly Property ElectricalWBase As Single Implements ISSMTOOL.ElectricalWBase + Get + Throw New NotImplementedException + End Get + End Property + + Public ReadOnly Property FuelPerHBase As Single Implements ISSMTOOL.FuelPerHBase + Get + Throw New NotImplementedException + End Get + End Property + + Public ReadOnly Property FuelPerHBaseAdjusted As Single Implements ISSMTOOL.FuelPerHBaseAdjusted + Get + Throw New NotImplementedException + End Get + End Property + + Public Function FuelPerHBaseAsjusted(AverageUseableEngineWasteHeatKW As Single) As Single _ + Implements ISSMTOOL.FuelPerHBaseAsjusted + + Return 0.5 * AverageUseableEngineWasteHeatKW + End Function + + Public Property GenInputs As ISSMGenInputs Implements ISSMTOOL.GenInputs + + Get + Return New SSMGenInputs(True) + End Get + Set(value As ISSMGenInputs) + End Set + End Property + + Public Function IsEqualTo(source As ISSMTOOL) As Boolean Implements ISSMTOOL.IsEqualTo + Throw New NotImplementedException + End Function + + Public Function Load(filePath As String) As Boolean Implements ISSMTOOL.Load + Throw New NotImplementedException + End Function + + Public ReadOnly Property MechanicalWBase As Single Implements ISSMTOOL.MechanicalWBase + Get + Throw New NotImplementedException + End Get + End Property + + Public ReadOnly Property MechanicalWBaseAdjusted As Single Implements ISSMTOOL.MechanicalWBaseAdjusted + Get + Throw New NotImplementedException + End Get + End Property + + Public Function Save(filePath As String) As Boolean Implements ISSMTOOL.Save + Throw New NotImplementedException + End Function + + Public Property TechList As ISSMTechList Implements ISSMTOOL.TechList + + Public Event Message(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) _ + Implements ISSMTOOL.Message + End Class + + + <TestFixture()> + Public Class M14Tests + <Test()> + Public Sub ValuesTest() + + 'Arrange + Dim ip1 As Single = 1000.0F + Dim ip5 As Single = 3114 + Dim ip6 As Single = 3114 + + Dim expectedOut1 As Single = 780333.4F + Dim expectedOut2 As Single = 0.934531F + + Dim m13 As New Mock(Of IM13) + Dim hvacSSM As New Mock(Of ISSMTOOL) + Dim signals As New Mock(Of ISignals) + Dim ssmMock As ISSMTOOL = New SSMToolMock() + Dim constants As IHVACConstants = New HVACConstants(835) + + 'Moq' Arrangements + m13.Setup(Function(x) x.WHTCTotalCycleFuelConsumptionGrams).Returns(ip1) + signals.Setup(Function(x) x.CurrentCycleTimeInSeconds).Returns(ip5) + + + 'Act + Dim m14 As New M14(m13.Object, ssmMock, constants, signals.Object) + + 'Assert + Assert.AreEqual(expectedOut1, m14.TotalCycleFCGrams) + Assert.AreEqual(expectedOut2, m14.TotalCycleFCLitres) + End Sub + End Class End Namespace diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb index 34ad37a163216075e2c5af0ec0948cae25d819d1..f4ebc85e01dcfa04c99e11760a84a339f4b35288 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb @@ -6,117 +6,105 @@ Imports VectoAuxiliaries.Hvac Imports VectoAuxiliaries Namespace UnitTests + <TestFixture()> + Public Class M5_SmartAlternatorSetGenerationTests + 'Constants + Private Const _powerNetVoltage As Single = 26.3 + Private Const _hvacMap As String = "testFiles\TestHvacMap.csv" + Private Const _altMap As String = "testFiles\testAlternatormap.aalt" + Private Const _rpm As Integer = 2000 + Private Const _altGearPullyEfficiency As Single = 0.8 -<TestFixture()> -Public Class M5_SmartAlternatorSetGenerationTests + 'Private fields + Private _m05 As M0_5_SmartAlternatorSetEfficiency + Private _target As M5__SmartAlternatorSetGeneration + Private _signals As ISignals = New Signals + Private ssmHVac As IHVACSteadyStateModel = New HVACSteadyStateModel(100, 100, 100) -'Constants -Private const _powerNetVoltage As Single = 26.3 -Private Const _hvacMap As String = "testFiles\TestHvacMap.csv" -Private Const _altMap As String = "testFiles\testAlternatormap.aalt" -Private const _rpm as Integer = 2000 -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 ssmHVac As IHVACSteadyStateModel = New HVACSteadyStateModel(100,100,100) + Private Function GetSSM() As ISSMTOOL -Private Function GetSSM() As ISSMTOOL + Const _SSMMAP As String = "TestFiles\ssm.Ahsm" + 'Const _BusDatabase As String ="TestFiles\BusDatabase.abdb + Dim ssm As ISSMTOOL = New SSMTOOL(_SSMMAP, New HVACConstants()) - Const _SSMMAP As String = "TestFiles\ssm.Ahsm - Const _BusDatabase As String ="TestFiles\BusDatabase.abdb - Dim ssm As ISSMTOOL = New SSMTOOL(_SSMMAP, New HVACConstants()) + ssm.Load(_SSMMAP) - ssm.Load( _SSMMAP) + Return ssm + End Function + Private Sub Initialise() - Return ssm + _signals.EngineSpeed = 2000 + Dim elecConsumers As New ElectricalConsumerList(_powerNetVoltage, 0.096, True) -End Function + Dim alternatoMap As New AlternatorMap(_altMap) + alternatoMap.Initialise() + Dim m0 As New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers, alternatoMap, _powerNetVoltage, _signals, GetSSM()) -Private sub Initialise() + 'Results Cards + Dim readings = New List(Of SmartResult) + readings.Add(New SmartResult(10, 8)) + readings.Add(New SmartResult(70, 63)) -_signals.EngineSpeed= 2000 + Dim idleResult As New ResultCard(readings) + Dim tractionResult As New ResultCard(readings) + Dim overrunResult As New ResultCard(readings) -Dim elecConsumers As New ElectricalConsumerList(_powerNetVoltage,0.096,True) + Dim signals As ISignals = New Signals + signals.EngineSpeed = 2000 -Dim alternatoMap As New AlternatorMap(_altMap) -alternatoMap.Initialise() -Dim m0 As New M0_NonSmart_AlternatorsSetEfficiency(elecConsumers,alternatoMap,_powerNetVoltage,_signals,GetSSM()) + _m05 = New M0_5_SmartAlternatorSetEfficiency(m0, elecConsumers, alternatoMap, idleResult, tractionResult, + overrunResult, signals) + End Sub -'Results Cards -Dim readings = new List(Of SmartResult) -readings.Add( New SmartResult(10,8)) -readings.Add( New SmartResult(70,63)) + <Test()> + Public Sub CreateNewTest() -Dim idleResult As New ResultCard(readings) -Dim tractionResult As New ResultCard(readings) -Dim overrunResult As New ResultCard(readings) + Initialise() + _target = New M5__SmartAlternatorSetGeneration(_m05, _powerNetVoltage, _altGearPullyEfficiency) + Assert.IsNotNull(_target) + End Sub -Dim signals As ISignals = New Signals -signals.EngineSpeed=2000 + <Test()> + Public Sub PowerAtCrankIdleWatts() -_m05 = New M0_5_SmartAlternatorSetEfficiency(m0,elecConsumers,alternatoMap,idleResult,tractionResult,overrunResult,signals) + Initialise() + _target = New M5__SmartAlternatorSetGeneration(_m05, _powerNetVoltage, _altGearPullyEfficiency) + Dim expected As Single = 1641.35791 + Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankIdleWatts() -End Sub + Assert.AreEqual(expected, actual) + End Sub -<Test()> _ -Public Sub CreateNewTest() + <Test()> + Public Sub PowerAtCrankTractionWatts() - Initialise() - _target = New M5__SmartAlternatorSetGeneration(_m05,_powerNetVoltage,_altGearPullyEfficiency) - Assert.IsNotNull( _target ) + Initialise() + _target = New M5__SmartAlternatorSetGeneration(_m05, _powerNetVoltage, _altGearPullyEfficiency) + Dim expected As Single = 1641.35791 + Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankTractionOnWatts() -End Sub + Assert.AreEqual(expected, actual) + End Sub -<Test()> _ -Public Sub PowerAtCrankIdleWatts() + <Test()> + Public Sub PowerAtCrankOverrunWatts() - Initialise() - _target = New M5__SmartAlternatorSetGeneration(_m05,_powerNetVoltage,_altGearPullyEfficiency) - Dim expected As Single = 1641.35791 - Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankIdleWatts() - - Assert.AreEqual( expected, actual) - -End Sub - -<Test()> _ -Public Sub PowerAtCrankTractionWatts() - - Initialise() - _target = New M5__SmartAlternatorSetGeneration(_m05,_powerNetVoltage,_altGearPullyEfficiency) - Dim expected As Single = 1641.35791 - Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankTractionOnWatts() - - Assert.AreEqual( expected, actual) - -End Sub - -<Test()> _ -Public Sub PowerAtCrankOverrunWatts() - - Initialise() - _target = New M5__SmartAlternatorSetGeneration(_m05,_powerNetVoltage,_altGearPullyEfficiency) - Dim expected As Single = 1641.35791F - - Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankOverrunWatts() - - Assert.AreEqual( expected,actual) - -End Sub - -End Class + Initialise() + _target = New M5__SmartAlternatorSetGeneration(_m05, _powerNetVoltage, _altGearPullyEfficiency) + Dim expected As Single = 1641.35791F + Dim actual As Single = _target.AlternatorsGenerationPowerAtCrankOverrunWatts() + Assert.AreEqual(expected, actual) + End Sub + End Class End Namespace - diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb index f371de6c2fcb43023a4d153c36ab16e5a06fcb42..19d1fbeee2a9c105913d2bdaffa2ea86fd55199e 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb @@ -7,121 +7,114 @@ Imports VectoAuxiliaries Imports Moq Namespace UnitTests -<TestFixture()> -Public Class M9Tests - - <Test()> _ - <TestCase(50, 50, 400, 200, 100, 1200, 50, 0, 0, 0.5F, False, 50.0F, 0, 0.181108221F, 0.180887148F)> _ - <TestCase(50, 50, 400, 200, 100, 1200, 50, 1, 0, 0.5F, False, 50.0F, 0, 0.181108221F, 0.180887148F)> _ - <TestCase(50, 50, 400, 200, 100, 1200, 50, 0, 1, 0.5F, False, 50.0F, 0, 0.181108221F, 0.180887148F)> _ - <TestCase(50, 50, 400, 200, 100, 1200, 50, 1, 1, 0.5F, False, 50.0F, 0, 0.181108221F, 0.180887148F)> _ - <TestCase(50, 50, 400, 200, 100, 1200, 50, 1, 1, 0.5F, True, 0, 0, 0, 0)> _ - Public Sub ValuesInOutTests(IP1 As Single, - IP2 As Single, - IP3 As Single, - IP4 As Single, - IP5 As Single, - IP6 As Single, - IP7 As Single, - IP8 As Single, - IP9 As Single, - IP10 As Single, - IP11 As Boolean, - AG1 As Single, - AG2 As Single, - AG3 As Single, - AG4 As Single) - - Dim m1Mock As New Mock(Of IM1_AverageHVACLoadDemand) - Dim m4Mock As New Mock(Of IM4_AirCompressor) - Dim m6Mock As New Mock(Of IM6) - Dim m8Mock As New Mock(Of IM8) - Dim fMapMock As New MockFuel50PC() - Dim sgnlsMock As New Mock(Of ISignals) - Dim psac As New Mock(Of IPneumaticsAuxilliariesConfig) - - m6Mock.Setup(Function(x) x.AvgPowerDemandAtCrankFromElectricsIncHVAC).Returns(IP1) - m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts).Returns(IP2) - m4Mock.Setup(Function(x) x.GetPowerCompressorOn).Returns(IP3) - m4Mock.Setup(Function(x) x.GetPowerCompressorOff).Returns(IP4) - sgnlsMock.Setup(Function(x) x.EngineDrivelineTorque).Returns(IP5) - sgnlsMock.Setup(Function(x) x.EngineSpeed).Returns(IP6) - m4Mock.Setup(Function(x) x.GetFlowRate).Returns(IP7) - m6Mock.Setup(Function(x) x.OverrunFlag).Returns(IP8) - m8Mock.Setup(Function(x) x.CompressorFlag).Returns(IP9) - psac.Setup(Function(x) x.OverrunUtilisationForCompressionFraction).Returns(IP10) - sgnlsMock.Setup(Function(x) x.EngineStopped).Returns(IP11) - - Dim target As New M9(m1Mock.Object, m4Mock.Object, m6Mock.Object, m8Mock.Object, fMapMock, psac.Object, sgnlsMock.Object) - - target.CycleStep(1) - - Assert.AreEqual(target.LitresOfAirCompressorOnContinually, AG1) - Assert.AreEqual(target.LitresOfAirCompressorOnOnlyInOverrun, AG2) - Assert.AreEqual(target.TotalCycleFuelConsumptionCompressorOnContinuously, CType(Math.Round(AG3, 7), Single)) - Assert.AreEqual(target.TotalCycleFuelConsumptionCompressorOffContinuously, AG4) - - - End Sub - - - -<Test()> _ -<TestCase(50,50,400,200,100,1200,50,0,0,0.5f,false,50f,0, 0.18110822f,0.18088715f)> _ -Public Sub NEGATIVEINTERPADJUSTMENTValuesInOutTests(IP1 As Single, - IP2 As Single, - IP3 As Single, - IP4 As Single, - IP5 As Single, - IP6 As Single, - IP7 As Single, - IP8 As Single, - IP9 As Single, - IP10 As Single, - IP11 As Boolean, - AG1 As Single, - AG2 As Single, - AG3 As Single, - AG4 As Single) - - Dim m1Mock As New Mock(Of IM1_AverageHVACLoadDemand) - Dim m4Mock As New Mock(Of IM4_AirCompressor) - Dim m6Mock As New Mock(Of IM6) - Dim m8Mock As New Mock(Of IM8) - Dim fMapMock As New Mock(Of IFuelMap ) - Dim sgnlsMock As New Mock(Of ISignals) - Dim psac As New Mock(Of IPneumaticsAuxilliariesConfig ) - - fMapMock.Setup ( Function(x) x.fFCdelaunay_Intp(1,1) ).Returns(-1) - m6Mock.Setup ( Function(x) x.AvgPowerDemandAtCrankFromElectricsIncHVAC ) .Returns(IP1) - m1Mock.Setup ( Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts ).Returns(IP2) - m4Mock.Setup ( Function(x) x.GetPowerCompressorOn) .Returns(IP3) - m4Mock.Setup ( Function(x) x.GetPowerCompressorOff) .Returns(IP4) - sgnlsMock.Setup( Function(x) x.EngineDrivelineTorque) .Returns(IP5) - sgnlsMock.Setup( Function(x) x.EngineSpeed) .Returns(IP6) - m4Mock.Setup ( Function(x) x.GetFlowRate) .Returns(IP7) - m6Mock.Setup ( Function(x) x.OverrunFlag) .Returns(IP8) - m8Mock.Setup ( Function(x) x.CompressorFlag) .Returns(IP9) - psac.Setup ( Function(x) x.OverrunUtilisationForCompressionFraction) .Returns(IP10) - sgnlsMock.Setup( Function(x) x.EngineStopped) .Returns(IP11) - - Dim target As New M9( m1Mock.Object, m4Mock.Object, m6Mock.Object,m8Mock.Object,fMapMock.Object,psac.Object,sgnlsMock.Object) - - target.CycleStep(1) - - Assert.AreEqual(target.LitresOfAirCompressorOnContinually , AG1 ) - Assert.AreEqual(target.LitresOfAirCompressorOnOnlyInOverrun , AG2 ) - Assert.AreEqual(target.TotalCycleFuelConsumptionCompressorOnContinuously , 0 ) - Assert.AreEqual(target.TotalCycleFuelConsumptionCompressorOffContinuously, 0) - - -End Sub - - - -End Class - + <TestFixture()> + Public Class M9Tests + <Test()> _ + <TestCase(50, 50, 400, 200, 100, 1200, 50, 0, 0, 0.5F, False, 50.0F, 0, 0.181108221F, 0.180887148F)> _ + <TestCase(50, 50, 400, 200, 100, 1200, 50, 1, 0, 0.5F, False, 50.0F, 0, 0.181108221F, 0.180887148F)> _ + <TestCase(50, 50, 400, 200, 100, 1200, 50, 0, 1, 0.5F, False, 50.0F, 0, 0.181108221F, 0.180887148F)> _ + <TestCase(50, 50, 400, 200, 100, 1200, 50, 1, 1, 0.5F, False, 50.0F, 0, 0.181108221F, 0.180887148F)> _ + <TestCase(50, 50, 400, 200, 100, 1200, 50, 1, 1, 0.5F, True, 0, 0, 0, 0)> + Public Sub ValuesInOutTests(IP1 As Single, + IP2 As Single, + IP3 As Single, + IP4 As Single, + IP5 As Single, + IP6 As Single, + IP7 As Single, + IP8 As Single, + IP9 As Single, + IP10 As Single, + IP11 As Boolean, + AG1 As Single, + AG2 As Single, + AG3 As Single, + AG4 As Single) + + Dim m1Mock As New Mock(Of IM1_AverageHVACLoadDemand) + Dim m4Mock As New Mock(Of IM4_AirCompressor) + Dim m6Mock As New Mock(Of IM6) + Dim m8Mock As New Mock(Of IM8) + Dim fMapMock As New MockFuel50PC() + Dim sgnlsMock As New Mock(Of ISignals) + Dim psac As New Mock(Of IPneumaticsAuxilliariesConfig) + + m6Mock.Setup(Function(x) x.AvgPowerDemandAtCrankFromElectricsIncHVAC).Returns(IP1) + m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts).Returns(IP2) + m4Mock.Setup(Function(x) x.GetPowerCompressorOn).Returns(IP3) + m4Mock.Setup(Function(x) x.GetPowerCompressorOff).Returns(IP4) + sgnlsMock.Setup(Function(x) x.EngineDrivelineTorque).Returns(IP5) + sgnlsMock.Setup(Function(x) x.EngineSpeed).Returns(IP6) + m4Mock.Setup(Function(x) x.GetFlowRate).Returns(IP7) + m6Mock.Setup(Function(x) x.OverrunFlag).Returns(IP8) + m8Mock.Setup(Function(x) x.CompressorFlag).Returns(IP9) + psac.Setup(Function(x) x.OverrunUtilisationForCompressionFraction).Returns(IP10) + sgnlsMock.Setup(Function(x) x.EngineStopped).Returns(IP11) + + Dim _ + target As _ + New M9(m1Mock.Object, m4Mock.Object, m6Mock.Object, m8Mock.Object, fMapMock, psac.Object, sgnlsMock.Object) + + target.CycleStep(1) + + Assert.AreEqual(target.LitresOfAirCompressorOnContinually, AG1) + Assert.AreEqual(target.LitresOfAirCompressorOnOnlyInOverrun, AG2) + Assert.AreEqual(target.TotalCycleFuelConsumptionCompressorOnContinuously, CType(Math.Round(AG3, 7), Single)) + Assert.AreEqual(target.TotalCycleFuelConsumptionCompressorOffContinuously, AG4) + End Sub + + + <Test()> _ + <TestCase(50, 50, 400, 200, 100, 1200, 50, 0, 0, 0.5F, False, 50.0F, 0, 0.181108221F, 0.180887148F)> + Public Sub NEGATIVEINTERPADJUSTMENTValuesInOutTests(IP1 As Single, + IP2 As Single, + IP3 As Single, + IP4 As Single, + IP5 As Single, + IP6 As Single, + IP7 As Single, + IP8 As Single, + IP9 As Single, + IP10 As Single, + IP11 As Boolean, + AG1 As Single, + AG2 As Single, + AG3 As Single, + AG4 As Single) + + Dim m1Mock As New Mock(Of IM1_AverageHVACLoadDemand) + Dim m4Mock As New Mock(Of IM4_AirCompressor) + Dim m6Mock As New Mock(Of IM6) + Dim m8Mock As New Mock(Of IM8) + Dim fMapMock As New Mock(Of IFuelConsumptionMap) + Dim sgnlsMock As New Mock(Of ISignals) + Dim psac As New Mock(Of IPneumaticsAuxilliariesConfig) + + fMapMock.Setup(Function(x) x.GetFuelConsumption(1, 1)).Returns(-1) + m6Mock.Setup(Function(x) x.AvgPowerDemandAtCrankFromElectricsIncHVAC).Returns(IP1) + m1Mock.Setup(Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts).Returns(IP2) + m4Mock.Setup(Function(x) x.GetPowerCompressorOn).Returns(IP3) + m4Mock.Setup(Function(x) x.GetPowerCompressorOff).Returns(IP4) + sgnlsMock.Setup(Function(x) x.EngineDrivelineTorque).Returns(IP5) + sgnlsMock.Setup(Function(x) x.EngineSpeed).Returns(IP6) + m4Mock.Setup(Function(x) x.GetFlowRate).Returns(IP7) + m6Mock.Setup(Function(x) x.OverrunFlag).Returns(IP8) + m8Mock.Setup(Function(x) x.CompressorFlag).Returns(IP9) + psac.Setup(Function(x) x.OverrunUtilisationForCompressionFraction).Returns(IP10) + sgnlsMock.Setup(Function(x) x.EngineStopped).Returns(IP11) + + Dim _ + target As _ + New M9(m1Mock.Object, m4Mock.Object, m6Mock.Object, m8Mock.Object, fMapMock.Object, psac.Object, sgnlsMock.Object) + + target.CycleStep(1) + + Assert.AreEqual(target.LitresOfAirCompressorOnContinually, AG1) + Assert.AreEqual(target.LitresOfAirCompressorOnOnlyInOverrun, AG2) + Assert.AreEqual(target.TotalCycleFuelConsumptionCompressorOnContinuously, 0) + Assert.AreEqual(target.TotalCycleFuelConsumptionCompressorOffContinuously, 0) + End Sub + End Class End Namespace - diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb index b0782531a018b095079fc9b0079fa8b207674213..e336f360b1e8838b7786e9f67427c10c0953327c 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb @@ -5,689 +5,656 @@ Imports VectoAuxiliaries Imports VectoAuxiliaries.Hvac Namespace UnitTests + <TestFixture()> + Public Class _SSMTOOLTests + 'TechBenefitsList - FilePath Constants + Private Const GOODTechList As String = "TestFiles\testSSMTechBenefits.csv" + Private Const GOODTechListALLON As String = "TestFiles\testSSMTechBenefitsALLON.csv" + Private Const GOODTechListALLOFF As String = "TestFiles\testSSMTechBenefitsALLOFF.csv" + Private Const GOODTechListEMPTYLIST As String = "TestFiles\testSSMTechBenefitsEMPTYLIST.csv" + + 'Helpers + Private Function AddDefaultTechLine(source As ISSMTOOL) + + Dim src As SSMTOOL = DirectCast(source, SSMTOOL) + + Dim newItem As ITechListBenefitLine = New TechListBenefitLine(src.GenInputs) + + newItem.Units = "fraction" + newItem.Category = "Insulation" + newItem.BenefitName = "Benefit1" + + newItem.LowFloorH = 0.1 + newItem.LowFloorV = 0.1 + newItem.LowFloorC = 0.1 + + newItem.SemiLowFloorH = 0.1 + newItem.SemiLowFloorV = 0.1 + newItem.SemiLowFloorC = 0.1 + + newItem.RaisedFloorH = 0.1 + newItem.RaisedFloorV = 0.1 + newItem.RaisedFloorC = 0.1 + + newItem.OnVehicle = True + newItem.ActiveVH = True + newItem.ActiveVV = True + newItem.ActiveVC = True + newItem.LineType = TechLineType.Normal + + Dim feedback As String = String.Empty + + Assert.IsTrue(src.TechList.Add(newItem, feedback)) + End Function + + 'SSMGenInputTests + <Test()> _ + <TestCase("BusParameterisation")> _ + <TestCase("BoundaryConditions")> _ + <TestCase("EnvironmentalConditions")> _ + <TestCase("AC-System")> _ + <TestCase("Ventilation")> _ + <TestCase("AuxHeater")> + Public Sub InstantiateDefaultSSMGenInputsTest(section As String) + + Dim target As ISSMGenInputs = New SSMGenInputs(True) + + If section = "BusParameterisation" Then + 'BUS Parameterisation + '******************** + Assert.AreEqual(47, target.BP_NumberOfPassengers) + Assert.AreEqual("raised floor", target.BP_BusFloorType) + Assert.AreEqual(24.1102486R, target.BP_BusFloorSurfaceArea, 2) + Assert.AreEqual(114.42325R, target.BP_BusSurfaceAreaM2) + Assert.AreEqual(20.98R, Math.Round(target.BP_BusWindowSurface, 2)) + Assert.AreEqual(61.81231875D, Math.Round(target.BP_BusVolume, 8)) + Assert.AreEqual(10.655R, target.BP_BusLength) + Assert.AreEqual(2.55R, target.BP_BusWidth) + End If + + If section = "BoundaryConditions" Then + 'BOUNDRY CONDITIONS + '****************** + Assert.AreEqual(0.95R, target.BC_GFactor) + Assert.AreEqual(0.8R, target.BC_SolarClouding) + Assert.AreEqual(80, target.BC_HeatPerPassengerIntoCabinW) + Assert.AreEqual(12, target.BC_PassengerBoundaryTemperature) + Assert.AreEqual(3.0R, target.BC_PassengerDensityLowFloor) + Assert.AreEqual(2.2R, target.BC_PassengerDensitySemiLowFloor) + Assert.AreEqual(1.4R, target.BC_PassengerDensityRaisedFloor) + Assert.AreEqual(34.0R, Math.Round(target.BC_CalculatedPassengerNumber, 4)) + Assert.AreEqual(3.0R, target.BC_UValues) + Assert.AreEqual(18, target.BC_HeatingBoundaryTemperature) + Assert.AreEqual(23, target.BC_CoolingBoundaryTemperature) + Assert.AreEqual(20, target.BC_HighVentilation) + Assert.AreEqual(7, target.BC_lowVentilation) + Assert.AreEqual(1236.25, Math.Round(target.BC_High, 2)) + Assert.AreEqual(432.69, Math.Round(target.BC_Low, 2)) + Assert.AreEqual(692.3, Math.Round(target.BC_HighVentPowerW, 2)) + Assert.AreEqual(242.3, Math.Round(target.BC_LowVentPowerW, 2)) + Assert.AreEqual(0.56R, target.BC_SpecificVentilationPower) + Assert.AreEqual(0.84, target.BC_AuxHeaterEfficiency) + Assert.AreEqual(11.8, target.BC_GCVDieselOrHeatingOil) + Assert.AreEqual(1.5R, target.BC_WindowAreaPerUnitBusLength) + Assert.AreEqual(5, target.BC_FrontRearWindowArea) + Assert.AreEqual(3, target.BC_MaxTemperatureDeltaForLowFloorBusses) + Assert.AreEqual(0.5R, target.BC_MaxPossibleBenefitFromTechnologyList) + End If + + + If section = "EnvironmentalConditions" Then + 'Environmental Conditions + '************************ + Assert.AreEqual(25.0, target.EC_EnviromentalTemperature) + Assert.AreEqual(400.0, target.EC_Solar) + + End If + + If section = "AC-System" Then + 'AC-SYSTEM + '********* + Assert.AreEqual("2-stage", target.AC_CompressorType) + Assert.AreEqual(18, target.AC_CompressorCapacitykW) + Assert.AreEqual(3.5, target.AC_COP) + End If + + If section = "Ventilation" Then + 'VENTILATION + '*********** + Assert.Areequal(True, target.VEN_VentilationOnDuringHeating) + Assert.Areequal(True, target.VEN_VentilationWhenBothHeatingAndACInactive) + Assert.Areequal(True, target.VEN_VentilationDuringAC) + Assert.Areequal("high", target.VEN_VentilationFlowSettingWhenHeatingAndACInactive) + Assert.Areequal("high", target.VEN_VentilationDuringHeating) + Assert.AreEqual("high", target.VEN_VentilationDuringCooling) - <TestFixture()> - Public Class _SSMTOOLTests - - 'TechBenefitsList - FilePath Constants - Private Const GOODTechList As String = "TestFiles\testSSMTechBenefits.csv" - Private Const GOODTechListALLON As String = "TestFiles\testSSMTechBenefitsALLON.csv" - Private Const GOODTechListALLOFF As String = "TestFiles\testSSMTechBenefitsALLOFF.csv" - Private Const GOODTechListEMPTYLIST As String = "TestFiles\testSSMTechBenefitsEMPTYLIST.csv" - - 'Helpers - Private Function AddDefaultTechLine(source As ISSMTOOL) As ITechListBenefitLine - - - Dim src As SSMTOOL = DirectCast(source, SSMTOOL) - - Dim newItem As ITechListBenefitLine = New TechListBenefitLine(src.genInputs) - - newItem.Units = "fraction" - newItem.Category = "Insulation" - newItem.BenefitName = "Benefit1" - - newItem.LowFloorH = 0.1 - newItem.LowFloorV = 0.1 - newItem.LowFloorC = 0.1 - - newItem.SemiLowFloorH = 0.1 - newItem.SemiLowFloorV = 0.1 - newItem.SemiLowFloorC = 0.1 - - newItem.RaisedFloorH = 0.1 - newItem.RaisedFloorV = 0.1 - newItem.RaisedFloorC = 0.1 - - newItem.OnVehicle = True - newItem.ActiveVH = True - newItem.ActiveVV = True - newItem.ActiveVC = True - newItem.LineType = TechLineType.Normal - - Dim feedback As String = String.Empty - - Assert.istrue(src.TechList.Add(newItem, feedback)) - - End Function - - 'SSMGenInputTests - <Test()> _ - <TestCase("BusParameterisation")> _ - <TestCase("BoundaryConditions")> _ - <TestCase("EnvironmentalConditions")> _ - <TestCase("AC-System")> _ - <TestCase("Ventilation")> _ - <TestCase("AuxHeater")> _ - Public Sub InstantiateDefaultSSMGenInputsTest(section As String) - - Dim target As ISSMGenInputs = New SSMGenInputs(True) - - If section = "BusParameterisation" Then - 'BUS Parameterisation - '******************** - Assert.AreEqual(47, target.BP_NumberOfPassengers) - Assert.AreEqual("raised floor", target.BP_BusFloorType) - Assert.AreEqual(24.1102486R, target.BP_BusFloorSurfaceArea, 2) - Assert.AreEqual(114.42325R, target.BP_BusSurfaceAreaM2) - Assert.AreEqual(20.98R, Math.Round(target.BP_BusWindowSurface, 2)) - Assert.AreEqual(61.81231875D, Math.Round(target.BP_BusVolume, 8)) - Assert.AreEqual(10.655R, target.BP_BusLength) - Assert.AreEqual(2.55R, target.BP_BusWidth) - End If + End If - If section = "BoundaryConditions" Then - 'BOUNDRY CONDITIONS - '****************** - Assert.AreEqual(0.95R, target.BC_GFactor) - Assert.AreEqual(0.8R, target.BC_SolarClouding) - Assert.AreEqual(80, target.BC_HeatPerPassengerIntoCabinW) - Assert.AreEqual(12, target.BC_PassengerBoundaryTemperature) - Assert.AreEqual(3.0R, target.BC_PassengerDensityLowFloor) - Assert.AreEqual(2.2R, target.BC_PassengerDensitySemiLowFloor) - Assert.AreEqual(1.4R, target.BC_PassengerDensityRaisedFloor) - Assert.AreEqual(34.0R, Math.Round(target.BC_CalculatedPassengerNumber, 4)) - Assert.AreEqual(3.0R, target.BC_UValues) - Assert.AreEqual(18, target.BC_HeatingBoundaryTemperature) - Assert.AreEqual(23, target.BC_CoolingBoundaryTemperature) - Assert.AreEqual(20, target.BC_HighVentilation) - Assert.AreEqual(7, target.BC_lowVentilation) - Assert.AreEqual(1236.25, Math.Round(target.BC_High, 2)) - Assert.AreEqual(432.69, Math.Round(target.BC_Low, 2)) - Assert.AreEqual(692.3, Math.Round(target.BC_HighVentPowerW, 2)) - Assert.AreEqual(242.3, Math.Round(target.BC_LowVentPowerW, 2)) - Assert.AreEqual(0.56R, target.BC_SpecificVentilationPower) - Assert.AreEqual(0.84, target.BC_AuxHeaterEfficiency) - Assert.AreEqual(11.8, target.BC_GCVDieselOrHeatingOil) - Assert.AreEqual(1.5R, target.BC_WindowAreaPerUnitBusLength) - Assert.AreEqual(5, target.BC_FrontRearWindowArea) - Assert.AreEqual(3, target.BC_MaxTemperatureDeltaForLowFloorBusses) - Assert.AreEqual(0.5R, target.BC_MaxPossibleBenefitFromTechnologyList) - End If + If section = "AuxHeater" Then + 'AUX HEATER + '********** + Assert.AreEqual(0, target.AH_EngineWasteHeatkW) + Assert.AreEqual(30, target.AH_FuelFiredHeaterkW) + End If + End Sub + 'Basic TechListTests + <Test()> + Public Sub Instantiate_TechListTest() - If section = "EnvironmentalConditions" Then - 'Environmental Conditions - '************************ - Assert.AreEqual(25.0, target.EC_EnviromentalTemperature) - Assert.AreEqual(400.0, target.EC_Solar) - End If + Dim gen As ISSMGenInputs = New SSMGenInputs(True) - If section = "AC-System" Then - 'AC-SYSTEM - '********* - Assert.AreEqual("2-stage", target.AC_CompressorType) - Assert.AreEqual(18, target.AC_CompressorCapacitykW) - Assert.AreEqual(3.5, target.AC_COP) - End If + Dim target As ISSMTechList = New SSMTechList(GOODTechList, gen) - If section = "Ventilation" Then - 'VENTILATION - '*********** - Assert.Areequal(True, target.VEN_VentilationOnDuringHeating) - Assert.Areequal(True, target.VEN_VentilationWhenBothHeatingAndACInactive) - Assert.Areequal(True, target.VEN_VentilationDuringAC) - Assert.Areequal("high", target.VEN_VentilationFlowSettingWhenHeatingAndACInactive) - Assert.Areequal("high", target.VEN_VentilationDuringHeating) - Assert.AreEqual("high", target.VEN_VentilationDuringCooling) - End If + Assert.IsTrue(target.Initialise()) + End Sub - If section = "AuxHeater" Then - 'AUX HEATER - '********** - Assert.AreEqual(0, target.AH_EngineWasteHeatkW) - Assert.AreEqual(30, target.AH_FuelFiredHeaterkW) - End If + <Test()> + Public Sub Instantiate_TechListTestALLON() - End Sub - 'Basic TechListTests - <Test()> - Public Sub Instantiate_TechListTest() + Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Dim target As ISSMTechList = New SSMTechList(GOODTechListALLON, gen) - Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Dim v As Double = target.CValueVariation - Dim target As ISSMTechList = New SSMTechList(GOODTechList, gen) + Assert.IsTrue(target.Initialise()) + Assert.AreEqual(0.142, Math.Round(target.HValueVariation, 3)) + Assert.AreEqual(0.006, Math.Round(target.VHValueVariation, 3)) + Assert.AreEqual(0.006, Math.Round(target.VVValueVariation, 3)) + Assert.AreEqual(0.006, Math.Round(target.VCValueVariation, 3)) + Assert.AreEqual(0.259, Math.Round(target.CValueVariation, 3)) - Assert.IsTrue(target.Initialise()) + Assert.AreEqual(0.0, Math.Round(target.VHValueVariationKW, 3)) + Assert.AreEqual(0.0, Math.Round(target.VVValueVariationKW, 3)) + Assert.AreEqual(0.0, Math.Round(target.VCValueVariationKW, 3)) + Assert.AreEqual(0.0, Math.Round(target.VCValueVariationKW, 3)) + Assert.AreEqual(-0.2, Math.Round(target.CValueVariationKW, 3)) + End Sub + 'List Management Methods + <Test()> + Public Sub Instantiate_TechListTestEMPTYList() - End Sub - <Test()> - Public Sub Instantiate_TechListTestALLON() + Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) - Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Assert.IsTrue(target.Initialise()) - Dim target As ISSMTechList = New SSMTechList(GOODTechListALLON, gen) + Assert.IsTrue(target.TechLines.Count = 0) + End Sub - Dim v As Double = target.CValueVariation + <Test()> + Public Sub Instantiate_TechListTestEMPTYListADD1() - Assert.IsTrue(target.Initialise()) - Assert.AreEqual(0.142, Math.Round(target.HValueVariation, 3)) - Assert.AreEqual(0.006, Math.Round(target.VHValueVariation, 3)) - Assert.AreEqual(0.006, Math.Round(target.VVValueVariation, 3)) - Assert.AreEqual(0.006, Math.Round(target.VCValueVariation, 3)) - Assert.AreEqual(0.259, Math.Round(target.CValueVariation, 3)) + Dim gen As ISSMGenInputs = New SSMGenInputs(True) - Assert.AreEqual(0.0, Math.Round(target.VHValueVariationKW, 3)) - Assert.AreEqual(0.0, Math.Round(target.VVValueVariationKW, 3)) - Assert.AreEqual(0.0, Math.Round(target.VCValueVariationKW, 3)) - Assert.AreEqual(0.0, Math.Round(target.VCValueVariationKW, 3)) - Assert.AreEqual(-0.2, Math.Round(target.CValueVariationKW, 3)) + Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) + Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) + newItem.Units = "fraction" + newItem.Category = "Insulation" + newItem.BenefitName = "Benefit1" + newItem.LowFloorH = 0.1 + newItem.LowFloorV = 0.1 + newItem.LowFloorC = 0.1 + newItem.SemiLowFloorH = 0.1 + newItem.SemiLowFloorV = 0.1 + newItem.SemiLowFloorC = 0.1 - End Sub + newItem.RaisedFloorH = 0.1 + newItem.RaisedFloorV = 0.1 + newItem.RaisedFloorC = 0.1 - 'List Management Methods - <Test()> - Public Sub Instantiate_TechListTestEMPTYList() + newItem.OnVehicle = True + newItem.ActiveVH = True + newItem.ActiveVV = True + newItem.ActiveVC = True + newItem.LineType = TechLineType.Normal + Dim feedback As String = String.Empty - Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Assert.istrue(target.Add(newItem, feedback)) - Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) - Assert.IsTrue(target.Initialise()) + Assert.IsTrue(target.TechLines.Count = 1) + End Sub - Assert.IsTrue(target.TechLines.Count = 0) + <Test()> + Public Sub Instantiate_TechListTestEMPTYListADD1Duplicate() - End Sub - <Test()> - Public Sub Instantiate_TechListTestEMPTYListADD1() + Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) - Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) - Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) + newItem.Units = "fraction" + newItem.Category = "Insulation" + newItem.BenefitName = "Benefit1" - Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) + newItem.LowFloorH = 0.1 + newItem.LowFloorV = 0.1 + newItem.LowFloorC = 0.1 - newItem.Units = "fraction" - newItem.Category = "Insulation" - newItem.BenefitName = "Benefit1" + newItem.SemiLowFloorH = 0.1 + newItem.SemiLowFloorV = 0.1 + newItem.SemiLowFloorC = 0.1 - newItem.LowFloorH = 0.1 - newItem.LowFloorV = 0.1 - newItem.LowFloorC = 0.1 + newItem.RaisedFloorH = 0.1 + newItem.RaisedFloorV = 0.1 + newItem.RaisedFloorC = 0.1 - newItem.SemiLowFloorH = 0.1 - newItem.SemiLowFloorV = 0.1 - newItem.SemiLowFloorC = 0.1 + newItem.OnVehicle = True + newItem.ActiveVH = True + newItem.ActiveVV = True + newItem.ActiveVC = True + newItem.LineType = TechLineType.Normal - newItem.RaisedFloorH = 0.1 - newItem.RaisedFloorV = 0.1 - newItem.RaisedFloorC = 0.1 + Dim feedback As String = String.Empty - newItem.OnVehicle = True - newItem.ActiveVH = True - newItem.ActiveVV = True - newItem.ActiveVC = True - newItem.LineType = TechLineType.Normal + Assert.istrue(target.Add(newItem, feedback)) + Assert.isFalse(target.Add(newItem, feedback)) - Dim feedback As String = String.Empty + Assert.IsTrue(target.TechLines.Count = 1) + End Sub - Assert.istrue(target.Add(newItem, feedback)) + <Test()> + Public Sub Instantiate_TechListTestEMPTYListADD1AndClear() - Assert.IsTrue(target.TechLines.Count = 1) + Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) - End Sub - <Test()> - Public Sub Instantiate_TechListTestEMPTYListADD1Duplicate() + Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) + newItem.Units = "fraction" + newItem.Category = "Insulation" + newItem.BenefitName = "Benefit1" - Dim gen As ISSMGenInputs = New SSMGenInputs(True) + newItem.LowFloorH = 0.1 + newItem.LowFloorV = 0.1 + newItem.LowFloorC = 0.1 - Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) + newItem.SemiLowFloorH = 0.1 + newItem.SemiLowFloorV = 0.1 + newItem.SemiLowFloorC = 0.1 - Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) + newItem.RaisedFloorH = 0.1 + newItem.RaisedFloorV = 0.1 + newItem.RaisedFloorC = 0.1 - newItem.Units = "fraction" - newItem.Category = "Insulation" - newItem.BenefitName = "Benefit1" + newItem.OnVehicle = True + newItem.ActiveVH = True + newItem.ActiveVV = True + newItem.ActiveVC = True + newItem.LineType = TechLineType.Normal - newItem.LowFloorH = 0.1 - newItem.LowFloorV = 0.1 - newItem.LowFloorC = 0.1 + Dim feedback As String = String.Empty - newItem.SemiLowFloorH = 0.1 - newItem.SemiLowFloorV = 0.1 - newItem.SemiLowFloorC = 0.1 + Assert.IsTrue(target.Add(newItem, feedback)) + Assert.IsTrue(target.TechLines.Count = 1) + target.Clear() + Assert.IsTrue(target.TechLines.Count = 0) + End Sub - newItem.RaisedFloorH = 0.1 - newItem.RaisedFloorV = 0.1 - newItem.RaisedFloorC = 0.1 + <Test()> + Public Sub Instantiate_TechListTestEMPTYListADD1AndModify() - newItem.OnVehicle = True - newItem.ActiveVH = True - newItem.ActiveVV = True - newItem.ActiveVC = True - newItem.LineType = TechLineType.Normal - Dim feedback As String = String.Empty + Dim gen As ISSMGenInputs = New SSMGenInputs(True) - Assert.istrue(target.Add(newItem, feedback)) - Assert.isFalse(target.Add(newItem, feedback)) + Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) - Assert.IsTrue(target.TechLines.Count = 1) + Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) + newItem.Units = "fraction" + newItem.Category = "Insulation" + newItem.BenefitName = "Benefit1" - End Sub - <Test()> - Public Sub Instantiate_TechListTestEMPTYListADD1AndClear() + newItem.LowFloorH = 0.1 + newItem.LowFloorV = 0.1 + newItem.LowFloorC = 0.1 + newItem.SemiLowFloorH = 0.1 + newItem.SemiLowFloorV = 0.1 + newItem.SemiLowFloorC = 0.1 - Dim gen As ISSMGenInputs = New SSMGenInputs(True) + newItem.RaisedFloorH = 0.1 + newItem.RaisedFloorV = 0.1 + newItem.RaisedFloorC = 0.1 - Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) + newItem.OnVehicle = True + newItem.ActiveVH = True + newItem.ActiveVV = True + newItem.ActiveVC = True + newItem.LineType = TechLineType.Normal - Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) + Dim feedback As String = String.Empty - newItem.Units = "fraction" - newItem.Category = "Insulation" - newItem.BenefitName = "Benefit1" + 'Add + Assert.IsTrue(target.Add(newItem, feedback)) - newItem.LowFloorH = 0.1 - newItem.LowFloorV = 0.1 - newItem.LowFloorC = 0.1 + 'Modify + newItem.LowFloorC = 0.99 + Assert.IsTrue(target.TechLines(0).IsEqualTo(newItem)) + End Sub - newItem.SemiLowFloorH = 0.1 - newItem.SemiLowFloorV = 0.1 - newItem.SemiLowFloorC = 0.1 + <Test()> + Public Sub Instantiate_TechListTestEMPTYListADD1andDeleteIt() - newItem.RaisedFloorH = 0.1 - newItem.RaisedFloorV = 0.1 - newItem.RaisedFloorC = 0.1 - newItem.OnVehicle = True - newItem.ActiveVH = True - newItem.ActiveVV = True - newItem.ActiveVC = True - newItem.LineType = TechLineType.Normal + Dim gen As ISSMGenInputs = New SSMGenInputs(True) - Dim feedback As String = String.Empty + Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) - Assert.IsTrue(target.Add(newItem, feedback)) - Assert.IsTrue(target.TechLines.Count = 1) - target.Clear() - Assert.IsTrue(target.TechLines.Count = 0) + Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) + newItem.Units = "fraction" + newItem.Category = "Insulation" + newItem.BenefitName = "Benefit1" - End Sub - <Test()> - Public Sub Instantiate_TechListTestEMPTYListADD1AndModify() + newItem.LowFloorH = 0.1 + newItem.LowFloorV = 0.1 + newItem.LowFloorC = 0.1 + newItem.SemiLowFloorH = 0.1 + newItem.SemiLowFloorV = 0.1 + newItem.SemiLowFloorC = 0.1 - Dim gen As ISSMGenInputs = New SSMGenInputs(True) + newItem.RaisedFloorH = 0.1 + newItem.RaisedFloorV = 0.1 + newItem.RaisedFloorC = 0.1 - Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) + newItem.OnVehicle = True + newItem.ActiveVH = True + newItem.ActiveVV = True + newItem.ActiveVC = True + newItem.LineType = TechLineType.Normal - Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) + Dim feedback As String = String.Empty - newItem.Units = "fraction" - newItem.Category = "Insulation" - newItem.BenefitName = "Benefit1" + Assert.IsTrue(target.Add(newItem, feedback)) + Assert.IsTrue(target.TechLines.Count = 1) + Assert.IsTrue(target.Delete(newItem, feedback)) + Assert.IsTrue(target.TechLines.Count = 0) + End Sub - newItem.LowFloorH = 0.1 - newItem.LowFloorV = 0.1 - newItem.LowFloorC = 0.1 + <Test()> + Public Sub Instantiate_TechListTestEMPTYListandDeleteNonExistantItem() - newItem.SemiLowFloorH = 0.1 - newItem.SemiLowFloorV = 0.1 - newItem.SemiLowFloorC = 0.1 - newItem.RaisedFloorH = 0.1 - newItem.RaisedFloorV = 0.1 - newItem.RaisedFloorC = 0.1 + Dim gen As ISSMGenInputs = New SSMGenInputs(True) - newItem.OnVehicle = True - newItem.ActiveVH = True - newItem.ActiveVV = True - newItem.ActiveVC = True - newItem.LineType = TechLineType.Normal + Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) - Dim feedback As String = String.Empty + Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) - 'Add - Assert.IsTrue(target.Add(newItem, feedback)) + newItem.Units = "fraction" + newItem.Category = "Insulation" + newItem.BenefitName = "Benefit1" - 'Modify - newItem.LowFloorC = 0.99 - Assert.IsTrue(target.TechLines(0).IsEqualTo(newItem)) + newItem.LowFloorH = 0.1 + newItem.LowFloorV = 0.1 + newItem.LowFloorC = 0.1 + newItem.SemiLowFloorH = 0.1 + newItem.SemiLowFloorV = 0.1 + newItem.SemiLowFloorC = 0.1 + newItem.RaisedFloorH = 0.1 + newItem.RaisedFloorV = 0.1 + newItem.RaisedFloorC = 0.1 - End Sub - <Test()> - Public Sub Instantiate_TechListTestEMPTYListADD1andDeleteIt() + newItem.OnVehicle = True + newItem.ActiveVH = True + newItem.ActiveVV = True + newItem.ActiveVC = True + newItem.LineType = TechLineType.Normal + Dim feedback As String = String.Empty - Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Assert.IsFalse(target.Delete(newItem, feedback)) + End Sub - Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) + 'TechListLineTests + <Test()> + Public Sub Instantiate_NewTechListLine() - Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) + Dim gen As ISSMGenInputs = New SSMGenInputs(True) - newItem.Units = "fraction" - newItem.Category = "Insulation" - newItem.BenefitName = "Benefit1" + Dim ttl As ITechListBenefitLine = New TechListBenefitLine(gen) - newItem.LowFloorH = 0.1 - newItem.LowFloorV = 0.1 - newItem.LowFloorC = 0.1 + Assert.IsNotNull(ttl) + End Sub - newItem.SemiLowFloorH = 0.1 - newItem.SemiLowFloorV = 0.1 - newItem.SemiLowFloorC = 0.1 + <Test()> + Public Sub TechBenefitLineCompareAsEqual() - newItem.RaisedFloorH = 0.1 - newItem.RaisedFloorV = 0.1 - newItem.RaisedFloorC = 0.1 + Dim gen As ISSMGenInputs = New SSMGenInputs(True) - newItem.OnVehicle = True - newItem.ActiveVH = True - newItem.ActiveVV = True - newItem.ActiveVC = True - newItem.LineType = TechLineType.Normal + Dim ttl1 As ITechListBenefitLine = New TechListBenefitLine(gen) + Dim ttl2 As ITechListBenefitLine = New TechListBenefitLine(gen) - Dim feedback As String = String.Empty + Assert.IsTrue(ttl1.IsEqualTo(ttl2)) + End Sub - Assert.IsTrue(target.Add(newItem, feedback)) - Assert.IsTrue(target.TechLines.Count = 1) - Assert.IsTrue(target.Delete(newItem, feedback)) - Assert.IsTrue(target.TechLines.Count = 0) + <Test()> _ + <TestCase("Category")> _ + <TestCase("BenefitName")> _ + <TestCase("ActiveVC")> _ + <TestCase("ActiveVH")> _ + <TestCase("ActiveVV")> _ + <TestCase("LineType")> _ + <TestCase("LowFloorC")> _ + <TestCase("LowFloorV")> _ + <TestCase("LowFloorH")> _ + <TestCase("SemiLowFloorC")> _ + <TestCase("SemiLowFloorH")> _ + <TestCase("SemiLowFloorV")> _ + <TestCase("RaisedFloorC")> _ + <TestCase("RaisedFloorH")> _ + <TestCase("RaisedFloorV")> _ + <TestCase("Units")> _ + <TestCase("OnVehicle")> + Public Sub TechBenefitLineCompareAsUnequal(prop As String) + Dim gen As ISSMGenInputs = New SSMGenInputs(True) - End Sub - <Test()> - Public Sub Instantiate_TechListTestEMPTYListandDeleteNonExistantItem() + Dim ttl1 As ITechListBenefitLine = New TechListBenefitLine(gen) + Dim ttl2 As ITechListBenefitLine = New TechListBenefitLine(gen) + Select Case prop - Dim gen As ISSMGenInputs = New SSMGenInputs(True) - Dim target As ISSMTechList = New SSMTechList(GOODTechListEMPTYLIST, gen) + Case "Category" + ttl2.Category = "NOT" + Case "BenefitName" + ttl2.BenefitName = "NOT" + Case "ActiveVC" + ttl2.ActiveVC = True + Case "ActiveVH" + ttl2.ActiveVH = True + Case "ActiveVV" + ttl2.ActiveVV = True + Case "LineType" + ttl2.LineType = TechLineType.HVCActiveSelection + Case "LowFloorC" + ttl2.LowFloorC = 1 + Case "LowFloorV" + ttl2.LowFloorV = 1 + Case "LowFloorH" + ttl2.LowFloorH = 1 + Case "SemiLowFloorC" + ttl2.SemiLowFloorC = 1 + Case "SemiLowFloorH" + ttl2.SemiLowFloorH = 1 + Case "SemiLowFloorV" + ttl2.SemiLowFloorH = 1 + Case "RaisedFloorC" + ttl2.RaisedFloorC = 1 + Case "RaisedFloorH" + ttl2.RaisedFloorH = 1 + Case "RaisedFloorV" + ttl2.RaisedFloorV = 1 + Case "Units" + ttl2.Units = "NONE" + Case "OnVehicle" + ttl2.OnVehicle = True - Dim newItem As ITechListBenefitLine = New TechListBenefitLine(gen) + End Select - newItem.Units = "fraction" - newItem.Category = "Insulation" - newItem.BenefitName = "Benefit1" - newItem.LowFloorH = 0.1 - newItem.LowFloorV = 0.1 - newItem.LowFloorC = 0.1 + Assert.IsFalse(ttl1.IsEqualTo(ttl2)) + End Sub - newItem.SemiLowFloorH = 0.1 - newItem.SemiLowFloorV = 0.1 - newItem.SemiLowFloorC = 0.1 + 'SSMTOOL Persistance + <Test()> + Public Sub SaveAndRetreiveTest() - newItem.RaisedFloorH = 0.1 - newItem.RaisedFloorV = 0.1 - newItem.RaisedFloorC = 0.1 + Const filePath As String = "SSMTOOLTestSaveRetreive.json" - newItem.OnVehicle = True - newItem.ActiveVH = True - newItem.ActiveVV = True - newItem.ActiveVC = True - newItem.LineType = TechLineType.Normal + Dim target As SSMTOOL = New SSMTOOL(filePath, New HVACConstants(), False, True) - Dim feedback As String = String.Empty + target.Save(filePath) - Assert.IsFalse(target.Delete(newItem, feedback)) + 'change something + target.GenInputs.BP_BusLength = 202.202 - End Sub + Assert.AreEqual(target.GenInputs.BP_BusLength, 202.202) - 'TechListLineTests - <Test()> - Public Sub Instantiate_NewTechListLine() + 'Retreive + target.Load(filePath) - Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Assert.AreEqual(target.GenInputs.BP_BusLength, 10.655) + End Sub - Dim ttl As ITechListBenefitLine = New TechListBenefitLine(gen) + 'GenInputs Comparison + <Test()> + Public Sub SSMTOOL_COMPARISON_GENINPUTS_EQUAL() - Assert.IsNotNull(ttl) + Const filePath As String = "SSMTOOLTestSaveRetreive.json" - End Sub - <Test()> - Public Sub TechBenefitLineCompareAsEqual() + Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Dim gen As ISSMGenInputs = New SSMGenInputs(True) - Dim ttl1 As ITechListBenefitLine = New TechListBenefitLine(gen) - Dim ttl2 As ITechListBenefitLine = New TechListBenefitLine(gen) + Assert.IsTrue(ssmTool1.IsEqualTo(ssmTool2)) + End Sub - Assert.IsTrue(ttl1.IsEqualTo(ttl2)) + <Test()> + Public Sub SSMTOOL_COMPARISON_GENINPUTS_UNEQUAL() + Const filePath As String = "SSMTOOLTestSaveRetreive.json" - End Sub - <Test()> _ - <TestCase("Category")> _ - <TestCase("BenefitName")> _ - <TestCase("ActiveVC")> _ - <TestCase("ActiveVH")> _ - <TestCase("ActiveVV")> _ - <TestCase("LineType")> _ - <TestCase("LowFloorC")> _ - <TestCase("LowFloorV")> _ - <TestCase("LowFloorH")> _ - <TestCase("SemiLowFloorC")> _ - <TestCase("SemiLowFloorH")> _ - <TestCase("SemiLowFloorV")> _ - <TestCase("RaisedFloorC")> _ - <TestCase("RaisedFloorH")> _ - <TestCase("RaisedFloorV")> _ - <TestCase("Units")> _ - <TestCase("OnVehicle")> _ - Public Sub TechBenefitLineCompareAsUnequal(prop As String) - Dim gen As ISSMGenInputs = New SSMGenInputs(True) + Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Dim ttl1 As ITechListBenefitLine = New TechListBenefitLine(gen) - Dim ttl2 As ITechListBenefitLine = New TechListBenefitLine(gen) + 'Alter somthing + ssmTool1.genInputs.BP_BusLength = 11 - Select Case prop + Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Case "Category" - ttl2.Category = "NOT" - Case "BenefitName" - ttl2.BenefitName = "NOT" - Case "ActiveVC" - ttl2.ActiveVC = True - Case "ActiveVH" - ttl2.ActiveVH = True - Case "ActiveVV" - ttl2.ActiveVV = True - Case "LineType" - ttl2.LineType = TechLineType.HVCActiveSelection - Case "LowFloorC" - ttl2.LowFloorC = 1 - Case "LowFloorV" - ttl2.LowFloorV = 1 - Case "LowFloorH" - ttl2.LowFloorH = 1 - Case "SemiLowFloorC" - ttl2.SemiLowFloorC = 1 - Case "SemiLowFloorH" - ttl2.SemiLowFloorH = 1 - Case "SemiLowFloorV" - ttl2.SemiLowFloorH = 1 - Case "RaisedFloorC" - ttl2.RaisedFloorC = 1 - Case "RaisedFloorH" - ttl2.RaisedFloorH = 1 - Case "RaisedFloorV" - ttl2.RaisedFloorV = 1 - Case "Units" - ttl2.Units = "NONE" - Case "OnVehicle" - ttl2.OnVehicle = True + Assert.IsFalse(ssmTool1.IsEqualTo(ssmTool2)) + End Sub - End Select + 'TechListBenefitLine Comparison + <Test()> + Public Sub SSMTOOL_COMPARISON_TECHLIST_EQUAL() + Const filePath As String = "SSMTOOLTestSaveRetreive.json" - Assert.IsFalse(ttl1.IsEqualTo(ttl2)) + Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - End Sub - 'SSMTOOL Persistance - <Test()> - Public Sub SaveAndRetreiveTest() + Assert.IsTrue(ssmTool1.IsEqualTo(ssmTool2)) + End Sub - Const filePath As String = "SSMTOOLTestSaveRetreive.json" + <Test()> + Public Sub SSMTOOL_COMPARISON_TECHLIST_EMPTYLISTS_UNEQUALCOUNT() - Dim target As SSMTOOL = New SSMTOOL(filePath, New HVACConstants(), False, True) + Const filePath As String = "SSMTOOLTestSaveRetreive.json" - target.Save(filePath) - 'change something - target.GenInputs.BP_BusLength = 202.202 + Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Assert.AreEqual(target.GenInputs.BP_BusLength, 202.202) + 'Change something on techlist + AddDefaultTechLine(ssmTool1) - 'Retreive - target.Load(filePath) + Assert.IsFalse(ssmTool1.IsEqualTo(ssmTool2)) + End Sub - Assert.AreEqual(target.GenInputs.BP_BusLength, 10.655) + <Test()> + Public Sub SSMTOOL_COMPARISON_TECHLIST_IDENTICAL_EQUAL() - End Sub + Const filePath As String = "SSMTOOLTestSaveRetreive.json" - 'GenInputs Comparison - <Test()> - Public Sub SSMTOOL_COMPARISON_GENINPUTS_EQUAL() - Const filePath As String = "SSMTOOLTestSaveRetreive.json" + Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + 'Change something on techlist + AddDefaultTechLine(ssmTool1) + AddDefaultTechLine(ssmTool2) - Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + Assert.IsTrue(ssmTool1.IsEqualTo(ssmTool2)) + End Sub + <Test()> + Public Sub SSMTOOL_COMPARISON_TECHLIST_IDENTICAL_SINGLEKeyValueDifference() - Assert.IsTrue(ssmTool1.IsEqualTo(ssmTool2)) + Const filePath As String = "SSMTOOLTestSaveRetreive.json" - End Sub - <Test()> - Public Sub SSMTOOL_COMPARISON_GENINPUTS_UNEQUAL() + Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Const filePath As String = "SSMTOOLTestSaveRetreive.json" + 'Change something on techlist + AddDefaultTechLine(ssmTool1) + AddDefaultTechLine(ssmTool2) + 'Make Unequal + ssmTool2.TechList.TechLines(0).BenefitName = "Doobie" - Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + Assert.IsFalse(ssmTool1.IsEqualTo(ssmTool2)) + End Sub - 'Alter somthing - ssmTool1.genInputs.BP_BusLength = 11 + <Test()> + Public Sub SSMTOOL_COMPARISON_TECHLIST_IDENTICAL_SINGLEValueDifference() - Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + Const filePath As String = "SSMTOOLTestSaveRetreive.json" - Assert.IsFalse(ssmTool1.IsEqualTo(ssmTool2)) + Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) + 'Change something on techlist + AddDefaultTechLine(ssmTool1) + AddDefaultTechLine(ssmTool2) - End Sub - - 'TechListBenefitLine Comparison - <Test()> - Public Sub SSMTOOL_COMPARISON_TECHLIST_EQUAL() - - Const filePath As String = "SSMTOOLTestSaveRetreive.json" - - - Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - - - Assert.IsTrue(ssmTool1.IsEqualTo(ssmTool2)) - - - End Sub - <Test()> - Public Sub SSMTOOL_COMPARISON_TECHLIST_EMPTYLISTS_UNEQUALCOUNT() - - Const filePath As String = "SSMTOOLTestSaveRetreive.json" - - - Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - - 'Change something on techlist - AddDefaultTechLine(ssmTool1) - - Assert.IsFalse(ssmTool1.IsEqualTo(ssmTool2)) - - End Sub - <Test()> - Public Sub SSMTOOL_COMPARISON_TECHLIST_IDENTICAL_EQUAL() - - Const filePath As String = "SSMTOOLTestSaveRetreive.json" - - - Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - - 'Change something on techlist - AddDefaultTechLine(ssmTool1) - AddDefaultTechLine(ssmTool2) - - Assert.IsTrue(ssmTool1.IsEqualTo(ssmTool2)) - - End Sub - <Test()> - Public Sub SSMTOOL_COMPARISON_TECHLIST_IDENTICAL_SINGLEKeyValueDifference() - - Const filePath As String = "SSMTOOLTestSaveRetreive.json" - - - Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - - 'Change something on techlist - AddDefaultTechLine(ssmTool1) - AddDefaultTechLine(ssmTool2) - - 'Make Unequal - ssmTool2.TechList.TechLines(0).BenefitName = "Doobie" - - Assert.IsFalse(ssmTool1.IsEqualTo(ssmTool2)) - - End Sub - <Test()> - Public Sub SSMTOOL_COMPARISON_TECHLIST_IDENTICAL_SINGLEValueDifference() - - Const filePath As String = "SSMTOOLTestSaveRetreive.json" - - - Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath, New HVACConstants()) - - 'Change something on techlist - AddDefaultTechLine(ssmTool1) - AddDefaultTechLine(ssmTool2) - - 'Make Unequal - ssmTool2.TechList.TechLines(0).ActiveVV = False - - Assert.IsFalse(ssmTool1.IsEqualTo(ssmTool2)) - - End Sub - - End Class + 'Make Unequal + ssmTool2.TechList.TechLines(0).ActiveVV = False + Assert.IsFalse(ssmTool1.IsEqualTo(ssmTool2)) + End Sub + End Class End Namespace - diff --git a/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj b/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj index cd4aafca78c5c9b7081561dcf75ab52609ccf2f9..5ed4e8445d1a242a661fb915aea7e0155b088926 100644 --- a/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj +++ b/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj @@ -101,6 +101,7 @@ <ItemGroup> <Compile Include="Mocks\AlternatorMapMock.vb" /> <Compile Include="Mocks\CompressorMapMock.vb" /> + <Compile Include="Mocks\MockFuel50PC.vb" /> <Compile Include="UnitTests\AuxiliaryEnvironmentComparisonTests.vb" /> <Compile Include="Mocks\M1_Mock.vb" /> <Compile Include="Mocks\M2_Mock.vb" /> @@ -109,11 +110,9 @@ <Compile Include="Mocks\M5_Mock.vb" /> <Compile Include="Mocks\M6_Mock.vb" /> <Compile Include="Mocks\M7_Mock.vb" /> - <Compile Include="Mocks\MockFuel50PC.vb" /> <Compile Include="UnitTests\BusDatabaseTests.vb" /> <Compile Include="UnitTests\CombinedAlternatorTests.vb" /> <Compile Include="UnitTests\FilePathUtilityTests.vb" /> - <Compile Include="UnitTests\FuelMapTests.vb" /> <Compile Include="UnitTests\HVACSSMMapTests.vb" /> <Compile Include="UnitTests\M0_5_SmartAlternatorSetEfficiencyTests.vb" /> <Compile Include="UnitTests\M0_NonSmart_AlternatorsSetEfficiencyTests.vb" />