Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/Views/HeightStructuresFailureMechanismViewTest.cs =================================================================== diff -u -r31de6acdcc4050ca89a2226c3c8004b9a61fd812 -r748397d6d26a542b144be5f5bd4e1f8f3ff30086 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/Views/HeightStructuresFailureMechanismViewTest.cs (.../HeightStructuresFailureMechanismViewTest.cs) (revision 31de6acdcc4050ca89a2226c3c8004b9a61fd812) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/Views/HeightStructuresFailureMechanismViewTest.cs (.../HeightStructuresFailureMechanismViewTest.cs) (revision 748397d6d26a542b144be5f5bd4e1f8f3ff30086) @@ -23,6 +23,7 @@ using System.Collections.Generic; using System.Linq; using System.Windows.Forms; +using Core.Common.Base; using Core.Common.Base.Geometry; using Core.Components.Gis.Data; using Core.Components.Gis.Features; @@ -238,6 +239,11 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[hydraulicBoundaryLocationsIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + MapData hydraulicBoundaryLocationsMapData = map.Data.Collection.ElementAt(hydraulicBoundaryLocationsIndex); // Precondition @@ -251,6 +257,7 @@ // Then MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection.HydraulicBoundaryDatabase.Locations, hydraulicBoundaryLocationsMapData); + mocks.VerifyAll(); } } @@ -275,6 +282,11 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[hydraulicBoundaryLocationsIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + MapData hydraulicBoundaryLocationsMapData = map.Data.Collection.ElementAt(hydraulicBoundaryLocationsIndex); // Precondition @@ -295,6 +307,7 @@ // Then MapDataTestHelper.AssertHydraulicBoundaryLocationOutputsMapData(assessmentSection.HydraulicBoundaryDatabase.Locations, hydraulicBoundaryLocationsMapData); + mocks.VerifyAll(); } } @@ -316,6 +329,11 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[referenceLineIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + MapData referenceLineMapData = map.Data.Collection.ElementAt(referenceLineIndex); // Precondition @@ -333,6 +351,7 @@ // Then MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); + mocks.VerifyAll(); } } @@ -346,6 +365,13 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[sectionsIndex].Expect(obs => obs.UpdateObserver()); + observers[sectionsStartPointIndex].Expect(obs => obs.UpdateObserver()); + observers[sectionsEndPointIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + var sectionMapData = (MapLineData) map.Data.Collection.ElementAt(sectionsIndex); var sectionStartsMapData = (MapPointData) map.Data.Collection.ElementAt(sectionsStartPointIndex); var sectionsEndsMapData = (MapPointData) map.Data.Collection.ElementAt(sectionsEndPointIndex); @@ -362,6 +388,7 @@ MapDataTestHelper.AssertFailureMechanismSectionsMapData(failureMechanism.Sections, sectionMapData); MapDataTestHelper.AssertFailureMechanismSectionsStartPointMapData(failureMechanism.Sections, sectionStartsMapData); MapDataTestHelper.AssertFailureMechanismSectionsEndPointMapData(failureMechanism.Sections, sectionsEndsMapData); + mocks.VerifyAll(); } } @@ -385,6 +412,11 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[foreshoreProfilesIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + MapData foreshoreProfileData = map.Data.Collection.ElementAt(foreshoreProfilesIndex); // Precondition @@ -401,6 +433,7 @@ // Then MapDataTestHelper.AssertForeshoreProfilesMapData(failureMechanism.ForeshoreProfiles, foreshoreProfileData); + mocks.VerifyAll(); } } @@ -422,6 +455,11 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[foreshoreProfilesIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + MapData foreshoreProfileData = map.Data.Collection.ElementAt(foreshoreProfilesIndex); // Precondition @@ -442,6 +480,7 @@ // Then MapDataTestHelper.AssertForeshoreProfilesMapData(failureMechanism.ForeshoreProfiles, foreshoreProfileData); + mocks.VerifyAll(); } } @@ -460,6 +499,11 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[structuresIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + MapData structuresData = map.Data.Collection.ElementAt(structuresIndex); // Precondition @@ -473,6 +517,7 @@ // Then MapDataTestHelper.AssertStructuresMapData(failureMechanism.HeightStructures, structuresData); + mocks.VerifyAll(); } } @@ -490,6 +535,11 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[structuresIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + MapData structuresData = map.Data.Collection.ElementAt(structuresIndex); // Precondition @@ -506,6 +556,7 @@ // Then MapDataTestHelper.AssertStructuresMapData(failureMechanism.HeightStructures, structuresData); + mocks.VerifyAll(); } } @@ -529,6 +580,11 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[calculationsIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + var calculationMapData = (MapLineData) map.Data.Collection.ElementAt(calculationsIndex); // Precondition @@ -550,6 +606,7 @@ // Then AssertCalculationsMapData(failureMechanism.Calculations.Cast>(), calculationMapData); + mocks.VerifyAll(); } } @@ -572,6 +629,11 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[calculationsIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + var calculationMapData = (MapLineData) map.Data.Collection.ElementAt(calculationsIndex); // Precondition @@ -585,6 +647,7 @@ // Then AssertCalculationsMapData(failureMechanism.Calculations.Cast>(), calculationMapData); + mocks.VerifyAll(); } } @@ -608,6 +671,11 @@ { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[calculationsIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + var calculationMapData = (MapLineData) map.Data.Collection.ElementAt(calculationsIndex); // Precondition @@ -621,6 +689,7 @@ // Then AssertCalculationsMapData(failureMechanism.Calculations.Cast>(), calculationMapData); + mocks.VerifyAll(); } } @@ -775,5 +844,53 @@ Assert.AreEqual("Hydraulische randvoorwaarden", hydraulicBoundaryLocationsMapData.Name); Assert.AreEqual("Berekeningen", calculationsMapData.Name); } + + /// + /// Attaches mocked observers to all map data components. + /// + /// The . + /// The map data collection containing the + /// elements. + /// An array of mocked observers attached to the data in . + private static IObserver[] AttachMapDataObservers(MockRepository mocks, IEnumerable mapData) + { + MapData[] mapDataArray = mapData.ToArray(); + + var referenceLineMapDataObserver = mocks.StrictMock(); + mapDataArray[referenceLineIndex].Attach(referenceLineMapDataObserver); + + var sectionsMapDataObserver = mocks.StrictMock(); + mapDataArray[sectionsIndex].Attach(sectionsMapDataObserver); + + var sectionsStartPointMapDataObserver = mocks.StrictMock(); + mapDataArray[sectionsStartPointIndex].Attach(sectionsStartPointMapDataObserver); + + var sectionsEndPointMapDataObserver = mocks.StrictMock(); + mapDataArray[sectionsEndPointIndex].Attach(sectionsEndPointMapDataObserver); + + var hydraulicBoundaryLocationsMapDataObserver = mocks.StrictMock(); + mapDataArray[hydraulicBoundaryLocationsIndex].Attach(hydraulicBoundaryLocationsMapDataObserver); + + var foreshoreProfilesMapDataObserver = mocks.StrictMock(); + mapDataArray[foreshoreProfilesIndex].Attach(foreshoreProfilesMapDataObserver); + + var structuresMapDataObserver = mocks.StrictMock(); + mapDataArray[structuresIndex].Attach(structuresMapDataObserver); + + var calculationsMapDataObserver = mocks.StrictMock(); + mapDataArray[calculationsIndex].Attach(calculationsMapDataObserver); + + return new[] + { + referenceLineMapDataObserver, + sectionsMapDataObserver, + sectionsStartPointMapDataObserver, + sectionsEndPointMapDataObserver, + hydraulicBoundaryLocationsMapDataObserver, + foreshoreProfilesMapDataObserver, + structuresMapDataObserver, + calculationsMapDataObserver + }; + } } } \ No newline at end of file