From 408b70f1e5bf8aa5b72d4678b305cb2c7d629bf1 Mon Sep 17 00:00:00 2001
From: "Burns, Terry" <Terry.Burns@ricardo.com>
Date: Thu, 8 Jan 2015 15:49:00 +0000
Subject: [PATCH] Mike Prestons StopStart Mods and Associated Test Have been
 Included at module level.  Integration links are coming next. As per comms
 between MP and RL and from RL to TB.

git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C1710
---
 AdvancedAuxiliaryInterfaces/ISignals.vb       |  1 +
 AdvancedAuxiliaryInterfaces/Signals.vb        |  2 ++
 AuxillaryTestHarness/Dashboard.vb             |  2 +-
 .../VectoAuxiliaries/AdvancedAuxiliaries.vb   |  2 +-
 .../VectoAuxiliaries/AuxillaryEnvironment.vb  |  2 +-
 .../DownstreamModules/IM10.vb                 |  5 ++-
 .../DownstreamModules/IM11.vb                 |  2 ++
 .../DownstreamModules/IM12.vb                 |  4 +++
 .../VectoAuxiliaries/DownstreamModules/M10.vb |  2 +-
 .../VectoAuxiliaries/DownstreamModules/M11.vb | 28 +++++++++++++----
 .../VectoAuxiliaries/DownstreamModules/M12.vb | 31 +++++++++++++++++--
 .../VectoAuxiliaries/DownstreamModules/M13.vb |  8 ++---
 .../VectoAuxiliaries/DownstreamModules/M9.vb  | 15 ++++++---
 .../UnitTests/M10Tests.vb                     |  2 +-
 .../UnitTests/M11Tests.vb                     | 12 ++++---
 .../UnitTests/M12Tests.vb                     | 25 +++++++++------
 .../UnitTests/M13Tests.vb                     |  4 +--
 .../UnitTests/M9Tests.vb                      | 11 ++++---
 18 files changed, 117 insertions(+), 41 deletions(-)

diff --git a/AdvancedAuxiliaryInterfaces/ISignals.vb b/AdvancedAuxiliaryInterfaces/ISignals.vb
index 5bf418a0a7..b759c19a61 100644
--- a/AdvancedAuxiliaryInterfaces/ISignals.vb
+++ b/AdvancedAuxiliaryInterfaces/ISignals.vb
@@ -13,5 +13,6 @@ property EngineDrivelineTorque as single
 Property Idle As Boolean
 Property InNeutral As Boolean
 Property AuxiliaryEventReportingLevel As AdvancedAuxiliaryMessageType
+Property EngineStopped As Boolean
 
 End Interface
diff --git a/AdvancedAuxiliaryInterfaces/Signals.vb b/AdvancedAuxiliaryInterfaces/Signals.vb
index 0292819415..760077aefd 100644
--- a/AdvancedAuxiliaryInterfaces/Signals.vb
+++ b/AdvancedAuxiliaryInterfaces/Signals.vb
@@ -5,6 +5,7 @@ Implements ISignals
 
 
 
+
   Private _smartElectrics As Boolean
 
     Public Property ClutchEngaged As Boolean Implements ISignals.ClutchEngaged
@@ -46,6 +47,7 @@ Implements ISignals
 
     Public Property AuxiliaryEventReportingLevel As AdvancedAuxiliaryMessageType Implements ISignals.AuxiliaryEventReportingLevel
 
+    Public Property EngineStopped As Boolean Implements ISignals.EngineStopped
 
 
 End Class
diff --git a/AuxillaryTestHarness/Dashboard.vb b/AuxillaryTestHarness/Dashboard.vb
index a1a8530b51..7e9f04fe18 100644
--- a/AuxillaryTestHarness/Dashboard.vb
+++ b/AuxillaryTestHarness/Dashboard.vb
@@ -1140,7 +1140,7 @@ Private sub RefreshDisplays()
 
 
       'M10
-      txtM10_out_BaseFCWithAvgAuxLoads.Text = auxEnvironment.M10.BaseFuelConsumptionWithAverageAuxiliaryLoads
+      txtM10_out_BaseFCWithAvgAuxLoads.Text = auxEnvironment.M10.AverageLoadsFuelConsumptionInterpolatedForPneumatics
       txtM10_out_FCWithSmartPSAndAvgElecPowerDemand.Text = auxEnvironment.M10.FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand
 
 
diff --git a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
index 28a1935219..e360aa0647 100644
--- a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
+++ b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
@@ -144,7 +144,7 @@ Public Class AdvancedAuxiliaries
       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 )
+      M12 = New M12(M10, M11, Signals )
       M13 = New M13(M1,M10,M12,Signals)
     
     
diff --git a/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb b/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb
index 67008572e0..523b0980e7 100644
--- a/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb
+++ b/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb
@@ -159,7 +159,7 @@ M10 = New M10(M3,M9,Signals)
 
 M11 = New M11(M1,M3,M6,M8,fuelMap,Signals)
 
-M12 = New M12( M11, Signals )
+M12 = New M12( M10,M11, Signals )
 
 M13 = New M13(M1,M10,M12,Signals)
 
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb
index 03dd8041b6..9cc3d54d37 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb
@@ -10,9 +10,12 @@ Namespace DownstreamModules
 Public Interface IM10
 
 'Interpolated FC between points 2-1 Representing non-smart Pneumatics = BaseFuel Consumption with average auxillary loads
-ReadOnly Property BaseFuelConsumptionWithAverageAuxiliaryLoads As Single
 
+'changed to ASP MPreston 8/1/14
 
+'AverageLoadsFuelConsumptionInterpolatedForPneumatics
+
+ReadOnly Property AverageLoadsFuelConsumptionInterpolatedForPneumatics As Single
 
 
 'Interpolated FC between points 2-3-1 Representing smart Pneumatics = Fuel consumption with smart Pneumatics and average electrical  power demand
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb
index d0c32fa739..d19303663b 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb
@@ -12,6 +12,8 @@ ReadOnly Property SmartElectricalTotalCycleEletricalEnergyGenerated As single
 ReadOnly Property TotalCycleElectricalDemand As single
 ReadOnly Property TotalCycleFuelConsumptionSmartElectricalLoad As single
 ReadOnly Property TotalCycleFuelConsumptionZeroElectricalLoad As single
+ReadOnly Property StopStartSensitiveTotalCycleElectricalDemand As Single
+
 
 
  Sub ClearAggregates()  
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM12.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM12.vb
index 88dcdf5820..2f471af695 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM12.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM12.vb
@@ -8,6 +8,10 @@ Public Interface IM12
 
 ReadOnly Property FuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand As Single
 
+ReadOnly Property BaseFuelConsumptionWithAverageAuxiliaryLoads As Single
+
+
+
 
 End Interface
 
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb
index 132201c8a7..4a42ba3be2 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb
@@ -60,7 +60,7 @@ End Function
  'Public 
  #Region "Public Properties"
 
- Public ReadOnly Property BaseFuelConsumptionWithAverageAuxiliaryLoads As Single Implements IM10.BaseFuelConsumptionWithAverageAuxiliaryLoads
+ Public ReadOnly Property BaseFuelConsumptionWithAverageAuxiliaryLoads As Single Implements IM10.AverageLoadsFuelConsumptionInterpolatedForPneumatics
             Get
              Return Interpolate(InterpolationType.NonSmartPneumtaics)
             End Get
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M11.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M11.vb
index c032406e09..a4d8c39723 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M11.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M11.vb
@@ -6,6 +6,7 @@ Namespace DownstreamModules
 
 Public Class M11
  Implements IM11
+
  
 
  Private Const RPM_to_RadiansPerSecond as single= 9.55 
@@ -19,6 +20,7 @@ Public Class M11
   Private AG3 As Single
   Private AG4 As single
   Private AG5 As single
+  Private AG6 As single
   #End Region
 
  #Region "Private Fields Assigned by Constructor."
@@ -115,6 +117,19 @@ End Property
              Return AG5
             End Get
         End Property
+'OUT6
+        Public ReadOnly Property StopStartSensitiveTotalCycleElectricalDemand As Single Implements IM11.StopStartSensitiveTotalCycleElectricalDemand
+            Get
+            Return AG6
+            End Get
+        End Property
+
+Private ReadOnly Property SW1 As single
+    Get
+     Return If( signals.EngineStopped,0, 1)
+    End Get
+End Property
+
 
  'Clear at the beginning of cycle
  Sub ClearAggregates() Implements IM11.ClearAggregates
@@ -124,20 +139,21 @@ End Property
    AG3=0
    AG4=0
    AG5=0
-
+   ag6=0
 
  End Sub
 
  'Add to Aggregates dependent on cycle step time.
  Sub CycleStep(Optional stepTimeInSeconds As Single = 0.0) Implements IM11.CycleStep
 
-   AG1  =    AG1   +  (  stepTimeInSeconds *   sum1                                           )
-   AG2  =    AG2   +  (  stepTimeInSeconds *   M8.SmartElectricalAlternatorPowerGenAtCrank    )
-   AG3  =    AG3   +  (  stepTimeInSeconds *   m6.AvgPowerDemandAtCrankFromElectricsIncHVAC   )
+   AG1  =    AG1   +  (  stepTimeInSeconds *   sum1                                           * SW1 )
+   AG2  =    AG2   +  (  stepTimeInSeconds *   M8.SmartElectricalAlternatorPowerGenAtCrank    * SW1 )
+   AG3  =    AG3   +  (  stepTimeInSeconds *   m6.AvgPowerDemandAtCrankFromElectricsIncHVAC         )
+   AG6  =    AG6   +  (  stepTimeInSeconds *   m6.AvgPowerDemandAtCrankFromElectricsIncHVAC   * SW1 )
 
    'These need to be divided by 3600 as the Fuel Map output is in Grams/Second.
-   AG4  =    AG4   +  (  stepTimeInSeconds *   sum7 / 3600                                    )
-   AG5  =    AG5   +  (  stepTimeInSeconds *   Sum8 / 3600                                    )
+   AG4  =    AG4   +  (  stepTimeInSeconds *   sum7 / 3600                                    * SW1 )
+   AG5  =    AG5   +  (  stepTimeInSeconds *   Sum8 / 3600                                    * SW1 )
 
  End Sub
 
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M12.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M12.vb
index a7862b0a4b..45dabb18fd 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M12.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M12.vb
@@ -7,6 +7,7 @@ Namespace DownstreamModules
 Public Class M12
 Implements IM12
 
+
 Private Class Point
 
 Public X As Single
@@ -16,12 +17,14 @@ End Class
 
 
 Private M11 As IM11
+Private M10 As IM10
+
 Private Signals As ISignals
 
 'Interpolation 
 Private function Sum1()As single
 
-Dim  P1 as Point = New Point with {.X=0, .Y=M11.TotalCycleFuelConsumptionZeroElectricalLoad }
+Dim  P1 as Point  = New Point with {.X=0, .Y=M11.TotalCycleFuelConsumptionZeroElectricalLoad }
 Dim  P2 As Point  = New Point With {.X=M11.SmartElectricalTotalCycleEletricalEnergyGenerated, .Y=M11.TotalCycleFuelConsumptionSmartElectricalLoad}
 
 Dim IP5x As Single = M11.TotalCycleElectricalDemand
@@ -36,8 +39,27 @@ Return IP5Y
 End Function
 
 
-Public Sub new ( m11 As IM11, signals As ISignals)
+Private function Sum2()As single
+
+Dim  P1 as Point  = New Point with {.X=0, .Y=M11.TotalCycleFuelConsumptionZeroElectricalLoad }
+Dim  P3 As Point  = New Point With {.X=M11.StopStartSensitiveTotalCycleElectricalDemand, .Y=M10.AverageLoadsFuelConsumptionInterpolatedForPneumatics}
+
+Dim IP5x As Single = M11.TotalCycleElectricalDemand
+Dim IP5y As Single = 0
+
+Dim TanTeta as Single = (P3.Y-P1.Y)/(P3.X-P1.X)
+
+IP5y = P1.Y + ( TanTeta * IP5x )
 
+Return IP5Y
+
+End Function
+
+
+
+Public Sub new ( m10 As IM10, m11 As IM11, signals As ISignals)
+
+   Me.M10 = m10
    Me.M11=m11
    Me.Signals=signals
 
@@ -50,6 +72,11 @@ Public ReadOnly Property FuelconsumptionwithsmartElectricsandAveragePneumaticPow
 
 End Property
 
+Public ReadOnly Property BaseFuelConsumptionWithAverageAuxiliaryLoads As Single Implements IM12.BaseFuelConsumptionWithAverageAuxiliaryLoads
+    Get
+      Return Sum2()
+    End Get
+End Property
 End Class
 
 End Namespace
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M13.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M13.vb
index 10542909a6..fc4d25fec3 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M13.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M13.vb
@@ -17,17 +17,17 @@ Private signals As ISignals
 
 Private readonly Property Sum1 As Single
     Get
-     return  - m12.FuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand + m10.BaseFuelConsumptionWithAverageAuxiliaryLoads
+     return  - m12.FuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand + m12.BaseFuelConsumptionWithAverageAuxiliaryLoads
     End Get
 End Property
 Private readonly Property Sum2 As Single
     Get
-     Return m10.BaseFuelConsumptionWithAverageAuxiliaryLoads - m10.FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand
+     Return m12.BaseFuelConsumptionWithAverageAuxiliaryLoads - m10.FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand
     End Get
 End Property
 Private readonly Property Sum3 As Single
     Get
-     Return m10.BaseFuelConsumptionWithAverageAuxiliaryLoads-Sum2
+     Return m12.BaseFuelConsumptionWithAverageAuxiliaryLoads-Sum2
     End Get
 End Property
 Private readonly Property Sum4 As Single
@@ -59,7 +59,7 @@ Private readonly Property SW1 As Single
 End Property
 private readonly Property SW2 as Single
     Get
-     Return  If( signals.SmartPneumatics,m10.FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand, m10.BaseFuelConsumptionWithAverageAuxiliaryLoads)
+     Return  If( signals.SmartPneumatics,m10.FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand, m12.BaseFuelConsumptionWithAverageAuxiliaryLoads)
     End Get
 End Property
 Private readonly Property SW3 As Single
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb
index d00bcaf73a..fff4049db1 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb
@@ -144,6 +144,13 @@ End Property
       End Get
   End Property
 
+
+ Private ReadOnly Property SW1 As Integer
+     Get
+       Return If( Signals.EngineStopped,0,1)
+     End Get
+ End Property
+
  'Public Utility Methods.
  Public Sub ClearAggregates() Implements IM9.ClearAggregates
 
@@ -157,10 +164,10 @@ End Property
  'Clear down at the beginning of a cycle.      
  Public Sub CycleStep(Optional stepTimeInSeconds As Single = 0.0) Implements IM9.CycleStep
 
-          _LitresOfAirCompressorOnContinuallyAggregate +=stepTimeInSeconds* M4.GetFlowRate 
-          _LitresOfAirCompressorOnOnlyInOverrunAggregate +=stepTimeInSeconds * s10
-          _TotalCycleFuelConsumptionCompressorOnContinuouslyAggregate+= stepTimeInSeconds * s11
-          _TotalCycleFuelConsumptionCompressorOffContinuouslyAggregate +=stepTimeInSeconds * s12
+          _LitresOfAirCompressorOnContinuallyAggregate +=stepTimeInSeconds* M4.GetFlowRate * sw1
+          _LitresOfAirCompressorOnOnlyInOverrunAggregate +=stepTimeInSeconds * s10 * sw1
+          _TotalCycleFuelConsumptionCompressorOnContinuouslyAggregate+= stepTimeInSeconds * s11 * sw1
+          _TotalCycleFuelConsumptionCompressorOffContinuouslyAggregate +=stepTimeInSeconds * s12 * sw1
 
   End Sub
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb
index cf4a2b2d72..edf5c8c171 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb
@@ -33,7 +33,7 @@ m9.Setup( Function(x) x.TotalCycleFuelConsumptionCompressorOffContinuously).Retu
 Dim target As IM10 = New M10(m3.Object,m9.Object,Signals)
 
 
-Assert.AreEqual(out1, target.BaseFuelConsumptionWithAverageAuxiliaryLoads )
+Assert.AreEqual(out1, target.AverageLoadsFuelConsumptionInterpolatedForPneumatics )
 Assert.AreEqual(out2, target.FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand )
 
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M11Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M11Tests.vb
index 8df73e7fe7..15f1fb1a75 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M11Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M11Tests.vb
@@ -11,8 +11,9 @@ Namespace UnitTests
 Public Class M11Tests
 
 <Test()> _
-<TestCase(0,50,60,70,80,90,1500,  0,50,60,0.2182501f,0.2182059f)> _
-<TestCase(1,50,60,70,80,90,1500, 50,50,60,0.2182501f,0.2182059f)> _
+<TestCase(0,50,60,70,80,90,1500,False , 0,50,60,0.2182501f,0.2182059f,60)> _
+<TestCase(1,50,60,70,80,90,1500,False ,50,50,60,0.2182501f,0.2182059f,60)> _
+<TestCase(1,50,60,70,80,90,1500,True  , 0, 0,60,0          ,0         ,0)> _
 Public Sub InputOutputValues( IP1  As single, 
                               IP2  As single, 
                               IP3  As single,
@@ -20,11 +21,13 @@ Public Sub InputOutputValues( IP1  As single,
                               IP5  As single, 
                               IP6  As single,
                               IP7  As single, 
+                              IP8  As Boolean,
                               OUT1 As single, 
                               OUT2 As single, 
                               OUT3 As single, 
                               OUT4 As single, 
-                              OUT5 As single)
+                              OUT5 As single,
+                              OUT6 As single)
 
 'Arrange
 
@@ -47,6 +50,7 @@ Public Sub InputOutputValues( IP1  As single,
  m3Mock   .Setup( Function(x)  x.GetAveragePowerDemandAtCrankFromPneumatics)        .Returns( IP5 )
  m1Mock   .Setup( Function(x)  x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts) .Returns( IP6 )
  sgnlsMock.Setup( Function(x)  x.EngineSpeed)                                       .Returns( IP7 )
+ sgnlsMock.Setup( Function(x)  x.EngineStopped)                                     .Returns( IP8 )
 
 
  'Act
@@ -62,7 +66,7 @@ Public Sub InputOutputValues( IP1  As single,
  Assert.AreEqual( target.TotalCycleElectricalDemand,OUT3)
  Assert.AreEqual( Math.Round(CType(target.TotalCycleFuelConsumptionSmartElectricalLoad,Decimal),7),OUT4)
  Assert.AreEqual( Math.Round(CType(target.TotalCycleFuelConsumptionZeroElectricalLoad,Decimal),7),OUT5)
-
+ Assert.AreEqual( Math.Round(CType(target.StopStartSensitiveTotalCycleElectricalDemand,Decimal),7),OUT6)
 
 
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb
index 52f02aadeb..05857a2bc5 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb
@@ -11,30 +11,37 @@ Namespace UnitTests
 Public Class M12Tests
 
 <Test()> _
-<TestCase(2,8,6,5,4.5f)> _
+<TestCase(2,8,6,5,8,6,4.5f,4.5f)> _
 Public Sub InputOutputValues( IP2  As single, 
                               IP3  As single,
                               IP4  As single, 
                               IP5  As single, 
-                              OUT1 As single)
+                              IP6  As Single,
+                              IP7  As Single,
+                              OUT1 As single,
+                              OUT2 As single
+                              )
 
 'Arrange
-
+ Dim M10Mock     As New Mock(Of IM10)
  Dim m11Mock     As New Mock(Of IM11)
+
  Dim sgnlsMock   As New Mock(Of ISignals)
 
 
-m11Mock.Setup( Function(x) x.TotalCycleFuelConsumptionZeroElectricalLoad)      .Returns( IP2 )
-m11Mock.Setup( Function(x) x.SmartElectricalTotalCycleEletricalEnergyGenerated).Returns( IP3 )
-m11Mock.Setup( Function(x) x.TotalCycleFuelConsumptionSmartElectricalLoad)     .Returns( IP4 )
-m11Mock.Setup( Function(x) x.TotalCycleElectricalDemand)                       .Returns( IP5 )
+m11Mock.Setup( Function(x) x.TotalCycleFuelConsumptionZeroElectricalLoad)          .Returns( IP2 )
+m11Mock.Setup( Function(x) x.SmartElectricalTotalCycleEletricalEnergyGenerated)    .Returns( IP3 )
+m11Mock.Setup( Function(x) x.TotalCycleFuelConsumptionSmartElectricalLoad)         .Returns( IP4 )
+m11Mock.Setup( Function(x) x.TotalCycleElectricalDemand)                           .Returns( IP5 )
+m11Mock.Setup( Function(x) x.StopStartSensitiveTotalCycleElectricalDemand)         .Returns( IP6 )
+M10Mock.Setup( Function(x) x.AverageLoadsFuelConsumptionInterpolatedForPneumatics) .Returns( IP7 )
 
  'Act
-  Dim target  = New M12( m11Mock.Object ,sgnlsMock.Object )
+  Dim target  = New M12(M10Mock.Object, m11Mock.Object ,sgnlsMock.Object )
         
  'Assert
  Assert.AreEqual( target.FuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand, OUT1 )
-
+ Assert.AreEqual( target.BaseFuelConsumptionWithAverageAuxiliaryLoads,                    OUT2 )
 
 End Sub
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M13Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M13Tests.vb
index 3da3a06291..9f2d4d9005 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M13Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M13Tests.vb
@@ -35,7 +35,7 @@ Dim M12 As New Mock(Of IM12)
 Dim Signals As New Mock(Of ISignals)
 
 m12.Setup     ( Function(x) x.FuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand) .Returns( IP1 )
-m10.Setup     ( Function(x) x.BaseFuelConsumptionWithAverageAuxiliaryLoads)                    .Returns( IP2 )
+m12.Setup     ( Function(x) x.BaseFuelConsumptionWithAverageAuxiliaryLoads)                    .Returns( IP2 )
 m10.Setup     ( Function(x) x.FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand)   .Returns( IP3 )
 Signals.Setup ( Function(x) x.SmartPneumatics)                                                 .Returns( IP4 )
 Signals.Setup ( Function(x) x.SmartElectrics)                                                  .Returns( IP5 )
@@ -48,7 +48,7 @@ Signals.Setup ( Function(x) x.CurrentCycleTimeInSeconds)
        
 'Assert
 Assert.AreEqual( OUT1, target.TotalCycleFuelConsumptionGrams )
-Assert.AreEqual( OUT2,target.TotalCycleFuelConsumptionLitres )
+Assert.AreEqual( OUT2, target.TotalCycleFuelConsumptionLitres )
 End Sub
 
 End Class
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb
index 4db019fc77..ef5320a986 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb
@@ -11,10 +11,11 @@ Namespace UnitTests
 Public Class M9Tests
 
 <Test()> _
-<TestCase(50,50,400,200,100,1200,50,0,0,0.5f,50f,0,  0.18110822f,0.18088715f)> _
-<TestCase(50,50,400,200,100,1200,50,1,0,0.5f,50f,0,  0.18110822f,0.18088715f)> _
-<TestCase(50,50,400,200,100,1200,50,0,1,0.5f,50f,0,  0.18110822f,0.18088715f)> _
-<TestCase(50,50,400,200,100,1200,50,1,1,0.5f,50f,25, 0.18110822f,0.18088715f)> _               
+<TestCase(50,50,400,200,100,1200,50,0,0,0.5f,false,50f,0,  0.18110822f,0.18088715f)> _
+<TestCase(50,50,400,200,100,1200,50,1,0,0.5f,false,50f,0,  0.18110822f,0.18088715f)> _
+<TestCase(50,50,400,200,100,1200,50,0,1,0.5f,false,50f,0,  0.18110822f,0.18088715f)> _
+<TestCase(50,50,400,200,100,1200,50,1,1,0.5f,false,50f,25, 0.18110822f,0.18088715f)> _               
+<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,
@@ -25,6 +26,7 @@ Public Sub ValuesInOutTests(IP1  As Single,
                             IP8  As Single,
                             IP9  As Single,
                             IP10 As Single, 
+                            IP11 As Boolean,
                             AG1  As Single,
                             AG2  As Single,
                             AG3  As Single,
@@ -48,6 +50,7 @@ Public Sub ValuesInOutTests(IP1  As Single,
       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)
 
-- 
GitLab