From faa2b55acb352d15339811fefd8350ef7e161452 Mon Sep 17 00:00:00 2001
From: "Burns, Terry" <Terry.Burns@ricardo.com>
Date: Mon, 20 Oct 2014 10:21:31 +0000
Subject: [PATCH] ElectricalConsumerListChangedToListFrom DIC, all tests pass.

git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C1644
---
 .../My Project/Application.Designer.vb        |  2 +-
 .../My Project/Application.myapp              |  2 +-
 .../Electrics/ElectricalConsumerList.vb       | 64 +++++++++----------
 .../Electrics/IElectricalConsumerList.vb      |  2 +-
 .../UnitTests/ElectricalConsumerListTests.vb  |  8 +--
 5 files changed, 39 insertions(+), 39 deletions(-)

diff --git a/AuxillaryTestHarness/My Project/Application.Designer.vb b/AuxillaryTestHarness/My Project/Application.Designer.vb
index 742d626d3c..e466da946d 100644
--- a/AuxillaryTestHarness/My Project/Application.Designer.vb	
+++ b/AuxillaryTestHarness/My Project/Application.Designer.vb	
@@ -32,7 +32,7 @@ Namespace My
         
         <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
         Protected Overrides Sub OnCreateMainForm()
-            Me.MainForm = Global.AuxillaryTestHarness.ConsumerList
+            Me.MainForm = Global.AuxillaryTestHarness.Dashboard
         End Sub
     End Class
 End Namespace
diff --git a/AuxillaryTestHarness/My Project/Application.myapp b/AuxillaryTestHarness/My Project/Application.myapp
index 4b5af526bc..99bb8a7436 100644
--- a/AuxillaryTestHarness/My Project/Application.myapp	
+++ b/AuxillaryTestHarness/My Project/Application.myapp	
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <MySubMain>true</MySubMain>
-  <MainForm>ConsumerList</MainForm>
+  <MainForm>Dashboard</MainForm>
   <SingleInstance>false</SingleInstance>
   <ShutdownMode>0</ShutdownMode>
   <EnableVisualStyles>true</EnableVisualStyles>
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb b/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb
index 86970e724b..2570383a04 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb
@@ -7,15 +7,15 @@ Public Class ElectricalConsumerList
 Implements IElectricalConsumerList
 
 
-Private _items As New Dictionary(Of String, IElectricalConsumer)
+Private _items As New List(Of IElectricalConsumer)
 Private _powernetVoltage As Single
 Private _doorDutyCycleZeroToOne As single
 
-        Public ReadOnly Property Items As Dictionary(Of String, IElectricalConsumer) Implements IElectricalConsumerList.Items
-            Get
-            Return _items
-            End Get
-        End Property
+Public ReadOnly Property Items As List(Of  IElectricalConsumer) Implements IElectricalConsumerList.Items
+    Get
+    Return _items
+    End Get
+End Property
 
 'Create Empty List
 Public Sub New(powernetVoltage As Single,doorDutyCycle_ZeroToOne As single, Optional createDefaultList As Boolean = False)
@@ -61,26 +61,26 @@ c18 = CType(New ElectricalConsumer(False, "Lights", "Position lights LED bonus",
 c19 = CType(New ElectricalConsumer(False, "Lights", "Direction lights LED bonus",                                                          -0.30, 1.00, _powernetVoltage, 1), IElectricalConsumer)
 c20 = CType(New ElectricalConsumer(False, "Lights", "Brake Lights",                                                                        -1.20, 1.00, _powernetVoltage, 1), IElectricalConsumer)
 
-_items.Add(c1.ConsumerName, c1)
-_items.Add(c2.ConsumerName, c2)
-_items.Add(c3.ConsumerName, c3)
-_items.Add(c4.ConsumerName, c4)
-_items.Add(c5.ConsumerName, c5)
-_items.Add(c6.ConsumerName, c6)
-_items.Add(c7.ConsumerName, c7)
-_items.Add(c8.ConsumerName, c8)
-_items.Add(c9.ConsumerName, c9)
-_items.Add(c10.ConsumerName, c10)
-_items.Add(c11.ConsumerName, c11)
-_items.Add(c12.ConsumerName, c12)
-_items.Add(c13.ConsumerName, c13)
-_items.Add(c14.ConsumerName, c14)
-_items.Add(c15.ConsumerName, c15)
-_items.Add(c16.ConsumerName, c16)
-_items.Add(c17.ConsumerName, c17)
-_items.Add(c18.ConsumerName, c18)
-_items.Add(c19.ConsumerName, c19)
-_items.Add(c20.ConsumerName, c20)
+_items.Add(c1)
+_items.Add(c2)
+_items.Add(c3)
+_items.Add(c4)
+_items.Add(c5)
+_items.Add(c6)
+_items.Add(c7)
+_items.Add(c8)
+_items.Add(c9)
+_items.Add(c10)
+_items.Add(c11)
+_items.Add(c12)
+_items.Add(c13)
+_items.Add(c14)
+_items.Add(c15)
+_items.Add(c16)
+_items.Add(c17)
+_items.Add(c18)
+_items.Add(c19)
+_items.Add(c20)
 
 
 
@@ -91,8 +91,8 @@ End Sub
 
    Public Sub AddConsumer(consumer As IElectricalConsumer) Implements Electrics.IElectricalConsumerList.AddConsumer
 
-     If Not _items.ContainsKey(consumer.ConsumerName) Then
-       _items.Add(consumer.ConsumerName, consumer)
+     If Not _items.Contains(consumer) Then
+       _items.Add(consumer)
      Else
 
      Throw New ArgumentException("Consumer Already Present in the list")
@@ -103,9 +103,9 @@ End Sub
 
    Public Sub RemoveConsumer(consumer As IElectricalConsumer) Implements Electrics.IElectricalConsumerList.RemoveConsumer
 
-    If _items.ContainsKey(consumer.ConsumerName) Then
+    If _items.Contains(consumer) Then
 
-    _items.Remove(consumer.ConsumerName)
+    _items.Remove(consumer)
 
     Else
 
@@ -122,9 +122,9 @@ End Sub
      Dim Amps As Single
 
      If excludeOnBase Then
-       Amps = Aggregate item In Items Where item.Value.BaseVehicle = False Into Sum(item.Value.TotalAvgConumptionAmps(_doorDutyCycleZeroToOne))
+       Amps = Aggregate item In Items Where item.BaseVehicle = False Into Sum(item.TotalAvgConumptionAmps(_doorDutyCycleZeroToOne))
      Else
-       Amps = Aggregate item In Items Into Sum(item.Value.TotalAvgConumptionAmps(_doorDutyCycleZeroToOne))
+       Amps = Aggregate item In Items Into Sum(item.TotalAvgConumptionAmps(_doorDutyCycleZeroToOne))
      End If
 
 
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb b/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb
index e0f3946a99..b111cf1d81 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb
@@ -3,7 +3,7 @@ Namespace Electrics
 
 Public Interface IElectricalConsumerList
 
-    ReadOnly Property Items As Dictionary(Of String, IElectricalConsumer)
+    ReadOnly Property Items As List(Of  IElectricalConsumer)
     Sub AddConsumer(consumer As IElectricalConsumer)
     Sub RemoveConsumer(consumer As IElectricalConsumer)
     Function GetTotalAverageDemandAmps(excludeOnBase As Boolean) As Single
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerListTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerListTests.vb
index fc07c43d48..78997edb20 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerListTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerListTests.vb
@@ -25,11 +25,11 @@ End Sub
 <Test()>
 Public Sub SumAllConsumersTest()
 
-     TestConsumerList.Items("Controllers,Valves etc").NumberInActualVehicle=1
+     TestConsumerList.Items.First(Function(item) item.ConsumerName= "Controllers,Valves etc").NumberInActualVehicle=1
 
      Dim actual As Single = TestConsumerList.GetTotalAverageDemandAmps( False)
 
-    TestConsumerList.Items("Controllers,Valves etc").NumberInActualVehicle=1
+     TestConsumerList.Items.First(Function(item) item.ConsumerName= "Controllers,Valves etc").NumberInActualVehicle=0
 
      Dim expected = 60.63
 
@@ -40,9 +40,9 @@ End Sub
 <Test()>
 Public Sub SumNonExcludedConsumersTest()
 
-     TestConsumerList.Items("Controllers,Valves etc").NumberInActualVehicle=1
+     TestConsumerList.Items.First(Function(item) item.ConsumerName= "Controllers,Valves etc").NumberInActualVehicle=1
      Dim actual As Single = TestConsumerList.GetTotalAverageDemandAmps(True)
-     TestConsumerList.Items("Controllers,Valves etc").NumberInActualVehicle=0
+     TestConsumerList.Items.First(Function(item) item.ConsumerName= "Controllers,Valves etc").NumberInActualVehicle=0
      Dim expected = 35.63
      Assert.AreEqual(expected, Math.Round(actual,2))
 
-- 
GitLab