From 1227c24857bcc1df2bcdd89bacf6fced5960b1f2 Mon Sep 17 00:00:00 2001
From: "Burns, Terry" <Terry.Burns@ricardo.com>
Date: Tue, 2 Dec 2014 14:45:06 +0000
Subject: [PATCH] WIP - Eventing Added to Model ( Only where needed so far  but
 also into Signals, this means descisions can be made within the model if or
 not to generate an event depending on the EventLevel reporting set. Lower
 classes like maps do not have signals passed to them as they did not need it,
 however, this can be added at a later date and the descisions made at the
 lowest level. Also CycleTime in Minutes removed from VectoInputs as this is
 already available as CycleTime in seconds in the Signals array.

git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C1695
---
 .../AdvancedAuxiliaryInterfaces.vbproj        |   1 +
 .../IAdvancedAuxiliaries.vb                   |   4 +-
 .../IAuxiliaryEvent.vb                        |  11 +
 AdvancedAuxiliaryInterfaces/ISignals.vb       |   1 +
 AdvancedAuxiliaryInterfaces/IVectoInputs.vb   |   2 +-
 AdvancedAuxiliaryInterfaces/Signals.vb        |   2 +
 AdvancedAuxiliaryInterfaces/VectoInputs.vb    |   4 +-
 AuxillaryTestHarness/AuxLauncher.Designer.vb  |  52 +++-
 AuxillaryTestHarness/AuxLauncher.vb           |  65 +++--
 .../AuxiliaryTestHarness.vbproj               |  10 +-
 .../VectoAuxiliaries/AdvancedAuxiliaries.vb   | 235 ++++++++++--------
 VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb  |   4 +-
 .../VectoAuxiliaries/AuxillaryEnvironment.vb  |  27 +-
 .../Electrics/AlternatorMap.vb                |  27 +-
 .../Electrics/IAlternatorMap.vb               |   1 +
 .../Pneumatics/CompressorMap.vb               |  25 +-
 .../Pneumatics/ICompressorMap.vb              |   2 +
 .../Pneumatics/M4_AirCompressor.vb            |   5 +-
 .../VectoAuxiliaries/VectoAuxiliaries.vbproj  |   1 -
 .../Mocks/AlternatorMapMock.vb                |   2 +
 .../Mocks/CompressorMapMock.vb                |   4 +
 21 files changed, 320 insertions(+), 165 deletions(-)
 create mode 100644 AdvancedAuxiliaryInterfaces/IAuxiliaryEvent.vb

diff --git a/AdvancedAuxiliaryInterfaces/AdvancedAuxiliaryInterfaces.vbproj b/AdvancedAuxiliaryInterfaces/AdvancedAuxiliaryInterfaces.vbproj
index 064c4b2aa4..55193dbb87 100644
--- a/AdvancedAuxiliaryInterfaces/AdvancedAuxiliaryInterfaces.vbproj
+++ b/AdvancedAuxiliaryInterfaces/AdvancedAuxiliaryInterfaces.vbproj
@@ -70,6 +70,7 @@
     <Compile Include="Enumerations.vb" />
     <Compile Include="IAdvancedAuxiliaries.vb" />
     <Compile Include="ISignals.vb" />
+    <Compile Include="IAuxiliaryEvent.vb" />
     <Compile Include="IVectoInputs.vb" />
     <Compile Include="My Project\AssemblyInfo.vb" />
     <Compile Include="My Project\Application.Designer.vb">
diff --git a/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb b/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb
index acea721c96..f8dffa32ee 100644
--- a/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb
+++ b/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb
@@ -1,6 +1,7 @@
 
 
 Public Interface IAdvancedAuxiliaries
+ Inherits IAuxiliaryEvent
 
 
 'Information
@@ -25,9 +26,6 @@ Function  CycleStep( seconds As Integer, ByRef message As string ) As boolean
 Function  RunStart( ByVal auxFilePath As String, ByRef message As string ) As boolean
 Function  RunStop( ByRef message As string ) As boolean
 
-'Used to send back messages to any listener who wants to do something with messages generated by the Advanced Auxiliaries.
-Event     Message( ByVal Message As string, ByVal  messageType  As AdvancedAuxiliaryMessageType)
-
 
 
 End Interface
diff --git a/AdvancedAuxiliaryInterfaces/IAuxiliaryEvent.vb b/AdvancedAuxiliaryInterfaces/IAuxiliaryEvent.vb
new file mode 100644
index 0000000000..f94bb25478
--- /dev/null
+++ b/AdvancedAuxiliaryInterfaces/IAuxiliaryEvent.vb
@@ -0,0 +1,11 @@
+
+
+Public Interface IAuxiliaryEvent
+
+
+
+  Event AuxiliaryEvent( ByRef sender As Object, byval message As String, ByVal messageType As AdvancedAuxiliaryMessageType )
+
+
+End interface
+
diff --git a/AdvancedAuxiliaryInterfaces/ISignals.vb b/AdvancedAuxiliaryInterfaces/ISignals.vb
index de354bedbf..c5915c62fe 100644
--- a/AdvancedAuxiliaryInterfaces/ISignals.vb
+++ b/AdvancedAuxiliaryInterfaces/ISignals.vb
@@ -11,5 +11,6 @@ Property TotalCycleTimeSeconds As Integer
 property EngineDrivelineTorque as single
 Property Idle As Boolean
 Property InNeutral As Boolean
+Property AuxiliaryEventReportingLevel As AdvancedAuxiliaryMessageType
 
 End Interface
diff --git a/AdvancedAuxiliaryInterfaces/IVectoInputs.vb b/AdvancedAuxiliaryInterfaces/IVectoInputs.vb
index 6d6634dfd7..3ea5755c6a 100644
--- a/AdvancedAuxiliaryInterfaces/IVectoInputs.vb
+++ b/AdvancedAuxiliaryInterfaces/IVectoInputs.vb
@@ -3,7 +3,7 @@
 Property VehicleWeightKG As Single
 Property Cycle As String
 Property PowerNetVoltage As Single
-Property CycleDurationMinutes As single
+'Property CycleDurationMinutes As single
 Property FuelMap As string
 
 
diff --git a/AdvancedAuxiliaryInterfaces/Signals.vb b/AdvancedAuxiliaryInterfaces/Signals.vb
index 18311fd804..58e1bf81b3 100644
--- a/AdvancedAuxiliaryInterfaces/Signals.vb
+++ b/AdvancedAuxiliaryInterfaces/Signals.vb
@@ -42,6 +42,8 @@ Implements ISignals
 
     Public Property InNeutral As Boolean Implements ISignals.InNeutral
 
+    Public Property AuxiliaryEventReportingLevel As AdvancedAuxiliaryMessageType Implements ISignals.AuxiliaryEventReportingLevel
+
 
 
 End Class
diff --git a/AdvancedAuxiliaryInterfaces/VectoInputs.vb b/AdvancedAuxiliaryInterfaces/VectoInputs.vb
index 198cd7ba8f..3a3531d912 100644
--- a/AdvancedAuxiliaryInterfaces/VectoInputs.vb
+++ b/AdvancedAuxiliaryInterfaces/VectoInputs.vb
@@ -8,9 +8,9 @@ Implements IVectoInputs
 
     Public Property VehicleWeightKG As Single Implements IVectoInputs.VehicleWeightKG
 
-    Public Property PowerNetVoltage As Single Implements IVectoInputs.PowerNetVoltage
+     Public Property PowerNetVoltage As Single Implements IVectoInputs.PowerNetVoltage
 
-    Public Property CycleDurationMinutes As Single Implements IVectoInputs.CycleDurationMinutes
+    'Public Property CycleDurationMinutes As Single Implements IVectoInputs.CycleDurationMinutes
 
     Public Property FuelMap As String Implements IVectoInputs.FuelMap
 
diff --git a/AuxillaryTestHarness/AuxLauncher.Designer.vb b/AuxillaryTestHarness/AuxLauncher.Designer.vb
index 1c92f1e218..86e985c0c1 100644
--- a/AuxillaryTestHarness/AuxLauncher.Designer.vb
+++ b/AuxillaryTestHarness/AuxLauncher.Designer.vb
@@ -35,11 +35,14 @@ Partial Class AuxLauncher
         Me.lblAuxiliaryName = New System.Windows.Forms.Label()
         Me.lblAuxiliaryVersion = New System.Windows.Forms.Label()
         Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
+        Me.btnWholeCycle = New System.Windows.Forms.Button()
+        Me.txtEvents = New System.Windows.Forms.TextBox()
+        Me.cboWarningLevel = New System.Windows.Forms.ComboBox()
         Me.SuspendLayout
         '
         'txtAdvancedAuxiliaries
         '
-        Me.txtAdvancedAuxiliaries.Location = New System.Drawing.Point(30, 87)
+        Me.txtAdvancedAuxiliaries.Location = New System.Drawing.Point(30, 101)
         Me.txtAdvancedAuxiliaries.Name = "txtAdvancedAuxiliaries"
         Me.txtAdvancedAuxiliaries.Size = New System.Drawing.Size(366, 20)
         Me.txtAdvancedAuxiliaries.TabIndex = 0
@@ -47,7 +50,7 @@ Partial Class AuxLauncher
         '
         'btnLaunchAux
         '
-        Me.btnLaunchAux.Location = New System.Drawing.Point(414, 87)
+        Me.btnLaunchAux.Location = New System.Drawing.Point(414, 101)
         Me.btnLaunchAux.Name = "btnLaunchAux"
         Me.btnLaunchAux.Size = New System.Drawing.Size(75, 23)
         Me.btnLaunchAux.TabIndex = 1
@@ -56,7 +59,7 @@ Partial Class AuxLauncher
         '
         'btnRun
         '
-        Me.btnRun.Location = New System.Drawing.Point(414, 138)
+        Me.btnRun.Location = New System.Drawing.Point(414, 152)
         Me.btnRun.Name = "btnRun"
         Me.btnRun.Size = New System.Drawing.Size(75, 23)
         Me.btnRun.TabIndex = 2
@@ -65,7 +68,7 @@ Partial Class AuxLauncher
         '
         'btnStop
         '
-        Me.btnStop.Location = New System.Drawing.Point(414, 198)
+        Me.btnStop.Location = New System.Drawing.Point(414, 212)
         Me.btnStop.Name = "btnStop"
         Me.btnStop.Size = New System.Drawing.Size(75, 23)
         Me.btnStop.TabIndex = 3
@@ -74,7 +77,7 @@ Partial Class AuxLauncher
         '
         'btnInformation
         '
-        Me.btnInformation.Location = New System.Drawing.Point(414, 255)
+        Me.btnInformation.Location = New System.Drawing.Point(414, 269)
         Me.btnInformation.Name = "btnInformation"
         Me.btnInformation.Size = New System.Drawing.Size(75, 23)
         Me.btnInformation.TabIndex = 4
@@ -83,14 +86,14 @@ Partial Class AuxLauncher
         '
         'txtTotalFCGrams
         '
-        Me.txtTotalFCGrams.Location = New System.Drawing.Point(30, 138)
+        Me.txtTotalFCGrams.Location = New System.Drawing.Point(30, 152)
         Me.txtTotalFCGrams.Name = "txtTotalFCGrams"
         Me.txtTotalFCGrams.Size = New System.Drawing.Size(100, 20)
         Me.txtTotalFCGrams.TabIndex = 5
         '
         'txtTotalFCLitres
         '
-        Me.txtTotalFCLitres.Location = New System.Drawing.Point(164, 137)
+        Me.txtTotalFCLitres.Location = New System.Drawing.Point(164, 151)
         Me.txtTotalFCLitres.Name = "txtTotalFCLitres"
         Me.txtTotalFCLitres.Size = New System.Drawing.Size(100, 20)
         Me.txtTotalFCLitres.TabIndex = 6
@@ -98,7 +101,7 @@ Partial Class AuxLauncher
         'lblTotalFCGRAMS
         '
         Me.lblTotalFCGRAMS.AutoSize = true
-        Me.lblTotalFCGRAMS.Location = New System.Drawing.Point(30, 119)
+        Me.lblTotalFCGRAMS.Location = New System.Drawing.Point(30, 133)
         Me.lblTotalFCGRAMS.Name = "lblTotalFCGRAMS"
         Me.lblTotalFCGRAMS.Size = New System.Drawing.Size(77, 13)
         Me.lblTotalFCGRAMS.TabIndex = 7
@@ -107,7 +110,7 @@ Partial Class AuxLauncher
         'Label1
         '
         Me.Label1.AutoSize = true
-        Me.Label1.Location = New System.Drawing.Point(161, 119)
+        Me.Label1.Location = New System.Drawing.Point(161, 133)
         Me.Label1.Name = "Label1"
         Me.Label1.Size = New System.Drawing.Size(72, 13)
         Me.Label1.TabIndex = 8
@@ -135,11 +138,39 @@ Partial Class AuxLauncher
         '
         Me.Timer1.Interval = 1000
         '
+        'btnWholeCycle
+        '
+        Me.btnWholeCycle.Location = New System.Drawing.Point(305, 151)
+        Me.btnWholeCycle.Name = "btnWholeCycle"
+        Me.btnWholeCycle.Size = New System.Drawing.Size(75, 23)
+        Me.btnWholeCycle.TabIndex = 11
+        Me.btnWholeCycle.Text = "Whole Cycle"
+        Me.btnWholeCycle.UseVisualStyleBackColor = true
+        '
+        'txtEvents
+        '
+        Me.txtEvents.Location = New System.Drawing.Point(33, 214)
+        Me.txtEvents.Multiline = true
+        Me.txtEvents.Name = "txtEvents"
+        Me.txtEvents.Size = New System.Drawing.Size(306, 99)
+        Me.txtEvents.TabIndex = 12
+        '
+        'cboWarningLevel
+        '
+        Me.cboWarningLevel.FormattingEnabled = true
+        Me.cboWarningLevel.Location = New System.Drawing.Point(30, 65)
+        Me.cboWarningLevel.Name = "cboWarningLevel"
+        Me.cboWarningLevel.Size = New System.Drawing.Size(121, 21)
+        Me.cboWarningLevel.TabIndex = 13
+        '
         'AuxLauncher
         '
         Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
         Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
         Me.ClientSize = New System.Drawing.Size(527, 363)
+        Me.Controls.Add(Me.cboWarningLevel)
+        Me.Controls.Add(Me.txtEvents)
+        Me.Controls.Add(Me.btnWholeCycle)
         Me.Controls.Add(Me.lblAuxiliaryVersion)
         Me.Controls.Add(Me.lblAuxiliaryName)
         Me.Controls.Add(Me.Label1)
@@ -169,4 +200,7 @@ End Sub
     Friend WithEvents lblAuxiliaryName As System.Windows.Forms.Label
     Friend WithEvents lblAuxiliaryVersion As System.Windows.Forms.Label
     Friend WithEvents Timer1 As System.Windows.Forms.Timer
+    Friend WithEvents btnWholeCycle As System.Windows.Forms.Button
+    Friend WithEvents txtEvents As System.Windows.Forms.TextBox
+    Friend WithEvents cboWarningLevel As System.Windows.Forms.ComboBox
 End Class
diff --git a/AuxillaryTestHarness/AuxLauncher.vb b/AuxillaryTestHarness/AuxLauncher.vb
index 45798562d9..473597f8a3 100644
--- a/AuxillaryTestHarness/AuxLauncher.vb
+++ b/AuxillaryTestHarness/AuxLauncher.vb
@@ -3,7 +3,14 @@ Imports VectoAuxiliaries
 
 Public Class AuxLauncher
 
-Public advancedAuxiliaries As IAdvancedAuxiliaries
+Public WithEvents advancedAuxiliaries As IAdvancedAuxiliaries
+
+
+Public Sub AuxEventHandler( ByRef sender As Object, ByVal message As String, ByVal messageType as AdvancedAuxiliaryMessageType)  Handles advancedAuxiliaries.AuxiliaryEvent
+
+   txtEvents.Text+= message
+
+End Sub
 
 
 'Configure
@@ -61,8 +68,7 @@ End Sub
 
 
 
-
-Private Sub btnRun_Click( sender As Object,  e As EventArgs) Handles btnRun.Click
+Private sub setup()
 
 Dim message As String = String.Empty
 
@@ -73,7 +79,7 @@ advancedAuxiliaries.VectoInputs.Cycle="Urban"
 advancedAuxiliaries.VectoInputs.VehicleWeightKG=16500
 advancedAuxiliaries.VectoInputs.FuelMap= "testFuelGoodMap.vmap"
 advancedAuxiliaries.VectoInputs.PowerNetVoltage=26.3
-advancedAuxiliaries.VectoInputs.CycleDurationMinutes=51.9
+'advancedAuxiliaries.VectoInputs.CycleDurationMinutes=51.9
 
 
 'set Signals
@@ -82,18 +88,14 @@ advancedAuxiliaries.Signals.TotalCycleTimeSeconds=3114
 
 advancedAuxiliaries.RunStart(txtAdvancedAuxiliaries.Text,message)
 
-'step whole cycle
-'advancedAuxiliaries.CycleStep(3114,message)
-
+End Sub
 
-'Add bindnings
- 'txtTotalFCGrams.DataBindings.Add("Text", advancedAuxiliaries,"TotalFuelGRAMS")
- 'txtTotalFCLitres.DataBindings.Add("Text", advancedAuxiliaries,"TotalFuelLITRES")
+Private Sub btnRun_Click( sender As Object,  e As EventArgs) Handles btnRun.Click
 
 
- 'start timer
+  setup()
 
- timer1.Start
+  timer1.Start
 
 
 End Sub
@@ -102,19 +104,19 @@ End Sub
 
 Private Sub AuxLauncher_Load( sender As Object,  e As EventArgs) Handles MyBase.Load
 
-
+cboWarningLevel.DataSource = System.Enum.GetValues(GetType(AdvancedAuxiliaryMessageType))
+'cboWarningLevel.SelectedIndex=1
 
  Dim obj As System.Runtime.Remoting.ObjectHandle
 
 
-
-
 Try
   obj = Activator.CreateInstance("VectoAuxiliaries", "VectoAuxiliaries.AdvancedAuxiliaries")
 
 
   advancedAuxiliaries = DirectCast(obj.Unwrap, IAdvancedAuxiliaries)
 
+  advancedAuxiliaries.Signals.AuxiliaryEventReportingLevel=CType(cboWarningLevel.SelectedValue, AdvancedAuxiliaryMessageType)
 
   lblAuxiliaryName.Text= advancedAuxiliaries.AuxiliaryName
   lblAuxiliaryVersion.Text = advancedAuxiliaries.AuxiliaryVersion
@@ -142,8 +144,11 @@ End Sub
 Private Sub Timer1_Tick( sender As Object,  e As EventArgs) Handles Timer1.Tick
 
 If not advancedAuxiliaries is nothing
+
   Dim message As string = ""
 
+   Timer1.Start
+
    advancedAuxiliaries.CycleStep(  Timer1.Interval/1000 , Message)
    txtTotalFCGrams.Text= advancedAuxiliaries.TotalFuelGRAMS
    txtTotalFCLitres.Text= advancedAuxiliaries.TotalFuelLITRES
@@ -152,4 +157,34 @@ End If
 
 
 End Sub
+
+Private Sub btnWholeCycle_Click( sender As Object,  e As EventArgs) Handles btnWholeCycle.Click
+  Dim message As string = ""
+
+    setup()
+
+   advancedAuxiliaries.CycleStep(  3114 , Message)
+   txtTotalFCGrams.Text= advancedAuxiliaries.TotalFuelGRAMS
+   txtTotalFCLitres.Text= advancedAuxiliaries.TotalFuelLITRES
+
+End Sub
+
+
+Private Sub btnStop_Click( sender As Object,  e As EventArgs) Handles btnStop.Click
+
+Timer1.Stop
+
+
+End Sub
+
+Private Sub cboWarningLevel_SelectedIndexChanged( sender As Object,  e As EventArgs) Handles cboWarningLevel.SelectedIndexChanged
+
+
+advancedAuxiliaries.Signals.AuxiliaryEventReportingLevel=CType(cboWarningLevel.SelectedValue, AdvancedAuxiliaryMessageType)
+
+
+End Sub
+
+
+
 End Class
\ No newline at end of file
diff --git a/AuxillaryTestHarness/AuxiliaryTestHarness.vbproj b/AuxillaryTestHarness/AuxiliaryTestHarness.vbproj
index e5718e5730..99905a80ce 100644
--- a/AuxillaryTestHarness/AuxiliaryTestHarness.vbproj
+++ b/AuxillaryTestHarness/AuxiliaryTestHarness.vbproj
@@ -28,7 +28,7 @@
     <UpdatePeriodically>false</UpdatePeriodically>
     <UpdateRequired>false</UpdateRequired>
     <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>16</ApplicationRevision>
+    <ApplicationRevision>18</ApplicationRevision>
     <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
     <UseApplicationTrust>false</UseApplicationTrust>
     <PublishWizardCompleted>true</PublishWizardCompleted>
@@ -190,15 +190,15 @@
       <LastGenOutput>Settings.Designer.vb</LastGenOutput>
     </None>
     <None Include="App.config" />
-    <None Include="testAlternatorMap.aalt">
+    <Content Include="testAlternatorMap.aalt">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </None>
+    </Content>
     <Content Include="testCompressorMap.acmp">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
-    <None Include="testPneumaticActuationsMap_GOODMAP.apac">
+    <Content Include="testPneumaticActuationsMap_GOODMAP.apac">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </None>
+    </Content>
     <None Include="testAlternatorMap - Copy.aalt">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
diff --git a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
index 9a95420c30..99dc52a30b 100644
--- a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
+++ b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
@@ -8,129 +8,145 @@ Imports System.Windows.Forms
 Public Class AdvancedAuxiliaries
  Implements IAdvancedAuxiliaries
 
+    Private  auxConfig As AuxiliaryConfig
 
+    'Supporting classes which may generate event messages
+    Private WithEvents compressorMap As ICompressorMap
+    Private Withevents alternatorMap  As IAlternatorMap 
+    Private WithEvents actuationsMap As IPneumaticActuationsMAP
+    Private WithEvents fuelMap       As IFUELMAP 
 
+    'Classes which compose the model.
+    private WithEvents M0  As IM0_NonSmart_AlternatorsSetEfficiency
+    private WithEvents M05 As IM0_5_SmartAlternatorSetEfficiency
+    private WithEvents M1  As IM1_AverageHVACLoadDemand
+    private WithEvents M2  As IM2_AverageElectricalLoadDemand
+    private WithEvents M3  As IM3_AveragePneumaticLoadDemand
+    private WithEvents M4  As IM4_AirCompressor
+    private WithEvents M5  As IM5_SmartAlternatorSetGeneration
+    private WithEvents M6  As IM6
+    private WithEvents M7  As IM7
+    private WithEvents M8  As IM8
+    private WithEvents M9  As IM9
+    private WithEvents M10 As IM10
+    private WithEvents M11 As IM11
+    private WithEvents M12 As IM12
+    private WithEvents M13 As IM13
 
-    Private auxConfig As AuxiliaryConfig
-     
-
-    Public Property Signals As ISignals Implements IAdvancedAuxiliaries.Signals
-    Public Property VectoInputs As IVectoInputs Implements IAdvancedAuxiliaries.VectoInputs
-
-   
-    Public Sub new( )
-
-           VectoInputs = New VectoInputs() 
-           Signals     = New Signals()
-
-    End Sub
-
-
- 
-
-
- 'Test instantiations
-  Public M0 As IM0_NonSmart_AlternatorsSetEfficiency
-  Public M05 As IM0_5_SmartAlternatorSetEfficiency
-  Public M1 As IM1_AverageHVACLoadDemand
-  Public M2 As IM2_AverageElectricalLoadDemand
-  Public M3 As IM3_AveragePneumaticLoadDemand
-  Public M4 As IM4_AirCompressor
-  Public M5 As IM5_SmartAlternatorSetGeneration
-  Public M6 As IM6
-  Public M7 As IM7
-  Public M8 As IM8
-  Public M9 As IM9
-  Public M10 As IM10
-  Public M11 As IM11
-  Public M12 As IM12
-  Public M13 As IM13
-
-Public Sub Initialise( auxPath  As String )
-
-auxConfig = New AuxiliaryConfig(auxPath)
-
-'Pass some signals from config to Signals. ( These are stored in the configuration but shared in the signal distribution around modules )
-Signals.SmartElectrics  = auxConfig.ElectricalUserInputsConfig.SmartElectrical
-Signals.SmartPneumatics = auxConfig.PneumaticUserInputsConfig.SmartAirCompression
-
-Dim alternatoMap As IAlternatorMap = New AlternatorMap(auxConfig.ElectricalUserInputsConfig.AlternatorMap)
-alternatoMap.Initialise()
-
-Dim actuationsMap As  IPneumaticActuationsMAP = New PneumaticActuationsMAP( auxConfig.PneumaticUserInputsConfig.ActuationsMap)
 
-Dim compressorMap As ICompressorMap = New CompressorMap( auxConfig.PneumaticUserInputsConfig.CompressorMap)
-compressorMap.Initialise()
+    'Event Handler top level bubble.
+    Public Sub VectoEventHandler( byref sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) handles compressorMap.AuxiliaryEvent, alternatorMap.AuxiliaryEvent
 
-Dim fuelMap As IFUELMAP = New cMAP()
-fuelMap.FilePath= VectoInputs.FuelMap
-If Not fuelMap.ReadFile() then 
-MessageBox.Show("Unable to read fuel map, aborting.")
-return
-End If
-fuelMap.Triangulate()
 
+    If Signals.AuxiliaryEventReportingLevel <= messageType then
 
-auxConfig.ElectricalUserInputsConfig.ElectricalConsumers.DoorDutyCycleFraction = GetDoorActuationTimeFraction()
+        RaiseEvent AuxiliaryEvent( sender, message,messageType)
 
+    End If
+        
 
-M0 = New M0_NonSmart_AlternatorsSetEfficiency( auxConfig.ElectricalUserInputsConfig.ElectricalConsumers,
-                                               New HVACInputs,
-                                               alternatoMap,
-                                               auxConfig.ElectricalUserInputsConfig.PowerNetVoltage,
-                                               Signals,
-                                               auxConfig.HvacUserInputsConfig.SteadyStateModel)
 
+  End Sub   
 
-M05 = New M0_5_SmartAlternatorSetEfficiency(M0, 
-                                            auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, 
-                                            alternatoMap,
-                                            auxConfig.ElectricalUserInputsConfig.ResultCardIdle,
-                                            auxConfig.ElectricalUserInputsConfig.ResultCardTraction,
-                                            auxConfig.ElectricalUserInputsConfig.ResultCardOverrun,Signals)
-
+    'Constructor
+    Public Sub new( )
 
-M1 = New M1_AverageHVACLoadDemand(M0,
-                                  New HVACMap(""),
-                                  New HVACInputs(), 
-                                  auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, 
-                                  auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency,
-                                  auxConfig.ElectricalUserInputsConfig.PowerNetVoltage,
-                                  Signals,
-                                  auxConfig.HvacUserInputsConfig.SteadyStateModel)
+           VectoInputs = New VectoInputs() 
+           Signals     = New Signals()
 
+    End Sub
 
-M2 = New M2_AverageElectricalLoadDemand(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers,
-                                        M0,
+    'Initialise Model
+    Public Sub Initialise( auxPath  As String )
+
+      auxConfig = New AuxiliaryConfig(auxPath)
+      
+      'Pass some signals from config to Signals. ( These are stored in the configuration but shared in the signal distribution around modules )
+      Signals.SmartElectrics  = auxConfig.ElectricalUserInputsConfig.SmartElectrical
+      Signals.SmartPneumatics = auxConfig.PneumaticUserInputsConfig.SmartAirCompression
+      
+      alternatorMap  = New AlternatorMap(auxConfig.ElectricalUserInputsConfig.AlternatorMap)
+      alternatorMap.Initialise()
+      
+      actuationsMap = New PneumaticActuationsMAP( auxConfig.PneumaticUserInputsConfig.ActuationsMap)
+      
+      compressorMap  = New CompressorMap( auxConfig.PneumaticUserInputsConfig.CompressorMap)
+      compressorMap.Initialise()
+      
+      fuelMap  = New cMAP()
+      fuelMap.FilePath= VectoInputs.FuelMap
+      If Not fuelMap.ReadFile() then 
+      MessageBox.Show("Unable to read fuel map, aborting.")
+      return
+      End If
+      fuelMap.Triangulate()
+      
+      
+      auxConfig.ElectricalUserInputsConfig.ElectricalConsumers.DoorDutyCycleFraction = GetDoorActuationTimeFraction()
+      
+      
+      M0 = New M0_NonSmart_AlternatorsSetEfficiency( auxConfig.ElectricalUserInputsConfig.ElectricalConsumers,
+                                                     New HVACInputs,
+                                                     alternatorMap,
+                                                     auxConfig.ElectricalUserInputsConfig.PowerNetVoltage,
+                                                     Signals,
+                                                     auxConfig.HvacUserInputsConfig.SteadyStateModel)
+      
+      
+      M05 = New M0_5_SmartAlternatorSetEfficiency(M0, 
+                                                  auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, 
+                                                  alternatorMap,
+                                                  auxConfig.ElectricalUserInputsConfig.ResultCardIdle,
+                                                  auxConfig.ElectricalUserInputsConfig.ResultCardTraction,
+                                                  auxConfig.ElectricalUserInputsConfig.ResultCardOverrun,Signals)
+      
+      
+      M1 = New M1_AverageHVACLoadDemand(M0,
+                                        New HVACMap(""),
+                                        New HVACInputs(), 
                                         auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, 
-                                        auxConfig.ElectricalUserInputsConfig.PowerNetVoltage,Signals )
-
-
-
-M3 = New M3_AveragePneumaticLoadDemand(auxConfig.PneumaticUserInputsConfig,
-         auxConfig.PneumaticAuxillariesConfig,
-         actuationsMap,
-         compressorMap, 
-         VectoInputs.VehicleWeightKG,
-         VectoInputs.Cycle,
-         Signals)
-
-
-M4 = New M4_AirCompressor(compressorMap,auxConfig.PneumaticUserInputsConfig.CompressorGearRatio,auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency,Signals)
-M5 = New M5__SmartAlternatorSetGeneration( M05, VectoInputs.PowerNetVoltage,auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency)
-M6 = New M6(M1,M2,M3,M4,M5,Signals)
-M7 = New M7(M5,M6,Signals)
-M8 = New M8(M1,M6,M7,Signals)
-M9 = New M9(M1,M4,M6,M8,fuelMap,auxConfig.PneumaticAuxillariesConfig,Signals)
-M10 = New M10(M3,M9,Signals)
-M11 = New M11(M1,M3,M6,M8,fuelMap,Signals)
-M12 = New M12( M11, Signals )
-M13 = New M13(M1,M10,M12,Signals)
-
-
+                                        auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency,
+                                        auxConfig.ElectricalUserInputsConfig.PowerNetVoltage,
+                                        Signals,
+                                        auxConfig.HvacUserInputsConfig.SteadyStateModel)
+      
+      
+      M2 = New M2_AverageElectricalLoadDemand(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers,
+                                              M0,
+                                              auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, 
+                                              auxConfig.ElectricalUserInputsConfig.PowerNetVoltage,Signals )
+      
+      
+      
+      M3 = New M3_AveragePneumaticLoadDemand(auxConfig.PneumaticUserInputsConfig,
+               auxConfig.PneumaticAuxillariesConfig,
+               actuationsMap,
+               compressorMap, 
+               VectoInputs.VehicleWeightKG,
+               VectoInputs.Cycle,
+               Signals)
+      
+      
+      M4 = New M4_AirCompressor(compressorMap,auxConfig.PneumaticUserInputsConfig.CompressorGearRatio,auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency,Signals)
+      M5 = New M5__SmartAlternatorSetGeneration( M05, VectoInputs.PowerNetVoltage,auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency)
+      M6 = New M6(M1,M2,M3,M4,M5,Signals)
+      M7 = New M7(M5,M6,Signals)
+      M8 = New M8(M1,M6,M7,Signals)
+      M9 = New M9(M1,M4,M6,M8,fuelMap,auxConfig.PneumaticAuxillariesConfig,Signals)
+      M10 = New M10(M3,M9,Signals)
+      M11 = New M11(M1,M3,M6,M8,fuelMap,Signals)
+      M12 = New M12( M11, Signals )
+      M13 = New M13(M1,M10,M12,Signals)
+    
+    
 End Sub
+  
+    #Region "Interface implementation"
 
+    Public Property Signals As ISignals Implements IAdvancedAuxiliaries.Signals
+    Public Property VectoInputs As IVectoInputs Implements IAdvancedAuxiliaries.VectoInputs
 
+    Public Event AuxiliaryEvent(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) Implements IAuxiliaryEvent.AuxiliaryEvent
 
     Public Function Configure(filePath As String, vectoFilePath As String ) As Boolean Implements VectoAuxiliaries.IAdvancedAuxiliaries.Configure
     
@@ -161,8 +177,6 @@ End Sub
      
     End Function
 
-    Public Event Message(Message As String, messageType As VectoAuxiliaries.AdvancedAuxiliaryMessageType) Implements VectoAuxiliaries.IAdvancedAuxiliaries.Message
-
     Public ReadOnly Property Running As Boolean Implements VectoAuxiliaries.IAdvancedAuxiliaries.Running
         Get
               throw new NotImplementedException
@@ -181,8 +195,6 @@ End Sub
           throw new NotImplementedException
     End Function
 
-'
-
     Public ReadOnly Property TotalFuelGRAMS As Single Implements VectoAuxiliaries.IAdvancedAuxiliaries.TotalFuelGRAMS
         Get
              If Not M13 is Nothing then
@@ -226,8 +238,9 @@ End Sub
     End Property
 
 
+    #End Region
 
-
+    'Helpers
     Private Function GetDoorActuationTimeFraction()As Single
    
     Dim actuationsMap as PneumaticActuationsMAP = New PneumaticActuationsMAP( auxConfig.PneumaticUserInputsConfig.ActuationsMap )
@@ -242,4 +255,6 @@ End Sub
    
    End Function
 
+  
+
 End Class
diff --git a/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb b/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb
index 8c7bca5556..ac67c9e5fe 100644
--- a/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb
+++ b/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb
@@ -76,9 +76,9 @@ End Sub
 
 Private Sub setDefaults()
 
+'.CycleDurationMinutes=51.9,
 
-
- VectoInputs = New VectoInputs With {.Cycle="Urban", .VehicleWeightKG=16500, .PowerNetVoltage=26.3, .CycleDurationMinutes=51.9,.FuelMap="testFuelGoodMap.vmap"}
+ VectoInputs = New VectoInputs With {.Cycle="Urban", .VehicleWeightKG=16500, .PowerNetVoltage=26.3, .FuelMap="testFuelGoodMap.vmap"}
  
  'Pneumatics
  PneumaticUserInputsConfig  = New PneumaticUserInputsConfig(true) 
diff --git a/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb b/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb
index d05ce4f534..6e0700bcb3 100644
--- a/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb
+++ b/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb
@@ -10,6 +10,7 @@ Imports Newtonsoft.Json
 <Serializable()>
 Public Class AuxillaryEnvironment
 
+
  'Vecto
  Public Property VectoInputs As IVectoInputs
   
@@ -43,6 +44,16 @@ Public Class AuxillaryEnvironment
   Public M11 As IM11
   Public M12 As IM12
   Public M13 As IM13
+
+  Protected WithEvents compressorMap As ICompressorMap
+
+  Public Sub VectoEventHandler( byref sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) handles compressorMap.AuxiliaryEvent
+
+
+    
+
+
+  End Sub
   
   
 Public Sub ClearDown()
@@ -73,9 +84,11 @@ alternatoMap.Initialise()
 
 Dim actuationsMap As  IPneumaticActuationsMAP = New PneumaticActuationsMAP( PneumaticUserInputsConfig.ActuationsMap)
 
-Dim compressorMap As ICompressorMap = New CompressorMap( PneumaticUserInputsConfig.CompressorMap)
+
+compressorMap = New CompressorMap( PneumaticUserInputsConfig.CompressorMap)
 compressorMap.Initialise()
 
+
 Dim fuelMap As IFUELMAP = New cMAP()
 fuelMap.FilePath= VectoInputs.FuelMap
 If Not fuelMap.ReadFile() then 
@@ -196,15 +209,9 @@ End Sub
 
 Private Sub setDefaults()
 
- 'Here's where the magic happens.
-
- 'TODO:
- 'Assign Smarts to signals
- 'Signals.SmartElectrics= ElectricalUserInputsConfig.SmartElectrical
- 'Signals.SmartPneumatics= PneumaticUserInputsConfig.SmartAirCompression
+', .CycleDurationMinutes=51.9
 
-
- VectoInputs = New VectoInputs With {.Cycle="Urban", .VehicleWeightKG=16500, .PowerNetVoltage=26.3, .CycleDurationMinutes=51.9,.FuelMap="testFuelGoodMap.vmap"}
+ VectoInputs = New VectoInputs With {.Cycle="Urban", .VehicleWeightKG=16500, .PowerNetVoltage=26.3,.FuelMap="testFuelGoodMap.vmap"}
  
  'Pneumatics
  PneumaticUserInputsConfig  = New PneumaticUserInputsConfig(true) 
@@ -544,5 +551,7 @@ End Sub
 #End Region
 
 
+
+
 End Class
 
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/AlternatorMap.vb b/VECTOAux/VectoAuxiliaries/Electrics/AlternatorMap.vb
index ea21ab86ad..750a4c6165 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/AlternatorMap.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/AlternatorMap.vb
@@ -7,6 +7,7 @@ Namespace Electrics
 Public Class AlternatorMap
 Implements IAlternatorMap
 
+
     Private ReadOnly filePath As String
 
     Public map As New List(Of MapPoint)
@@ -153,11 +154,19 @@ Implements IAlternatorMap
     Public Function GetValue(x As Single, y As Single) As Single
 
 
-        'Limiting
-        If x < minX Then x = minX
-        If x > maxX Then x = maxX
-        If y < minY Then y = minY
-        If y > maxY Then y = maxY
+       '  If x < minX  OrElse  x > maxX OrElse  y < minY   OrElse  y > maxY  then
+
+           'OnAuxiliaryEvent(String.Format("Alternator Map Limiting : RPM{0}, AMPS{1}",x,y),AdvancedAuxiliaryMessageType.Warning)
+
+
+            'Limiting
+            If x < minX Then x = minX
+            If x > maxX Then x = maxX
+            If y < minY Then y = minY
+            If y > maxY Then y = maxY
+
+       '  End If
+
 
         'Satisfies both data points - non interpolated value
         If ONBoundaryXY(x, y) Then Return GetOnBoundaryXY(x, y)
@@ -312,6 +321,14 @@ Implements IAlternatorMap
         End Function
 
 
+        Public Event AuxiliaryEvent(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) Implements IAuxiliaryEvent.AuxiliaryEvent
+
+        Protected sub OnAuxiliaryEvent(message As String, messageType As AdvancedAuxiliaryMessageType)
+
+          RaiseEvent  AuxiliaryEvent(Me, message, messageType)
+
+        End Sub
+
 End Class
 
 
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IAlternatorMap.vb b/VECTOAux/VectoAuxiliaries/Electrics/IAlternatorMap.vb
index 54371ce9b6..9b83fd4404 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IAlternatorMap.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/IAlternatorMap.vb
@@ -2,6 +2,7 @@ Namespace Electrics
 
 
     Public Interface IAlternatorMap
+     Inherits IAuxiliaryEvent
         ''' <summary>
         ''' Initialise the map from supplied csv data
         ''' </summary>
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/CompressorMap.vb b/VECTOAux/VectoAuxiliaries/Pneumatics/CompressorMap.vb
index cbca649590..653dee6fff 100644
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/CompressorMap.vb
+++ b/VECTOAux/VectoAuxiliaries/Pneumatics/CompressorMap.vb
@@ -7,7 +7,11 @@ Namespace Pneumatics
     ''' </summary>
     ''' <remarks></remarks>
     Public Class CompressorMap
-        Implements ICompressorMap
+
+        Implements ICompressorMap, 
+        IAuxiliaryEvent
+
+
 
         Private ReadOnly filePath As String
 
@@ -136,8 +140,13 @@ Namespace Pneumatics
             'check the rpm is within the map
             Dim min As Integer = map.Keys.Min()
             Dim max As Integer = map.Keys.Max()
+
             If rpm < min OrElse rpm > max Then
-                Throw New ArgumentOutOfRangeException(String.Format("Extrapolation - rpm should be in the range {0} to {1}", min, max), rpm)
+                OnMessage(Me,String.Format("Compresser has limited RPM of '{2}' to extent of map - rpm should be in the range {0} to {1}", min, max ,rpm), AdvancedAuxiliaryMessageType.Warning)    
+               'Limiting as agreed.
+               If rpm > max then rpm=max
+               If rpm < min then rpm=min
+
             End If
 
             'If supplied rpm is a key, we can just return the appropriate tuple
@@ -215,6 +224,18 @@ Namespace Pneumatics
 
 
 
+        Public Event Message(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) Implements IAuxiliaryEvent.AuxiliaryEvent 
+
+        Public Sub OnMessage(sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) 
+
+
+          If Not message is Nothing then
+
+          RaiseEvent Message( Me, message, messageType)
+
+          End If
+
+        End Sub
     End Class
 
 
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/ICompressorMap.vb b/VECTOAux/VectoAuxiliaries/Pneumatics/ICompressorMap.vb
index 09bfafb3e6..cf603e13b5 100644
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/ICompressorMap.vb
+++ b/VECTOAux/VectoAuxiliaries/Pneumatics/ICompressorMap.vb
@@ -1,5 +1,6 @@
 Namespace Pneumatics
     Public Interface ICompressorMap
+    Inherits IAuxiliaryEvent
 
         ''' <summary>
         ''' Initilaises the map from the supplied csv data
@@ -36,4 +37,5 @@ Namespace Pneumatics
 
 
     End Interface
+
 End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/M4_AirCompressor.vb b/VECTOAux/VectoAuxiliaries/Pneumatics/M4_AirCompressor.vb
index 20d06794c6..77b2e56d80 100644
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/M4_AirCompressor.vb
+++ b/VECTOAux/VectoAuxiliaries/Pneumatics/M4_AirCompressor.vb
@@ -1,7 +1,9 @@
 
 Namespace Pneumatics
 
+
     Public Class M4_AirCompressor
+   
         Implements IM4_AirCompressor
 
         Private Const MinRatio As Single = 1
@@ -11,9 +13,10 @@ Namespace Pneumatics
 
         Private _pulleyGearRatio As Single
         Private _pulleyGearEfficiency As Single
-        Private _map As ICompressorMap
+        Private  _map As ICompressorMap 
         Private _signals As ISignals
 
+     
         ''' <summary>
         ''' Ratio of Gear or Pulley used to drive the compressor
         ''' </summary>
diff --git a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
index ba287dcbb4..9537ed8aea 100644
--- a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
+++ b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
@@ -132,7 +132,6 @@
     <Compile Include="Pneumatics\ActuationsKey.vb" />
     <Compile Include="Pneumatics\IM3_AveragePneumaticLoadDemand.vb" />
     <Compile Include="Pneumatics\M4_AirCompressor.vb" />
-    <Compile Include="Electrics\AlternatorMapOLDREMOVELATER.vb" />
     <Compile Include="Electrics\M2_AverageElectricalLoadDemand.vb" />
     <Compile Include="Hvac\M1_AverageHVACLoadDemand.vb" />
     <Compile Include="Pneumatics\M3_AveragePneumaticLoadDemand.vb" />
diff --git a/VECTOAux/VectoAuxiliariesTests/Mocks/AlternatorMapMock.vb b/VECTOAux/VectoAuxiliariesTests/Mocks/AlternatorMapMock.vb
index e224c8d29b..61769f3158 100644
--- a/VECTOAux/VectoAuxiliariesTests/Mocks/AlternatorMapMock.vb
+++ b/VECTOAux/VectoAuxiliariesTests/Mocks/AlternatorMapMock.vb
@@ -5,6 +5,7 @@ Namespace Mocks
     Public Class AlternatorMapMock
         Implements IAlternatorMap
 
+
         Dim failing As Boolean
 
         Public Sub New(ByVal isFailing As Boolean)
@@ -24,6 +25,7 @@ Namespace Mocks
         End Function
 
 
+            Public Event AuxiliaryEvent(ByRef sender As Object, message As String, messageType As VectoAuxiliaries.AdvancedAuxiliaryMessageType) Implements VectoAuxiliaries.IAuxiliaryEvent.AuxiliaryEvent
     End Class
 
 End Namespace
diff --git a/VECTOAux/VectoAuxiliariesTests/Mocks/CompressorMapMock.vb b/VECTOAux/VectoAuxiliariesTests/Mocks/CompressorMapMock.vb
index 1ad2a0ae88..30e0e6be33 100644
--- a/VECTOAux/VectoAuxiliariesTests/Mocks/CompressorMapMock.vb
+++ b/VECTOAux/VectoAuxiliariesTests/Mocks/CompressorMapMock.vb
@@ -5,6 +5,8 @@ Namespace Mocks
     Public Class CompressorMapMock
         Implements ICompressorMap
 
+
+
         Dim failing As Boolean
 
         Public Sub New(ByVal isFailing As Boolean)
@@ -39,5 +41,7 @@ Namespace Mocks
         End Function
 
 
+
+            Public Event AuxiliaryEvent(ByRef sender As Object, message As String, messageType As VectoAuxiliaries.AdvancedAuxiliaryMessageType) Implements VectoAuxiliaries.IAuxiliaryEvent.AuxiliaryEvent
     End Class
 End Namespace
\ No newline at end of file
-- 
GitLab