Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 20028dc8 authored by Terry Burns's avatar Terry Burns Committed by Kostis ANAGNOSTOPOULOS
Browse files
parent a9f12bdf
Branches
Tags
No related merge requests found
......@@ -4,7 +4,7 @@ module Main
Sub main()
Dim frm As New Form1'frmHVACTool("BusDatabase.csv")
Dim frm As New frmHVACTool("BusDatabase.csv", "ssm.Ahsm")
frm.ShowDialog
......
......@@ -4,6 +4,7 @@ Namespace Hvac
Public Interface ISSMGenInputs
'Bus Parameterisation
Property BP_BusModel As String
Property BP_NumberOfPassengers As Double
Property BP_BusFloorType As string
Readonly Property BP_BusFloorSurfaceArea As Double
......
......@@ -17,6 +17,11 @@ Function Load(filePath As String) As Boolean
Function Save(filePath As String) As Boolean
Function IsEqualTo( source As ISSMTOOL) As Boolean
End Interface
......@@ -5,8 +5,11 @@ Namespace Hvac
Implements ISSMGenInputs
'BUS Parameterisation
'********************
'C4/D4
Public Property BP_BusModel As String Implements ISSMGenInputs.BP_BusModel
'D5/C5
Public Property BP_NumberOfPassengers As Double Implements ISSMGenInputs.BP_NumberOfPassengers
'D6/C6
......@@ -206,6 +209,7 @@ Namespace Hvac
'BUS Parameterisation
'********************
BP_BusModel = "DummyBus"
BP_NumberOfPassengers =47R
BP_BusFloorType ="raised floor"
'BP_BusFloorSurfaceArea : Calculated
......@@ -279,6 +283,7 @@ Namespace Hvac
End Sub
End Class
End Namespace
......
......@@ -2,20 +2,20 @@
Imports VectoAuxiliaries.Hvac
Imports Newtonsoft.Json
Imports System.IO
Imports System.Reflection
Namespace Hvac
Public Class SSMTOOL
Implements ISSMTOOL
Private filePath As String
Public genInputs As ISSMGenInputs
Public techList As ISSMTechList
'Public facing properties, final results from calculations.
Public ReadOnly Property ElectricalWAdjusted As Single Implements ISSMTOOL.ElectricalWAdjusted
Get
......@@ -49,12 +49,11 @@ Implements ISSMTOOL
End Property
'Constructors
Sub New()
End Sub
Sub New(filePath As String)
Me.filePath = filePath
......@@ -65,7 +64,7 @@ Implements ISSMTOOL
End Sub
'Clone values from another object of same type
Public Sub Clone(from As ISSMTOOL) Implements ISSMTOOL.Clone
Dim feedback As String = String.Empty
......@@ -85,8 +84,6 @@ Implements ISSMTOOL
End Sub
'Persistance Functions
Public Function Save(filePath As String) As Boolean Implements ISSMTOOL.Save
......@@ -142,10 +139,76 @@ Public Function Load(filePath As String) As Boolean Implements ISSMTOOL.Load
End Function
'Comparison
Public Function IsEqualTo(source As ISSMTOOL) As Boolean Implements ISSMTOOL.IsEqualTo
End Class
'In this methods we only want to compare the non Static , non readonly public properties of
'The class's General, User Inputs and Tech Benefit members.
Return compareGenUserInputs(source) AndAlso compareTechListBenefitLines(source)
End Function
Private Function compareGenUserInputs(source As ISSMTOOL) As Boolean
Dim src As SSMTOOL = DirectCast(source, SSMTOOL)
Dim returnValue As Boolean = True
Dim properties As PropertyInfo() = Me.genInputs.GetType.GetProperties
For Each prop As propertyinfo In properties
If Not prop.GetAccessors.IsReadOnly
if prop.GetValue(Me.genInputs,nothing)<> prop.GetValue(src.genInputs,nothing) then
returnValue=False
End If
End If
Next
Return returnValue
End Function
Private Function compareTechListBenefitLines(source As ISSMTOOL) As Boolean
Dim src As SSMTOOL = DirectCast( source, SSMTOOL)
'Equal numbers of lines check
If Me.techList.TechLines.Count<> src.techList.TechLines.Count then return false
For Each tl As ITechListBenefitLine In Me.techList.TechLines.OrderBy( Function(o) o.Category).ThenBy( Function(n) n.BenefitName)
'First Check line exists in other
If src.techList.TechLines.Where( Function(w) w.BenefitName= tl.BenefitName AndAlso w.Category=tl.Category).Count<>1 then
Return False
Else
'check are equal
If Not src.techList.TechLines.first( Function(w) w.BenefitName= tl.BenefitName AndAlso w.Category=tl.Category).IsEqualTo( tl ) then
Return False
End If
End If
Next
'All Looks OK
Return true
End Function
End Class
End Namespace
......
......@@ -22,63 +22,371 @@ Partial Class frmHVACTool
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.tabBusParameters = New System.Windows.Forms.TabPage()
Me.tabTechListInput = New System.Windows.Forms.TabPage()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.txtBusModel = New System.Windows.Forms.TextBox()
Me.lblBusModel = New System.Windows.Forms.Label()
Me.txtBusFloorType = New System.Windows.Forms.TextBox()
Me.lblBusFloorType = New System.Windows.Forms.Label()
Me.lblUnitsBW = New System.Windows.Forms.Label()
Me.lblUnitsBSA = New System.Windows.Forms.Label()
Me.lblUnitsBWSA = New System.Windows.Forms.Label()
Me.lblUnitsBV = New System.Windows.Forms.Label()
Me.lblUnitsBL = New System.Windows.Forms.Label()
Me.lblUnitsBFSA = New System.Windows.Forms.Label()
Me.txtBusWidth = New System.Windows.Forms.TextBox()
Me.txtBusLength = New System.Windows.Forms.TextBox()
Me.txtBusVolume = New System.Windows.Forms.TextBox()
Me.lblBusVolume = New System.Windows.Forms.Label()
Me.lblBusLength = New System.Windows.Forms.Label()
Me.lblBusWidth = New System.Windows.Forms.Label()
Me.txtBusWindowSurfaceArea = New System.Windows.Forms.TextBox()
Me.lblBusWindowSurfaceArea = New System.Windows.Forms.Label()
Me.txtBusSurfaceArea = New System.Windows.Forms.TextBox()
Me.lblBusSurfaceArea = New System.Windows.Forms.Label()
Me.txtBusFloorSurfaceArea = New System.Windows.Forms.TextBox()
Me.lblBusFloorSurfaceArea = New System.Windows.Forms.Label()
Me.txtRegisteredPassengers = New System.Windows.Forms.TextBox()
Me.lblRegisteredPassengers = New System.Windows.Forms.Label()
Me.cboBuses = New System.Windows.Forms.ComboBox()
Me.tabTechListInput = New System.Windows.Forms.TabPage()
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
Me.TabControl1.SuspendLayout
Me.tabBusParameters.SuspendLayout
Me.GroupBox1.SuspendLayout
Me.SuspendLayout
'
'TabControl1
'
Me.TabControl1.Controls.Add(Me.tabBusParameters)
Me.TabControl1.Controls.Add(Me.tabTechListInput)
Me.TabControl1.Location = New System.Drawing.Point(53, 37)
Me.TabControl1.Location = New System.Drawing.Point(8, 33)
Me.TabControl1.Name = "TabControl1"
Me.TabControl1.SelectedIndex = 0
Me.TabControl1.Size = New System.Drawing.Size(648, 415)
Me.TabControl1.Size = New System.Drawing.Size(945, 623)
Me.TabControl1.TabIndex = 0
'
'tabBusParameters
'
Me.tabBusParameters.Controls.Add(Me.GroupBox1)
Me.tabBusParameters.Controls.Add(Me.cboBuses)
Me.tabBusParameters.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
Me.tabBusParameters.Location = New System.Drawing.Point(4, 22)
Me.tabBusParameters.Name = "tabBusParameters"
Me.tabBusParameters.Padding = New System.Windows.Forms.Padding(3)
Me.tabBusParameters.Size = New System.Drawing.Size(640, 389)
Me.tabBusParameters.Size = New System.Drawing.Size(937, 597)
Me.tabBusParameters.TabIndex = 0
Me.tabBusParameters.Text = "INP BusParameters"
Me.tabBusParameters.UseVisualStyleBackColor = true
'
'tabTechListInput
'GroupBox1
'
Me.tabTechListInput.Location = New System.Drawing.Point(4, 22)
Me.tabTechListInput.Name = "tabTechListInput"
Me.tabTechListInput.Padding = New System.Windows.Forms.Padding(3)
Me.tabTechListInput.Size = New System.Drawing.Size(640, 389)
Me.tabTechListInput.TabIndex = 1
Me.tabTechListInput.Text = "Tech List Input"
Me.tabTechListInput.UseVisualStyleBackColor = true
Me.GroupBox1.BackColor = System.Drawing.Color.Transparent
Me.GroupBox1.Controls.Add(Me.txtBusModel)
Me.GroupBox1.Controls.Add(Me.lblBusModel)
Me.GroupBox1.Controls.Add(Me.txtBusFloorType)
Me.GroupBox1.Controls.Add(Me.lblBusFloorType)
Me.GroupBox1.Controls.Add(Me.lblUnitsBW)
Me.GroupBox1.Controls.Add(Me.lblUnitsBSA)
Me.GroupBox1.Controls.Add(Me.lblUnitsBWSA)
Me.GroupBox1.Controls.Add(Me.lblUnitsBV)
Me.GroupBox1.Controls.Add(Me.lblUnitsBL)
Me.GroupBox1.Controls.Add(Me.lblUnitsBFSA)
Me.GroupBox1.Controls.Add(Me.txtBusWidth)
Me.GroupBox1.Controls.Add(Me.txtBusLength)
Me.GroupBox1.Controls.Add(Me.txtBusVolume)
Me.GroupBox1.Controls.Add(Me.lblBusVolume)
Me.GroupBox1.Controls.Add(Me.lblBusLength)
Me.GroupBox1.Controls.Add(Me.lblBusWidth)
Me.GroupBox1.Controls.Add(Me.txtBusWindowSurfaceArea)
Me.GroupBox1.Controls.Add(Me.lblBusWindowSurfaceArea)
Me.GroupBox1.Controls.Add(Me.txtBusSurfaceArea)
Me.GroupBox1.Controls.Add(Me.lblBusSurfaceArea)
Me.GroupBox1.Controls.Add(Me.txtBusFloorSurfaceArea)
Me.GroupBox1.Controls.Add(Me.lblBusFloorSurfaceArea)
Me.GroupBox1.Controls.Add(Me.txtRegisteredPassengers)
Me.GroupBox1.Controls.Add(Me.lblRegisteredPassengers)
Me.GroupBox1.FlatStyle = System.Windows.Forms.FlatStyle.Popup
Me.GroupBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10!)
Me.GroupBox1.ForeColor = System.Drawing.Color.Green
Me.GroupBox1.Location = New System.Drawing.Point(34, 80)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(416, 294)
Me.GroupBox1.TabIndex = 1
Me.GroupBox1.TabStop = false
Me.GroupBox1.Text = "Bus Parameterisation"
'
'txtBusModel
'
Me.txtBusModel.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.txtBusModel.Location = New System.Drawing.Point(179, 30)
Me.txtBusModel.Name = "txtBusModel"
Me.txtBusModel.Size = New System.Drawing.Size(208, 21)
Me.txtBusModel.TabIndex = 25
'
'lblBusModel
'
Me.lblBusModel.AutoSize = true
Me.lblBusModel.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.lblBusModel.ForeColor = System.Drawing.Color.Black
Me.lblBusModel.Location = New System.Drawing.Point(14, 33)
Me.lblBusModel.Name = "lblBusModel"
Me.lblBusModel.Size = New System.Drawing.Size(138, 15)
Me.lblBusModel.TabIndex = 24
Me.lblBusModel.Text = "Registered Passengers "
'
'txtBusFloorType
'
Me.txtBusFloorType.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.txtBusFloorType.Location = New System.Drawing.Point(179, 90)
Me.txtBusFloorType.Name = "txtBusFloorType"
Me.txtBusFloorType.ReadOnly = true
Me.txtBusFloorType.Size = New System.Drawing.Size(97, 21)
Me.txtBusFloorType.TabIndex = 23
'
'lblBusFloorType
'
Me.lblBusFloorType.AutoSize = true
Me.lblBusFloorType.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.lblBusFloorType.ForeColor = System.Drawing.Color.Black
Me.lblBusFloorType.Location = New System.Drawing.Point(14, 88)
Me.lblBusFloorType.Name = "lblBusFloorType"
Me.lblBusFloorType.Size = New System.Drawing.Size(88, 15)
Me.lblBusFloorType.TabIndex = 22
Me.lblBusFloorType.Text = "Bus Floor Type"
'
'lblUnitsBW
'
Me.lblUnitsBW.AutoSize = true
Me.lblUnitsBW.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
Me.lblUnitsBW.Location = New System.Drawing.Point(283, 261)
Me.lblUnitsBW.Name = "lblUnitsBW"
Me.lblUnitsBW.Size = New System.Drawing.Size(18, 15)
Me.lblUnitsBW.TabIndex = 21
Me.lblUnitsBW.Text = "m"
Me.ToolTip1.SetToolTip(Me.lblUnitsBW, "Linear Metres")
'
'lblUnitsBSA
'
Me.lblUnitsBSA.AutoSize = true
Me.lblUnitsBSA.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
Me.lblUnitsBSA.Location = New System.Drawing.Point(283, 146)
Me.lblUnitsBSA.Name = "lblUnitsBSA"
Me.lblUnitsBSA.Size = New System.Drawing.Size(31, 15)
Me.lblUnitsBSA.TabIndex = 20
Me.lblUnitsBSA.Text = "m^2"
Me.ToolTip1.SetToolTip(Me.lblUnitsBSA, "Metres Squared")
'
'lblUnitsBWSA
'
Me.lblUnitsBWSA.AutoSize = true
Me.lblUnitsBWSA.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
Me.lblUnitsBWSA.Location = New System.Drawing.Point(283, 175)
Me.lblUnitsBWSA.Name = "lblUnitsBWSA"
Me.lblUnitsBWSA.Size = New System.Drawing.Size(31, 15)
Me.lblUnitsBWSA.TabIndex = 19
Me.lblUnitsBWSA.Text = "m^2"
Me.ToolTip1.SetToolTip(Me.lblUnitsBWSA, "Metres Squared")
'
'lblUnitsBV
'
Me.lblUnitsBV.AutoSize = true
Me.lblUnitsBV.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
Me.lblUnitsBV.Location = New System.Drawing.Point(283, 202)
Me.lblUnitsBV.Name = "lblUnitsBV"
Me.lblUnitsBV.Size = New System.Drawing.Size(31, 15)
Me.lblUnitsBV.TabIndex = 18
Me.lblUnitsBV.Text = "m^3"
Me.ToolTip1.SetToolTip(Me.lblUnitsBV, "Metres Cubed")
'
'lblUnitsBL
'
Me.lblUnitsBL.AutoSize = true
Me.lblUnitsBL.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
Me.lblUnitsBL.Location = New System.Drawing.Point(283, 230)
Me.lblUnitsBL.Name = "lblUnitsBL"
Me.lblUnitsBL.Size = New System.Drawing.Size(18, 15)
Me.lblUnitsBL.TabIndex = 17
Me.lblUnitsBL.Text = "m"
Me.ToolTip1.SetToolTip(Me.lblUnitsBL, "Linear Metres")
'
'lblUnitsBFSA
'
Me.lblUnitsBFSA.AutoSize = true
Me.lblUnitsBFSA.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
Me.lblUnitsBFSA.Location = New System.Drawing.Point(283, 120)
Me.lblUnitsBFSA.Name = "lblUnitsBFSA"
Me.lblUnitsBFSA.Size = New System.Drawing.Size(31, 15)
Me.lblUnitsBFSA.TabIndex = 16
Me.lblUnitsBFSA.Text = "m^2"
Me.ToolTip1.SetToolTip(Me.lblUnitsBFSA, "Metres Squared")
'
'txtBusWidth
'
Me.txtBusWidth.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.txtBusWidth.Location = New System.Drawing.Point(179, 258)
Me.txtBusWidth.Name = "txtBusWidth"
Me.txtBusWidth.Size = New System.Drawing.Size(97, 21)
Me.txtBusWidth.TabIndex = 15
'
'txtBusLength
'
Me.txtBusLength.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.txtBusLength.Location = New System.Drawing.Point(179, 229)
Me.txtBusLength.Name = "txtBusLength"
Me.txtBusLength.Size = New System.Drawing.Size(97, 21)
Me.txtBusLength.TabIndex = 14
'
'txtBusVolume
'
Me.txtBusVolume.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.txtBusVolume.Location = New System.Drawing.Point(179, 202)
Me.txtBusVolume.Name = "txtBusVolume"
Me.txtBusVolume.Size = New System.Drawing.Size(97, 21)
Me.txtBusVolume.TabIndex = 13
'
'lblBusVolume
'
Me.lblBusVolume.AutoSize = true
Me.lblBusVolume.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.lblBusVolume.ForeColor = System.Drawing.Color.Black
Me.lblBusVolume.Location = New System.Drawing.Point(14, 205)
Me.lblBusVolume.Name = "lblBusVolume"
Me.lblBusVolume.Size = New System.Drawing.Size(73, 15)
Me.lblBusVolume.TabIndex = 12
Me.lblBusVolume.Text = "Bus Volume"
'
'lblBusLength
'
Me.lblBusLength.AutoSize = true
Me.lblBusLength.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.lblBusLength.ForeColor = System.Drawing.Color.Black
Me.lblBusLength.Location = New System.Drawing.Point(14, 232)
Me.lblBusLength.Name = "lblBusLength"
Me.lblBusLength.Size = New System.Drawing.Size(72, 15)
Me.lblBusLength.TabIndex = 11
Me.lblBusLength.Text = "Bus Length"
'
'lblBusWidth
'
Me.lblBusWidth.AutoSize = true
Me.lblBusWidth.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.lblBusWidth.ForeColor = System.Drawing.Color.Black
Me.lblBusWidth.Location = New System.Drawing.Point(14, 261)
Me.lblBusWidth.Name = "lblBusWidth"
Me.lblBusWidth.Size = New System.Drawing.Size(65, 15)
Me.lblBusWidth.TabIndex = 10
Me.lblBusWidth.Text = "Bus Width"
'
'txtBusWindowSurfaceArea
'
Me.txtBusWindowSurfaceArea.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.txtBusWindowSurfaceArea.Location = New System.Drawing.Point(179, 173)
Me.txtBusWindowSurfaceArea.Name = "txtBusWindowSurfaceArea"
Me.txtBusWindowSurfaceArea.ReadOnly = true
Me.txtBusWindowSurfaceArea.Size = New System.Drawing.Size(97, 21)
Me.txtBusWindowSurfaceArea.TabIndex = 9
'
'lblBusWindowSurfaceArea
'
Me.lblBusWindowSurfaceArea.AutoSize = true
Me.lblBusWindowSurfaceArea.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.lblBusWindowSurfaceArea.ForeColor = System.Drawing.Color.Black
Me.lblBusWindowSurfaceArea.Location = New System.Drawing.Point(14, 176)
Me.lblBusWindowSurfaceArea.Name = "lblBusWindowSurfaceArea"
Me.lblBusWindowSurfaceArea.Size = New System.Drawing.Size(151, 15)
Me.lblBusWindowSurfaceArea.TabIndex = 8
Me.lblBusWindowSurfaceArea.Text = "Bus Window Surface Area"
'
'txtBusSurfaceArea
'
Me.txtBusSurfaceArea.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.txtBusSurfaceArea.Location = New System.Drawing.Point(179, 145)
Me.txtBusSurfaceArea.Name = "txtBusSurfaceArea"
Me.txtBusSurfaceArea.Size = New System.Drawing.Size(97, 21)
Me.txtBusSurfaceArea.TabIndex = 7
'
'lblBusSurfaceArea
'
Me.lblBusSurfaceArea.AutoSize = true
Me.lblBusSurfaceArea.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.lblBusSurfaceArea.ForeColor = System.Drawing.Color.Black
Me.lblBusSurfaceArea.Location = New System.Drawing.Point(14, 148)
Me.lblBusSurfaceArea.Name = "lblBusSurfaceArea"
Me.lblBusSurfaceArea.Size = New System.Drawing.Size(104, 15)
Me.lblBusSurfaceArea.TabIndex = 6
Me.lblBusSurfaceArea.Text = "Bus Surface Area"
'
'txtBusFloorSurfaceArea
'
Me.txtBusFloorSurfaceArea.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.txtBusFloorSurfaceArea.Location = New System.Drawing.Point(179, 117)
Me.txtBusFloorSurfaceArea.Name = "txtBusFloorSurfaceArea"
Me.txtBusFloorSurfaceArea.Size = New System.Drawing.Size(97, 21)
Me.txtBusFloorSurfaceArea.TabIndex = 5
'
'lblBusFloorSurfaceArea
'
Me.lblBusFloorSurfaceArea.AutoSize = true
Me.lblBusFloorSurfaceArea.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.lblBusFloorSurfaceArea.ForeColor = System.Drawing.Color.Black
Me.lblBusFloorSurfaceArea.Location = New System.Drawing.Point(14, 120)
Me.lblBusFloorSurfaceArea.Name = "lblBusFloorSurfaceArea"
Me.lblBusFloorSurfaceArea.Size = New System.Drawing.Size(132, 15)
Me.lblBusFloorSurfaceArea.TabIndex = 4
Me.lblBusFloorSurfaceArea.Text = "Bus Floor Surface Area"
'
'txtRegisteredPassengers
'
Me.txtRegisteredPassengers.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.txtRegisteredPassengers.Location = New System.Drawing.Point(179, 59)
Me.txtRegisteredPassengers.Name = "txtRegisteredPassengers"
Me.txtRegisteredPassengers.Size = New System.Drawing.Size(97, 21)
Me.txtRegisteredPassengers.TabIndex = 1
'
'lblRegisteredPassengers
'
Me.lblRegisteredPassengers.AutoSize = true
Me.lblRegisteredPassengers.Font = New System.Drawing.Font("Microsoft Sans Serif", 9!)
Me.lblRegisteredPassengers.ForeColor = System.Drawing.Color.Black
Me.lblRegisteredPassengers.Location = New System.Drawing.Point(14, 62)
Me.lblRegisteredPassengers.Name = "lblRegisteredPassengers"
Me.lblRegisteredPassengers.Size = New System.Drawing.Size(138, 15)
Me.lblRegisteredPassengers.TabIndex = 0
Me.lblRegisteredPassengers.Text = "Registered Passengers "
'
'cboBuses
'
Me.cboBuses.FormattingEnabled = true
Me.cboBuses.Location = New System.Drawing.Point(34, 30)
Me.cboBuses.Name = "cboBuses"
Me.cboBuses.Size = New System.Drawing.Size(558, 21)
Me.cboBuses.Size = New System.Drawing.Size(361, 23)
Me.cboBuses.TabIndex = 0
'
'tabTechListInput
'
Me.tabTechListInput.Location = New System.Drawing.Point(4, 22)
Me.tabTechListInput.Name = "tabTechListInput"
Me.tabTechListInput.Padding = New System.Windows.Forms.Padding(3)
Me.tabTechListInput.Size = New System.Drawing.Size(937, 597)
Me.tabTechListInput.TabIndex = 1
Me.tabTechListInput.Text = "Tech List Input"
Me.tabTechListInput.UseVisualStyleBackColor = true
'
'frmHVACTool
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(773, 510)
Me.ClientSize = New System.Drawing.Size(965, 712)
Me.Controls.Add(Me.TabControl1)
Me.Name = "frmHVACTool"
Me.Text = "frmHVACTool"
Me.TabControl1.ResumeLayout(false)
Me.tabBusParameters.ResumeLayout(false)
Me.GroupBox1.ResumeLayout(false)
Me.GroupBox1.PerformLayout
Me.ResumeLayout(false)
End Sub
......@@ -86,4 +394,30 @@ End Sub
Friend WithEvents tabBusParameters As System.Windows.Forms.TabPage
Friend WithEvents tabTechListInput As System.Windows.Forms.TabPage
Friend WithEvents cboBuses As System.Windows.Forms.ComboBox
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents lblBusVolume As System.Windows.Forms.Label
Friend WithEvents lblBusLength As System.Windows.Forms.Label
Friend WithEvents lblBusWidth As System.Windows.Forms.Label
Friend WithEvents txtBusWindowSurfaceArea As System.Windows.Forms.TextBox
Friend WithEvents lblBusWindowSurfaceArea As System.Windows.Forms.Label
Friend WithEvents txtBusSurfaceArea As System.Windows.Forms.TextBox
Friend WithEvents lblBusSurfaceArea As System.Windows.Forms.Label
Friend WithEvents txtBusFloorSurfaceArea As System.Windows.Forms.TextBox
Friend WithEvents lblBusFloorSurfaceArea As System.Windows.Forms.Label
Friend WithEvents txtRegisteredPassengers As System.Windows.Forms.TextBox
Friend WithEvents lblRegisteredPassengers As System.Windows.Forms.Label
Friend WithEvents txtBusVolume As System.Windows.Forms.TextBox
Friend WithEvents txtBusWidth As System.Windows.Forms.TextBox
Friend WithEvents txtBusLength As System.Windows.Forms.TextBox
Friend WithEvents lblUnitsBW As System.Windows.Forms.Label
Friend WithEvents lblUnitsBSA As System.Windows.Forms.Label
Friend WithEvents lblUnitsBWSA As System.Windows.Forms.Label
Friend WithEvents lblUnitsBV As System.Windows.Forms.Label
Friend WithEvents lblUnitsBL As System.Windows.Forms.Label
Friend WithEvents lblUnitsBFSA As System.Windows.Forms.Label
Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
Friend WithEvents txtBusFloorType As System.Windows.Forms.TextBox
Friend WithEvents lblBusFloorType As System.Windows.Forms.Label
Friend WithEvents txtBusModel As System.Windows.Forms.TextBox
Friend WithEvents lblBusModel As System.Windows.Forms.Label
End Class
......@@ -117,4 +117,10 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>25</value>
</metadata>
</root>
\ No newline at end of file
......@@ -6,51 +6,98 @@ Imports VectoAuxiliaries.Hvac
Public Class frmHVACTool
Private filePath As string
Private busDatabasePath As string
Private ahsmFilePath As String
Private buses As IBusDatabase
Private ssmTOOL As SSMTOOL
Public Sub new ( filePath As String )
Public Sub new ( busDatabasePath As String, ahsmFilePath As String )
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
Me.busDatabasePath = busDatabasePath
Me.ahsmFilePath = ahsmFilePath
Me.filePath = filePath
ssmTOOL = New SSMTOOL(ahsmFilePath)
setupBuses()
setupControls()
setupBindings()
Initlialise()
End Sub
End Sub
Private Sub Initlialise()
Private Sub setupBuses()
'Instantial Buses
'Setup Buses
buses = New BusDatabase()
If Not buses.Initialise( filePath ) then
If Not buses.Initialise( busDatabasePath ) then
MessageBox.Show("Problems initialising the Bus Database, some buses may not appear")
End If
cboBuses.DataSource=buses.GetBuses(String.Empty,True)
cboBuses.DisplayMember="Model"
End Sub
cboBuses.DataSource=buses.GetBuses(String.Empty,True)
cboBuses.DisplayMember="Model"
private Sub setupControls()
End Sub
private Sub setupBindings()
'BParameterisation
txtBusFloorSurfaceArea.DataBindings.Add("Text", ssmTOOL.genInputs,"BP_BusFloorSurfaceArea",False,DataSourceUpdateMode.OnPropertyChanged)
End Class
End Sub
'GeneralInputControlEvents
Private Sub cboBuses_SelectedIndexChanged( sender As Object, e As EventArgs) Handles cboBuses.SelectedIndexChanged
If cboBuses.SelectedIndex>0 then
dim bus As IBus = DirectCast(cboBuses.SelectedItem, IBus)
ssmTOOL.genInputs.BP_BusModel= bus.Model
ssmTOOL.genInputs.BP_NumberOfPassengers= bus.RegisteredPassengers
ssmTOOL.genInputs.BP_BusFloorType = bus.FloorType
'ssmTOOL.genInputs.BP_BusFloorSurfaceArea Calculated
ssmTOOL.genInputs.BP_BusSurfaceAreaM2 = bus.AreaInMetresSquared
'ssmTOOL.genInputs.BP_BusWindowSurface Calculated
ssmTOOL.genInputs.BP_BusVolume= bus.VolumneInMetresQubed
ssmTOOL.genInputs.BP_BusLength= bus.LengthInMetres
ssmTOOL.genInputs.BP_BusWidth= bus.WidthInMetres
End If
End Sub
End Class
......@@ -15,6 +15,42 @@ Namespace UnitTests
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")> _
......@@ -521,7 +557,6 @@ End Sub
End Sub
'SSMTOOL Persistance
<Test()>
Public Sub SaveAndRetreiveTest()
......@@ -551,6 +586,124 @@ End Sub
End Sub
'GenInputs Comparison
<Test()>
Public Sub SSMTOOL_COMPARISON_GENINPUTS_EQUAL()
const filePath as string = "SSMTOOLTestSaveRetreive.json"
Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath )
Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath )
Assert.IsTrue ( ssmTool1.IsEqualTo( ssmTool2))
End Sub
<Test()>
Public Sub SSMTOOL_COMPARISON_GENINPUTS_UNEQUAL()
const filePath as string = "SSMTOOLTestSaveRetreive.json"
Dim ssmTool1 As SSMTOOL = New SSMTOOL(filePath )
'Alter somthing
ssmTool1.genInputs.BP_BusLength=11
Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath )
Assert.IsFalse ( ssmTool1.IsEqualTo( 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 )
Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath )
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 )
Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath )
'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 )
Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath )
'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 )
Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath )
'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 )
Dim ssmTool2 As SSMTOOL = New SSMTOOL(filePath )
'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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment