Fisheye: Tag 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f refers to a dead (removed) revision in file `Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.Designer.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f refers to a dead (removed) revision in file `Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f refers to a dead (removed) revision in file `Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithDetailedAssessmentView.resx'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f refers to a dead (removed) revision in file `Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithoutDetailedAssessmentView.Designer.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f refers to a dead (removed) revision in file `Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithoutDetailedAssessmentView.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f refers to a dead (removed) revision in file `Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismWithoutDetailedAssessmentView.resx'. Fisheye: No comparison available. Pass `N' to diff? Index: Riskeer/Integration/src/Riskeer.Integration.Forms/Views/StandAloneFailureMechanismView.Designer.cs =================================================================== diff -u --- Riskeer/Integration/src/Riskeer.Integration.Forms/Views/StandAloneFailureMechanismView.Designer.cs (revision 0) +++ Riskeer/Integration/src/Riskeer.Integration.Forms/Views/StandAloneFailureMechanismView.Designer.cs (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -0,0 +1,66 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using Riskeer.Common.Forms.Views; + +namespace Riskeer.Integration.Forms.Views +{ + partial class StandAloneFailureMechanismView + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.riskeerMapControl = new Riskeer.Common.Forms.Views.RiskeerMapControl(); + this.SuspendLayout(); + // + // riskeerMapControl + // + this.riskeerMapControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.riskeerMapControl.Location = new System.Drawing.Point(0, 0); + this.riskeerMapControl.Name = "riskeerMapControl"; + this.riskeerMapControl.Size = new System.Drawing.Size(150, 150); + this.riskeerMapControl.TabIndex = 0; + // + // FailureMechanismWithDetailedAssessmentView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.riskeerMapControl); + this.Name = "StandAloneFailureMechanismView"; + this.ResumeLayout(false); + + } + + #endregion + + private RiskeerMapControl riskeerMapControl; + } +} Index: Riskeer/Integration/src/Riskeer.Integration.Forms/Views/StandAloneFailureMechanismView.cs =================================================================== diff -u --- Riskeer/Integration/src/Riskeer.Integration.Forms/Views/StandAloneFailureMechanismView.cs (revision 0) +++ Riskeer/Integration/src/Riskeer.Integration.Forms/Views/StandAloneFailureMechanismView.cs (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -0,0 +1,211 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using Core.Common.Base; +using Core.Components.Gis.Data; +using Core.Components.Gis.Forms; +using Riskeer.AssemblyTool.Data; +using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Data.FailureMechanism; +using Riskeer.Common.Forms.Factories; +using Riskeer.Common.Forms.MapLayers; + +namespace Riskeer.Integration.Forms.Views +{ + /// + /// This class is a view showing map data for a stand alone failure mechanism. + /// + public partial class StandAloneFailureMechanismView : UserControl, IMapView + where TFailureMechanism : IHasSectionResults + where TSectionResult : FailureMechanismSectionResult + { + private readonly Func performAssemblyFunc; + + private HydraulicBoundaryLocationsMapLayer hydraulicBoundaryLocationsMapLayer; + private NonCalculatableFailureMechanismSectionResultsMapLayer assemblyResultMapLayer; + + private MapDataCollection mapDataCollection; + private MapLineData referenceLineMapData; + + private MapLineData sectionsMapData; + private MapPointData sectionsStartPointMapData; + private MapPointData sectionsEndPointMapData; + + private Observer failureMechanismObserver; + private Observer assessmentSectionObserver; + private Observer referenceLineObserver; + + /// + /// Creates a new instance of . + /// + /// The failure mechanism to show the data for. + /// The assessment section to show the data for. + /// The used to assemble the result of a section result. + /// Thrown when any parameter is null. + public StandAloneFailureMechanismView(TFailureMechanism failureMechanism, IAssessmentSection assessmentSection, + Func performAssemblyFunc) + { + if (failureMechanism == null) + { + throw new ArgumentNullException(nameof(failureMechanism)); + } + + if (assessmentSection == null) + { + throw new ArgumentNullException(nameof(assessmentSection)); + } + + if (performAssemblyFunc == null) + { + throw new ArgumentNullException(nameof(performAssemblyFunc)); + } + + InitializeComponent(); + + FailureMechanism = failureMechanism; + AssessmentSection = assessmentSection; + this.performAssemblyFunc = performAssemblyFunc; + + CreateObservers(); + + CreateMapData(); + SetAllMapDataFeatures(); + riskeerMapControl.SetAllData(mapDataCollection, assessmentSection.BackgroundData); + } + + /// + /// Gets the failure mechanism. + /// + public TFailureMechanism FailureMechanism { get; } + + /// + /// Gets the assessment section. + /// + public IAssessmentSection AssessmentSection { get; } + + public object Data { get; set; } + + public IMapControl Map => riskeerMapControl.MapControl; + + protected override void Dispose(bool disposing) + { + failureMechanismObserver.Dispose(); + assessmentSectionObserver.Dispose(); + referenceLineObserver.Dispose(); + hydraulicBoundaryLocationsMapLayer.Dispose(); + assemblyResultMapLayer.Dispose(); + + if (disposing) + { + components?.Dispose(); + } + + base.Dispose(disposing); + } + + private void CreateMapData() + { + mapDataCollection = new MapDataCollection(FailureMechanism.Name); + referenceLineMapData = RiskeerMapDataFactory.CreateReferenceLineMapData(); + hydraulicBoundaryLocationsMapLayer = new HydraulicBoundaryLocationsMapLayer(AssessmentSection); + + MapDataCollection sectionsMapDataCollection = RiskeerMapDataFactory.CreateSectionsMapDataCollection(); + sectionsMapData = RiskeerMapDataFactory.CreateFailureMechanismSectionsMapData(); + sectionsStartPointMapData = RiskeerMapDataFactory.CreateFailureMechanismSectionsStartPointMapData(); + sectionsEndPointMapData = RiskeerMapDataFactory.CreateFailureMechanismSectionsEndPointMapData(); + + assemblyResultMapLayer = new NonCalculatableFailureMechanismSectionResultsMapLayer( + FailureMechanism, performAssemblyFunc); + + mapDataCollection.Add(referenceLineMapData); + + sectionsMapDataCollection.Add(sectionsMapData); + sectionsMapDataCollection.Add(sectionsStartPointMapData); + sectionsMapDataCollection.Add(sectionsEndPointMapData); + mapDataCollection.Add(sectionsMapDataCollection); + + mapDataCollection.Add(assemblyResultMapLayer.MapData); + mapDataCollection.Add(hydraulicBoundaryLocationsMapLayer.MapData); + } + + private void CreateObservers() + { + failureMechanismObserver = new Observer(UpdateFailureMechanismMapData) + { + Observable = FailureMechanism + }; + assessmentSectionObserver = new Observer(UpdateReferenceLineMapData) + { + Observable = AssessmentSection + }; + referenceLineObserver = new Observer(UpdateReferenceLineMapData) + { + Observable = AssessmentSection.ReferenceLine + }; + } + + private void SetAllMapDataFeatures() + { + SetReferenceLineMapData(); + SetSectionsMapData(); + } + + #region AssessmentSection MapData + + private void UpdateReferenceLineMapData() + { + SetReferenceLineMapData(); + referenceLineMapData.NotifyObservers(); + } + + private void SetReferenceLineMapData() + { + referenceLineMapData.Features = RiskeerMapDataFeaturesFactory.CreateReferenceLineFeatures( + AssessmentSection.ReferenceLine, AssessmentSection.Id, AssessmentSection.Name); + } + + #endregion + + #region FailureMechanism MapData + + private void UpdateFailureMechanismMapData() + { + SetSectionsMapData(); + sectionsMapData.NotifyObservers(); + sectionsStartPointMapData.NotifyObservers(); + sectionsEndPointMapData.NotifyObservers(); + } + + private void SetSectionsMapData() + { + IEnumerable failureMechanismSections = FailureMechanism.Sections; + + sectionsMapData.Features = RiskeerMapDataFeaturesFactory.CreateFailureMechanismSectionFeatures(failureMechanismSections); + sectionsStartPointMapData.Features = RiskeerMapDataFeaturesFactory.CreateFailureMechanismSectionStartPointFeatures(failureMechanismSections); + sectionsEndPointMapData.Features = RiskeerMapDataFeaturesFactory.CreateFailureMechanismSectionEndPointFeatures(failureMechanismSections); + } + + #endregion + } +} \ No newline at end of file Index: Riskeer/Integration/src/Riskeer.Integration.Forms/Views/StandAloneFailureMechanismView.resx =================================================================== diff -u --- Riskeer/Integration/src/Riskeer.Integration.Forms/Views/StandAloneFailureMechanismView.resx (revision 0) +++ Riskeer/Integration/src/Riskeer.Integration.Forms/Views/StandAloneFailureMechanismView.resx (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Index: Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs =================================================================== diff -u -r432b46a640176168e7bbb391c08f25fc76b877b7 -r826ed5d86e04dbf6e830afa9bcf14b2b2619b10f --- Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision 432b46a640176168e7bbb391c08f25fc76b877b7) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -1387,46 +1387,25 @@ #region FailureMechanismWithDetailedAssessmentView ViewInfo - private ViewInfo> CreateFailureMechanismWithDetailedAssessmentViewInfo< + private ViewInfo> CreateFailureMechanismWithDetailedAssessmentViewInfo< TFailureMechanismContext, TFailureMechanism, TSectionResult>(Func performAssemblyFunc) where TSectionResult : FailureMechanismSectionResult where TFailureMechanism : FailureMechanismBase, IHasSectionResults where TFailureMechanismContext : IFailurePathContext { return new RiskeerViewInfo>(() => Gui) + StandAloneFailureMechanismView>(() => Gui) { GetViewName = (view, context) => context.WrappedData.Name, CloseForData = (view, dataToCloseFor) => ReferenceEquals(view.AssessmentSection, dataToCloseFor), AdditionalDataCheck = context => context.WrappedData.InAssembly, - CreateInstance = context => new FailureMechanismWithDetailedAssessmentView( + CreateInstance = context => new StandAloneFailureMechanismView( context.WrappedData, context.Parent, sr => performAssemblyFunc(context, sr)) }; } #endregion - #region FailureMechanismWithoutDetailedAssessmentView ViewInfo - - private ViewInfo> CreateFailureMechanismWithoutDetailedAssessmentViewInfo< - TFailureMechanismContext, TFailureMechanism, TSectionResult>( - Func> createInstanceFunc) - where TSectionResult : FailureMechanismSectionResultOld - where TFailureMechanism : FailureMechanismBase, IHasSectionResults - where TFailureMechanismContext : IFailurePathContext - { - return new RiskeerViewInfo>(() => Gui) - { - GetViewName = (view, context) => context.WrappedData.Name, - CloseForData = (view, dataToCloseFor) => ReferenceEquals(view.AssessmentSection, dataToCloseFor), - AdditionalDataCheck = context => context.WrappedData.InAssembly, - CreateInstance = createInstanceFunc - }; - } - - #endregion - #region FailureMechanismResults ViewInfo private static bool CloseFailureMechanismResultViewForData(TView view, object dataToCloseFor) Fisheye: Tag 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f refers to a dead (removed) revision in file `Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Views/FailureMechanismWithDetailedAssessmentViewTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f refers to a dead (removed) revision in file `Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Views/FailureMechanismWithoutDetailedAssessmentViewTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Views/StandAloneFailureMechanismViewTest.cs =================================================================== diff -u --- Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Views/StandAloneFailureMechanismViewTest.cs (revision 0) +++ Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Views/StandAloneFailureMechanismViewTest.cs (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -0,0 +1,494 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; +using Core.Common.Base; +using Core.Common.Base.Geometry; +using Core.Common.TestUtil; +using Core.Components.Gis.Data; +using Core.Components.Gis.Forms; +using NUnit.Framework; +using Rhino.Mocks; +using Riskeer.AssemblyTool.Data; +using Riskeer.Common.Data.AssemblyTool; +using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Data.FailureMechanism; +using Riskeer.Common.Data.Hydraulics; +using Riskeer.Common.Data.TestUtil; +using Riskeer.Common.Forms.TestUtil; +using Riskeer.Common.Forms.Views; +using Riskeer.Integration.Forms.Views; + +namespace Riskeer.Integration.Forms.Test.Views +{ + [TestFixture] + public class StandAloneFailureMechanismViewTest + { + private const int referenceLineIndex = 0; + private const int sectionsCollectionIndex = 1; + private const int assemblyResultsIndex = 2; + private const int hydraulicBoundaryLocationsIndex = 3; + + private const int sectionsIndex = 0; + private const int sectionsStartPointIndex = 1; + private const int sectionsEndPointIndex = 2; + + private const int sectionsObserverIndex = 1; + private const int sectionsStartPointObserverIndex = 2; + private const int sectionsEndPointObserverIndex = 3; + + [Test] + public void Constructor_ExpectedValues() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + var assessmentSection = new AssessmentSectionStub(); + + // Call + using (StandAloneFailureMechanismView, FailureMechanismSectionResult> view = CreateView(failureMechanism, assessmentSection)) + { + // Assert + Assert.IsInstanceOf(view); + Assert.IsInstanceOf(view); + Assert.IsNull(view.Data); + Assert.AreSame(failureMechanism, view.FailureMechanism); + Assert.AreSame(assessmentSection, view.AssessmentSection); + + Assert.AreEqual(1, view.Controls.Count); + Assert.IsInstanceOf(view.Controls[0]); + Assert.AreSame(view.Map, ((RiskeerMapControl) view.Controls[0]).MapControl); + Assert.AreEqual(DockStyle.Fill, ((Control) view.Map).Dock); + AssertEmptyMapData(view.Map.Data); + } + } + + [Test] + public void Constructor_FailureMechanismNull_ThrowsArgumentNullException() + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + // Call + void Call() => new StandAloneFailureMechanismView, FailureMechanismSectionResult>( + null, assessmentSection, sr => null); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("failureMechanism", exception.ParamName); + mocks.VerifyAll(); + } + + [Test] + public void Constructor_AssessmentSectionNull_ThrowsArgumentNullException() + { + // Setup + var mocks = new MockRepository(); + var failureMechanism = mocks.Stub>(); + mocks.ReplayAll(); + + // Call + void Call() => new StandAloneFailureMechanismView, FailureMechanismSectionResult>( + failureMechanism, null, sr => null); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("assessmentSection", exception.ParamName); + mocks.VerifyAll(); + } + + [Test] + public void Constructor_PerformAssemblyFuncNull_ThrowsArgumentNullException() + { + // Setup + var mocks = new MockRepository(); + var failureMechanism = mocks.Stub>(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + // Call + void Call() => new StandAloneFailureMechanismView, FailureMechanismSectionResult>( + failureMechanism, assessmentSection, null); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("performAssemblyFunc", exception.ParamName); + mocks.VerifyAll(); + } + + [Test] + public void Constructor_AssessmentSectionWithBackgroundData_BackgroundDataSet() + { + // Setup + IAssessmentSection assessmentSection = new AssessmentSectionStub(); + + // Call + using (StandAloneFailureMechanismView, FailureMechanismSectionResult> view = + CreateView(new TestFailureMechanism(), assessmentSection)) + { + // Assert + MapDataTestHelper.AssertImageBasedMapData(assessmentSection.BackgroundData, view.Map.BackgroundMapData); + } + } + + [Test] + public void Constructor_WithAllData_DataUpdatedToCollectionOfFilledMapData() + { + // Setup + var geometryPoints = new[] + { + new Point2D(0.0, 0.0), + new Point2D(2.0, 0.0), + new Point2D(4.0, 4.0), + new Point2D(6.0, 4.0) + }; + + var referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(new[] + { + new Point2D(1.0, 2.0), + new Point2D(2.0, 1.0) + }); + + var assessmentSection = new AssessmentSectionStub + { + ReferenceLine = referenceLine + }; + assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] + { + new HydraulicBoundaryLocation(1, "test", 1.0, 2.0) + }); + + var failureMechanism = new TestFailureMechanism(); + FailureMechanismTestHelper.SetSections(failureMechanism, new[] + { + new FailureMechanismSection("A", geometryPoints.Take(2)), + new FailureMechanismSection("B", geometryPoints.Skip(1).Take(2)), + new FailureMechanismSection("C", geometryPoints.Skip(2).Take(2)) + }); + + var random = new Random(21); + var failureMechanismSectionAssemblyResult = new FailureMechanismSectionAssemblyResult( + random.NextDouble(), random.NextDouble(), random.NextDouble(), + random.NextEnumValue()); + + // Call + using (var view = new StandAloneFailureMechanismView, FailureMechanismSectionResult>( + failureMechanism, assessmentSection, sr => failureMechanismSectionAssemblyResult)) + { + IMapControl map = ((RiskeerMapControl) view.Controls[0]).MapControl; + + // Assert + MapDataCollection mapData = map.Data; + Assert.IsInstanceOf(mapData); + + List mapDataList = mapData.Collection.ToList(); + Assert.AreEqual(4, mapDataList.Count); + MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, mapDataList[referenceLineIndex]); + + IEnumerable sectionsCollection = ((MapDataCollection) mapDataList[sectionsCollectionIndex]).Collection; + MapDataTestHelper.AssertFailureMechanismSectionsMapData(failureMechanism.Sections, sectionsCollection.ElementAt(sectionsIndex)); + MapDataTestHelper.AssertFailureMechanismSectionsStartPointMapData(failureMechanism.Sections, sectionsCollection.ElementAt(sectionsStartPointIndex)); + MapDataTestHelper.AssertFailureMechanismSectionsEndPointMapData(failureMechanism.Sections, sectionsCollection.ElementAt(sectionsEndPointIndex)); + + MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection, mapDataList[hydraulicBoundaryLocationsIndex]); + + MapDataTestHelper.AssertAssemblyMapData(failureMechanism, failureMechanismSectionAssemblyResult, mapDataList[assemblyResultsIndex]); + } + } + + [Test] + public void UpdateObserver_AssessmentSectionUpdated_MapDataUpdated() + { + // Setup + var referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(new List + { + new Point2D(1.0, 2.0), + new Point2D(2.0, 1.0) + }); + + var assessmentSection = new AssessmentSectionStub + { + ReferenceLine = referenceLine + }; + + using (StandAloneFailureMechanismView, FailureMechanismSectionResult> view = + CreateView(new TestFailureMechanism(), assessmentSection)) + { + IMapControl map = ((RiskeerMapControl) view.Controls[0]).MapControl; + + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[referenceLineIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + + var referenceLineMapData = (MapLineData) map.Data.Collection.ElementAt(referenceLineIndex); + + // Precondition + MapFeaturesTestHelper.AssertReferenceLineMetaData(assessmentSection.ReferenceLine, assessmentSection, referenceLineMapData.Features); + + // Call + assessmentSection.Name = "New name"; + assessmentSection.NotifyObservers(); + + // Assert + MapFeaturesTestHelper.AssertReferenceLineMetaData(assessmentSection.ReferenceLine, assessmentSection, referenceLineMapData.Features); + mocks.VerifyAll(); + } + } + + [Test] + public void UpdateObserver_ReferenceLineUpdated_MapDataUpdated() + { + // Setup + var referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(new List + { + new Point2D(1.0, 2.0), + new Point2D(2.0, 1.0) + }); + + var assessmentSection = new AssessmentSectionStub + { + ReferenceLine = referenceLine + }; + + using (StandAloneFailureMechanismView, FailureMechanismSectionResult> view = + CreateView(new TestFailureMechanism(), assessmentSection)) + { + IMapControl map = ((RiskeerMapControl) 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 + MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); + + // Call + referenceLine.SetGeometry(new List + { + new Point2D(2.0, 5.0), + new Point2D(4.0, 3.0) + }); + referenceLine.NotifyObservers(); + + // Assert + MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); + mocks.VerifyAll(); + } + } + + [Test] + public void UpdateObserver_FailureMechanismUpdated_MapDataUpdated() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + + using (StandAloneFailureMechanismView, FailureMechanismSectionResult> view = + CreateView(failureMechanism, new AssessmentSectionStub())) + { + IMapControl map = ((RiskeerMapControl) view.Controls[0]).MapControl; + + IEnumerable sectionsCollection = ((MapDataCollection) map.Data.Collection.ElementAt(sectionsCollectionIndex)).Collection; + var sectionMapData = (MapLineData) sectionsCollection.ElementAt(sectionsIndex); + var sectionStartsMapData = (MapPointData) sectionsCollection.ElementAt(sectionsStartPointIndex); + var sectionsEndsMapData = (MapPointData) sectionsCollection.ElementAt(sectionsEndPointIndex); + + var mocks = new MockRepository(); + IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); + observers[sectionsObserverIndex].Expect(obs => obs.UpdateObserver()); + observers[sectionsStartPointObserverIndex].Expect(obs => obs.UpdateObserver()); + observers[sectionsEndPointObserverIndex].Expect(obs => obs.UpdateObserver()); + mocks.ReplayAll(); + + // Call + FailureMechanismTestHelper.SetSections(failureMechanism, new[] + { + new FailureMechanismSection(string.Empty, new[] + { + new Point2D(1, 2), + new Point2D(1, 2) + }) + }); + failureMechanism.NotifyObservers(); + + // Assert + MapDataTestHelper.AssertFailureMechanismSectionsMapData(failureMechanism.Sections, sectionMapData); + MapDataTestHelper.AssertFailureMechanismSectionsStartPointMapData(failureMechanism.Sections, sectionStartsMapData); + MapDataTestHelper.AssertFailureMechanismSectionsEndPointMapData(failureMechanism.Sections, sectionsEndsMapData); + mocks.VerifyAll(); + } + } + + [Test] + public void UpdateObserver_DataUpdated_MapLayersSameOrder() + { + // Setup + const int updatedReferenceLineLayerIndex = referenceLineIndex + 3; + const int updatedSectionCollectionIndex = sectionsCollectionIndex - 1; + const int updatedAssemblyResultsIndex = assemblyResultsIndex - 1; + const int updatedHydraulicLocationsLayerIndex = hydraulicBoundaryLocationsIndex - 1; + + var assessmentSection = new AssessmentSectionStub(); + var failureMechanism = new TestFailureMechanism(); + + using (StandAloneFailureMechanismView, FailureMechanismSectionResult> view = + CreateView(failureMechanism, assessmentSection)) + { + IMapControl map = ((RiskeerMapControl) view.Controls[0]).MapControl; + + MapDataCollection mapData = map.Data; + + var dataToMove = (MapLineData) map.Data.Collection.ElementAt(referenceLineIndex); + mapData.Remove(dataToMove); + mapData.Add(dataToMove); + + IEnumerable mapDataCollection = mapData.Collection; + + // Precondition + var referenceLineData = (MapLineData) mapDataCollection.ElementAt(updatedReferenceLineLayerIndex); + Assert.AreEqual("Referentielijn", referenceLineData.Name); + + var sectionsData = (MapDataCollection) mapDataCollection.ElementAt(updatedSectionCollectionIndex); + Assert.AreEqual("Vakindeling", sectionsData.Name); + + var assemblyResultsData = (MapLineData) mapDataCollection.ElementAt(updatedAssemblyResultsIndex); + Assert.AreEqual("Duidingsklasse per vak", assemblyResultsData.Name); + + var hydraulicLocationsData = (MapPointData) mapDataCollection.ElementAt(updatedHydraulicLocationsLayerIndex); + Assert.AreEqual("Hydraulische belastingen", hydraulicLocationsData.Name); + + var points = new List + { + new Point2D(2.0, 5.0), + new Point2D(4.0, 3.0) + }; + var referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(points); + assessmentSection.ReferenceLine = referenceLine; + + // Call + assessmentSection.NotifyObservers(); + + // Assert + var actualReferenceLineData = (MapLineData) mapDataCollection.ElementAt(updatedReferenceLineLayerIndex); + Assert.AreEqual("Referentielijn", actualReferenceLineData.Name); + + var actualSectionsData = (MapDataCollection) mapDataCollection.ElementAt(updatedSectionCollectionIndex); + Assert.AreEqual("Vakindeling", actualSectionsData.Name); + + var actualAssemblyResultsData = (MapLineData) mapDataCollection.ElementAt(updatedAssemblyResultsIndex); + Assert.AreEqual("Duidingsklasse per vak", actualAssemblyResultsData.Name); + + var actualHydraulicLocationsData = (MapPointData) mapDataCollection.ElementAt(updatedHydraulicLocationsLayerIndex); + Assert.AreEqual("Hydraulische belastingen", actualHydraulicLocationsData.Name); + } + } + + private static StandAloneFailureMechanismView, FailureMechanismSectionResult> CreateView( + IHasSectionResults failureMechanism, + IAssessmentSection assessmentSection) + { + return new StandAloneFailureMechanismView, FailureMechanismSectionResult>( + failureMechanism, assessmentSection, sr => new DefaultFailureMechanismSectionAssemblyResult()); + } + + private static void AssertEmptyMapData(MapDataCollection mapDataCollection) + { + Assert.AreEqual("Test failure mechanism", mapDataCollection.Name); + + List mapDataList = mapDataCollection.Collection.ToList(); + + Assert.AreEqual(4, mapDataList.Count); + + var referenceLineMapData = (MapLineData) mapDataList[referenceLineIndex]; + var assemblyResultsMapData = (MapLineData) mapDataList[assemblyResultsIndex]; + var hydraulicBoundaryLocationsMapData = (MapPointData) mapDataList[hydraulicBoundaryLocationsIndex]; + + CollectionAssert.IsEmpty(referenceLineMapData.Features); + CollectionAssert.IsEmpty(assemblyResultsMapData.Features); + CollectionAssert.IsEmpty(hydraulicBoundaryLocationsMapData.Features); + + Assert.AreEqual("Referentielijn", referenceLineMapData.Name); + Assert.AreEqual("Duidingsklasse per vak", assemblyResultsMapData.Name); + Assert.AreEqual("Hydraulische belastingen", hydraulicBoundaryLocationsMapData.Name); + + var sectionsMapDataCollection = (MapDataCollection) mapDataList[sectionsCollectionIndex]; + Assert.AreEqual("Vakindeling", sectionsMapDataCollection.Name); + List sectionsDataList = sectionsMapDataCollection.Collection.ToList(); + Assert.AreEqual(3, sectionsDataList.Count); + + var sectionsMapData = (MapLineData) sectionsDataList[sectionsIndex]; + var sectionsStartPointMapData = (MapPointData) sectionsDataList[sectionsStartPointIndex]; + var sectionsEndPointMapData = (MapPointData) sectionsDataList[sectionsEndPointIndex]; + + CollectionAssert.IsEmpty(sectionsEndPointMapData.Features); + CollectionAssert.IsEmpty(sectionsStartPointMapData.Features); + CollectionAssert.IsEmpty(sectionsMapData.Features); + + Assert.AreEqual("Vakindeling (eindpunten)", sectionsEndPointMapData.Name); + Assert.AreEqual("Vakindeling (startpunten)", sectionsStartPointMapData.Name); + Assert.AreEqual("Vakindeling", sectionsMapData.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); + + MapData[] sectionsCollection = ((MapDataCollection) mapDataArray[sectionsCollectionIndex]).Collection.ToArray(); + var sectionsMapDataObserver = mocks.StrictMock(); + sectionsCollection[sectionsIndex].Attach(sectionsMapDataObserver); + + var sectionsStartPointMapDataObserver = mocks.StrictMock(); + sectionsCollection[sectionsStartPointIndex].Attach(sectionsStartPointMapDataObserver); + + var sectionsEndPointMapDataObserver = mocks.StrictMock(); + sectionsCollection[sectionsEndPointIndex].Attach(sectionsEndPointMapDataObserver); + + return new[] + { + referenceLineMapDataObserver, + sectionsMapDataObserver, + sectionsStartPointMapDataObserver, + sectionsEndPointMapDataObserver + }; + } + } +} \ No newline at end of file Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/RiskeerPluginTest.cs =================================================================== diff -u -r432b46a640176168e7bbb391c08f25fc76b877b7 -r826ed5d86e04dbf6e830afa9bcf14b2b2619b10f --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/RiskeerPluginTest.cs (.../RiskeerPluginTest.cs) (revision 432b46a640176168e7bbb391c08f25fc76b877b7) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/RiskeerPluginTest.cs (.../RiskeerPluginTest.cs) (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -491,31 +491,31 @@ viewInfos, typeof(MicrostabilityFailurePathContext), typeof(MicrostabilityFailureMechanism), - typeof(FailureMechanismWithDetailedAssessmentView)); + typeof(StandAloneFailureMechanismView)); PluginTestHelper.AssertViewInfoDefined( viewInfos, typeof(GrassCoverSlipOffOutwardsFailurePathContext), typeof(GrassCoverSlipOffOutwardsFailureMechanism), - typeof(FailureMechanismWithDetailedAssessmentView)); + typeof(StandAloneFailureMechanismView)); PluginTestHelper.AssertViewInfoDefined( viewInfos, typeof(GrassCoverSlipOffInwardsFailurePathContext), typeof(GrassCoverSlipOffInwardsFailureMechanism), - typeof(FailureMechanismWithDetailedAssessmentView)); + typeof(StandAloneFailureMechanismView)); PluginTestHelper.AssertViewInfoDefined( viewInfos, typeof(PipingStructureFailurePathContext), typeof(PipingStructureFailureMechanism), - typeof(FailureMechanismWithDetailedAssessmentView)); + typeof(StandAloneFailureMechanismView)); PluginTestHelper.AssertViewInfoDefined( viewInfos, typeof(WaterPressureAsphaltCoverFailurePathContext), typeof(WaterPressureAsphaltCoverFailureMechanism), - typeof(FailureMechanismWithDetailedAssessmentView)); + typeof(StandAloneFailureMechanismView)); PluginTestHelper.AssertViewInfoDefined( viewInfos, Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/GrassCoverSlipOffInwardsFailureMechanismViewInfoTest.cs =================================================================== diff -u -r432b46a640176168e7bbb391c08f25fc76b877b7 -r826ed5d86e04dbf6e830afa9bcf14b2b2619b10f --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/GrassCoverSlipOffInwardsFailureMechanismViewInfoTest.cs (.../GrassCoverSlipOffInwardsFailureMechanismViewInfoTest.cs) (revision 432b46a640176168e7bbb391c08f25fc76b877b7) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/GrassCoverSlipOffInwardsFailureMechanismViewInfoTest.cs (.../GrassCoverSlipOffInwardsFailureMechanismViewInfoTest.cs) (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -47,7 +47,7 @@ mocks = new MockRepository(); plugin = new RiskeerPlugin(); info = plugin.GetViewInfos().First( - tni => tni.ViewType == typeof(FailureMechanismWithDetailedAssessmentView tni.ViewType == typeof(StandAloneFailureMechanismView)); } @@ -92,7 +92,7 @@ var failureMechanism = new GrassCoverSlipOffInwardsFailureMechanism(); - using (FailureMechanismWithDetailedAssessmentView view = + using (StandAloneFailureMechanismView view = CreateView(failureMechanism, assessmentSection)) { // Call @@ -112,7 +112,7 @@ var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new GrassCoverSlipOffInwardsFailureMechanism(); - using (FailureMechanismWithDetailedAssessmentView view = + using (StandAloneFailureMechanismView view = CreateView(failureMechanism, assessmentSection)) { // Call @@ -160,20 +160,20 @@ IView view = info.CreateInstance(context); // Assert - Assert.IsInstanceOf>(view); - var failureMechanismView = (FailureMechanismWithDetailedAssessmentView) view; Assert.AreSame(failureMechanism, failureMechanismView.FailureMechanism); Assert.AreSame(assessmentSection, failureMechanismView.AssessmentSection); } - private static FailureMechanismWithDetailedAssessmentView CreateView( + private static StandAloneFailureMechanismView CreateView( GrassCoverSlipOffInwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection) { - return new FailureMechanismWithDetailedAssessmentView(failureMechanism, assessmentSection, sr => new DefaultFailureMechanismSectionAssemblyResult()); + return new StandAloneFailureMechanismView( + failureMechanism, assessmentSection, sr => new DefaultFailureMechanismSectionAssemblyResult()); } } } \ No newline at end of file Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/GrassCoverSlipOffOutwardsFailureMechanismViewInfoTest.cs =================================================================== diff -u -r432b46a640176168e7bbb391c08f25fc76b877b7 -r826ed5d86e04dbf6e830afa9bcf14b2b2619b10f --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/GrassCoverSlipOffOutwardsFailureMechanismViewInfoTest.cs (.../GrassCoverSlipOffOutwardsFailureMechanismViewInfoTest.cs) (revision 432b46a640176168e7bbb391c08f25fc76b877b7) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/GrassCoverSlipOffOutwardsFailureMechanismViewInfoTest.cs (.../GrassCoverSlipOffOutwardsFailureMechanismViewInfoTest.cs) (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -47,7 +47,7 @@ mocks = new MockRepository(); plugin = new RiskeerPlugin(); info = plugin.GetViewInfos().First( - tni => tni.ViewType == typeof(FailureMechanismWithDetailedAssessmentView tni.ViewType == typeof(StandAloneFailureMechanismView)); } @@ -92,7 +92,7 @@ var failureMechanism = new GrassCoverSlipOffOutwardsFailureMechanism(); - using (FailureMechanismWithDetailedAssessmentView view = + using (StandAloneFailureMechanismView view = CreateView(failureMechanism, assessmentSection)) { // Call @@ -112,7 +112,7 @@ var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new GrassCoverSlipOffOutwardsFailureMechanism(); - using (FailureMechanismWithDetailedAssessmentView view = + using (StandAloneFailureMechanismView view = CreateView(failureMechanism, assessmentSection)) { // Call @@ -160,20 +160,19 @@ IView view = info.CreateInstance(context); // Assert - Assert.IsInstanceOf>(view); - var failureMechanismView = (FailureMechanismWithDetailedAssessmentView) view; Assert.AreSame(failureMechanism, failureMechanismView.FailureMechanism); Assert.AreSame(assessmentSection, failureMechanismView.AssessmentSection); } - private static FailureMechanismWithDetailedAssessmentView CreateView( + private static StandAloneFailureMechanismView CreateView( GrassCoverSlipOffOutwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection) { - return new FailureMechanismWithDetailedAssessmentView( + return new StandAloneFailureMechanismView( failureMechanism, assessmentSection, sr => new DefaultFailureMechanismSectionAssemblyResult()); } } Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/MicrostabilityFailureMechanismViewInfoTest.cs =================================================================== diff -u -r432b46a640176168e7bbb391c08f25fc76b877b7 -r826ed5d86e04dbf6e830afa9bcf14b2b2619b10f --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/MicrostabilityFailureMechanismViewInfoTest.cs (.../MicrostabilityFailureMechanismViewInfoTest.cs) (revision 432b46a640176168e7bbb391c08f25fc76b877b7) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/MicrostabilityFailureMechanismViewInfoTest.cs (.../MicrostabilityFailureMechanismViewInfoTest.cs) (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -47,7 +47,7 @@ mocks = new MockRepository(); plugin = new RiskeerPlugin(); info = plugin.GetViewInfos().First( - tni => tni.ViewType == typeof(FailureMechanismWithDetailedAssessmentView tni.ViewType == typeof(StandAloneFailureMechanismView)); } @@ -92,7 +92,7 @@ var failureMechanism = new MicrostabilityFailureMechanism(); - using (FailureMechanismWithDetailedAssessmentView view = + using (StandAloneFailureMechanismView view = CreateView(failureMechanism, assessmentSection)) { // Call @@ -112,7 +112,7 @@ var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new MicrostabilityFailureMechanism(); - using (FailureMechanismWithDetailedAssessmentView view = + using (StandAloneFailureMechanismView view = CreateView(failureMechanism, assessmentSection)) { // Call @@ -160,20 +160,19 @@ IView view = info.CreateInstance(context); // Assert - Assert.IsInstanceOf>(view); - var failureMechanismView = (FailureMechanismWithDetailedAssessmentView) view; Assert.AreSame(failureMechanism, failureMechanismView.FailureMechanism); Assert.AreSame(assessmentSection, failureMechanismView.AssessmentSection); } - private static FailureMechanismWithDetailedAssessmentView CreateView( + private static StandAloneFailureMechanismView CreateView( MicrostabilityFailureMechanism failureMechanism, IAssessmentSection assessmentSection) { - return new FailureMechanismWithDetailedAssessmentView( + return new StandAloneFailureMechanismView( failureMechanism, assessmentSection, sr => new DefaultFailureMechanismSectionAssemblyResult()); } } Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/PipingStructureFailureMechanismViewInfoTest.cs =================================================================== diff -u -r432b46a640176168e7bbb391c08f25fc76b877b7 -r826ed5d86e04dbf6e830afa9bcf14b2b2619b10f --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/PipingStructureFailureMechanismViewInfoTest.cs (.../PipingStructureFailureMechanismViewInfoTest.cs) (revision 432b46a640176168e7bbb391c08f25fc76b877b7) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/PipingStructureFailureMechanismViewInfoTest.cs (.../PipingStructureFailureMechanismViewInfoTest.cs) (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -47,7 +47,7 @@ mocks = new MockRepository(); plugin = new RiskeerPlugin(); info = plugin.GetViewInfos().First( - tni => tni.ViewType == typeof(FailureMechanismWithDetailedAssessmentView tni.ViewType == typeof(StandAloneFailureMechanismView)); } @@ -92,7 +92,7 @@ var failureMechanism = new PipingStructureFailureMechanism(); - using (FailureMechanismWithDetailedAssessmentView view = + using (StandAloneFailureMechanismView view = CreateView(failureMechanism, assessmentSection)) { // Call @@ -112,7 +112,7 @@ var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new PipingStructureFailureMechanism(); - using (FailureMechanismWithDetailedAssessmentView view = + using (StandAloneFailureMechanismView view = CreateView(failureMechanism, assessmentSection)) { // Call @@ -160,20 +160,20 @@ IView view = info.CreateInstance(context); // Assert - Assert.IsInstanceOf>(view); - var failureMechanismView = (FailureMechanismWithDetailedAssessmentView) view; Assert.AreSame(failureMechanism, failureMechanismView.FailureMechanism); Assert.AreSame(assessmentSection, failureMechanismView.AssessmentSection); } - private static FailureMechanismWithDetailedAssessmentView CreateView( + private static StandAloneFailureMechanismView CreateView( PipingStructureFailureMechanism failureMechanism, IAssessmentSection assessmentSection) { - return new FailureMechanismWithDetailedAssessmentView(failureMechanism, assessmentSection, sr => new DefaultFailureMechanismSectionAssemblyResult()); + return new StandAloneFailureMechanismView( + failureMechanism, assessmentSection, sr => new DefaultFailureMechanismSectionAssemblyResult()); } } } \ No newline at end of file Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/WaterPressureAsphaltCoverFailureMechanismViewInfoTest.cs =================================================================== diff -u -r432b46a640176168e7bbb391c08f25fc76b877b7 -r826ed5d86e04dbf6e830afa9bcf14b2b2619b10f --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/WaterPressureAsphaltCoverFailureMechanismViewInfoTest.cs (.../WaterPressureAsphaltCoverFailureMechanismViewInfoTest.cs) (revision 432b46a640176168e7bbb391c08f25fc76b877b7) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/WaterPressureAsphaltCoverFailureMechanismViewInfoTest.cs (.../WaterPressureAsphaltCoverFailureMechanismViewInfoTest.cs) (revision 826ed5d86e04dbf6e830afa9bcf14b2b2619b10f) @@ -47,7 +47,7 @@ mocks = new MockRepository(); plugin = new RiskeerPlugin(); info = plugin.GetViewInfos().First( - tni => tni.ViewType == typeof(FailureMechanismWithDetailedAssessmentView tni.ViewType == typeof(StandAloneFailureMechanismView)); } @@ -92,7 +92,7 @@ var failureMechanism = new WaterPressureAsphaltCoverFailureMechanism(); - using (FailureMechanismWithDetailedAssessmentView view = + using (StandAloneFailureMechanismView view = CreateView(failureMechanism, assessmentSection)) { // Call @@ -112,7 +112,7 @@ var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new WaterPressureAsphaltCoverFailureMechanism(); - using (FailureMechanismWithDetailedAssessmentView view = + using (StandAloneFailureMechanismView view = CreateView(failureMechanism, assessmentSection)) { // Call @@ -160,20 +160,19 @@ IView view = info.CreateInstance(context); // Assert - Assert.IsInstanceOf>(view); - var failureMechanismView = (FailureMechanismWithDetailedAssessmentView) view; Assert.AreSame(failureMechanism, failureMechanismView.FailureMechanism); Assert.AreSame(assessmentSection, failureMechanismView.AssessmentSection); } - private static FailureMechanismWithDetailedAssessmentView CreateView( + private static StandAloneFailureMechanismView CreateView( WaterPressureAsphaltCoverFailureMechanism failureMechanism, IAssessmentSection assessmentSection) { - return new FailureMechanismWithDetailedAssessmentView( + return new StandAloneFailureMechanismView( failureMechanism, assessmentSection, sr => new DefaultFailureMechanismSectionAssemblyResult()); } }