Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismView.cs
===================================================================
diff -u -r959e36fe7429c4b54ccd4b197fce3fa2b89bda88 -r17c7880d8f0ea83da6061dad54977cb04ebf5eac
--- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismView.cs (.../PipingFailureMechanismView.cs) (revision 959e36fe7429c4b54ccd4b197fce3fa2b89bda88)
+++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismView.cs (.../PipingFailureMechanismView.cs) (revision 17c7880d8f0ea83da6061dad54977cb04ebf5eac)
@@ -188,10 +188,7 @@
MapDataCollection.Add(semiProbabilisticCalculationsMapData);
}
- ///
- /// Creates the observers.
- ///
- protected virtual void CreateObservers()
+ private void CreateObservers()
{
failureMechanismObserver = new Observer(UpdateFailureMechanismMapData)
{
@@ -246,10 +243,7 @@
};
}
- ///
- /// Sets all map data features.
- ///
- protected virtual void SetAllMapDataFeatures()
+ private void SetAllMapDataFeatures()
{
SetCalculationsMapData(semiProbabilisticCalculationsMapData);
SetCalculationsMapData(probabilisticCalculationsMapData);
@@ -262,10 +256,7 @@
#region Calculations MapData
- ///
- /// Updates the semi probabilistic calculations map data.
- ///
- protected virtual void UpdateSemiProbabilisticCalculationsMapData()
+ private void UpdateSemiProbabilisticCalculationsMapData()
{
SetCalculationsMapData(semiProbabilisticCalculationsMapData);
semiProbabilisticCalculationsMapData.NotifyObservers();
@@ -305,10 +296,7 @@
#region FailureMechanism MapData
- ///
- /// Updates the failure mechanism related map data.
- ///
- protected virtual void UpdateFailureMechanismMapData()
+ private void UpdateFailureMechanismMapData()
{
SetSectionsMapData();
sectionsMapData.NotifyObservers();
Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailurePathView.cs
===================================================================
diff -u -rdfd2e82406d3cafb83004a065b3ea1f943ced729 -r17c7880d8f0ea83da6061dad54977cb04ebf5eac
--- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailurePathView.cs (.../PipingFailurePathView.cs) (revision dfd2e82406d3cafb83004a065b3ea1f943ced729)
+++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailurePathView.cs (.../PipingFailurePathView.cs) (revision 17c7880d8f0ea83da6061dad54977cb04ebf5eac)
@@ -20,12 +20,10 @@
// All rights reserved.
using System;
-using Core.Common.Base;
-using Core.Components.Gis.Data;
using Riskeer.Common.Data.AssessmentSection;
-using Riskeer.Common.Forms.Factories;
+using Riskeer.Common.Data.FailureMechanism;
+using Riskeer.Common.Forms.MapLayers;
using Riskeer.Piping.Data;
-using Riskeer.Piping.Forms.Factories;
using PipingDataResources = Riskeer.Piping.Data.Properties.Resources;
namespace Riskeer.Piping.Forms.Views
@@ -35,24 +33,20 @@
///
public class PipingFailurePathView : PipingFailureMechanismView
{
- private MapLineData simpleAssemblyMapData;
- private MapLineData detailedAssemblyMapData;
- private MapLineData tailorMadeAssemblyMapData;
- private MapLineData combinedAssemblyMapData;
+ private CalculatableFailureMechanismSectionResultsMapLayer mapLayer;
- private RecursiveObserver, PipingFailureMechanismSectionResultOld> sectionResultObserver;
-
///
/// Creates a new instance of .
///
/// The failure mechanism to show the data for.
/// The assessment section to show the data for.
/// Thrown when any parameter is null.
- public PipingFailurePathView(PipingFailureMechanism failureMechanism, IAssessmentSection assessmentSection) : base(failureMechanism, assessmentSection) {}
+ public PipingFailurePathView(PipingFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
+ : base(failureMechanism, assessmentSection) {}
protected override void Dispose(bool disposing)
{
- sectionResultObserver.Dispose();
+ mapLayer.Dispose();
base.Dispose(disposing);
}
@@ -61,69 +55,9 @@
{
base.CreateMapData();
- MapDataCollection assemblyMapDataCollection = AssemblyMapDataFactory.CreateAssemblyMapDataCollection();
- tailorMadeAssemblyMapData = AssemblyMapDataFactory.CreateTailorMadeAssemblyMapData();
- detailedAssemblyMapData = AssemblyMapDataFactory.CreateDetailedAssemblyMapData();
- simpleAssemblyMapData = AssemblyMapDataFactory.CreateSimpleAssemblyMapData();
- combinedAssemblyMapData = AssemblyMapDataFactory.CreateCombinedAssemblyMapData();
-
- assemblyMapDataCollection.Add(tailorMadeAssemblyMapData);
- assemblyMapDataCollection.Add(detailedAssemblyMapData);
- assemblyMapDataCollection.Add(simpleAssemblyMapData);
- assemblyMapDataCollection.Add(combinedAssemblyMapData);
- MapDataCollection.Insert(4, assemblyMapDataCollection);
+ mapLayer = new CalculatableFailureMechanismSectionResultsMapLayer(
+ FailureMechanism, sr => PipingFailureMechanismAssemblyFactory.AssembleSection(sr, FailureMechanism, AssessmentSection));
+ MapDataCollection.Insert(4, mapLayer.MapData);
}
-
- protected override void CreateObservers()
- {
- base.CreateObservers();
-
- sectionResultObserver = new RecursiveObserver, PipingFailureMechanismSectionResultOld>(UpdateAssemblyMapData, sr => sr)
- {
- Observable = FailureMechanism.SectionResultsOld
- };
- }
-
- protected override void SetAllMapDataFeatures()
- {
- base.SetAllMapDataFeatures();
-
- SetAssemblyMapData();
- }
-
- protected override void UpdateSemiProbabilisticCalculationsMapData()
- {
- base.UpdateSemiProbabilisticCalculationsMapData();
-
- UpdateAssemblyMapData();
- }
-
- protected override void UpdateFailureMechanismMapData()
- {
- base.UpdateFailureMechanismMapData();
-
- UpdateAssemblyMapData();
- }
-
- #region Assembly MapData
-
- private void UpdateAssemblyMapData()
- {
- SetAssemblyMapData();
- simpleAssemblyMapData.NotifyObservers();
- detailedAssemblyMapData.NotifyObservers();
- tailorMadeAssemblyMapData.NotifyObservers();
- combinedAssemblyMapData.NotifyObservers();
- }
-
- private void SetAssemblyMapData()
- {
- simpleAssemblyMapData.Features = PipingAssemblyMapDataFeaturesFactory.CreateSimpleAssemblyFeatures(FailureMechanism);
- detailedAssemblyMapData.Features = PipingAssemblyMapDataFeaturesFactory.CreateDetailedAssemblyFeatures(FailureMechanism, AssessmentSection);
- tailorMadeAssemblyMapData.Features = PipingAssemblyMapDataFeaturesFactory.CreateTailorMadeAssemblyFeatures(FailureMechanism, AssessmentSection);
- combinedAssemblyMapData.Features = PipingAssemblyMapDataFeaturesFactory.CreateCombinedAssemblyFeatures(FailureMechanism, AssessmentSection);
- }
-
- #endregion
}
}
\ No newline at end of file
Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingFailurePathViewTest.cs
===================================================================
diff -u -r3a4cc52eb9f7524ca64d6c2ab3a90230db2149c7 -r17c7880d8f0ea83da6061dad54977cb04ebf5eac
--- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingFailurePathViewTest.cs (.../PipingFailurePathViewTest.cs) (revision 3a4cc52eb9f7524ca64d6c2ab3a90230db2149c7)
+++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingFailurePathViewTest.cs (.../PipingFailurePathViewTest.cs) (revision 17c7880d8f0ea83da6061dad54977cb04ebf5eac)
@@ -24,15 +24,13 @@
using System.Linq;
using System.Threading;
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.Features;
using Core.Components.Gis.Forms;
using Core.Components.Gis.Geometries;
using NUnit.Framework;
-using Rhino.Mocks;
using Riskeer.AssemblyTool.Data;
using Riskeer.AssemblyTool.KernelWrapper.Calculators;
using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators;
@@ -71,16 +69,6 @@
private const int sectionsStartPointIndex = 1;
private const int sectionsEndPointIndex = 2;
- private const int tailorMadeAssemblyIndex = 0;
- private const int detailedAssemblyIndex = 1;
- private const int simpleAssemblyIndex = 2;
- private const int combinedAssemblyIndex = 3;
-
- private const int simpleAssemblyObserverIndex = 0;
- private const int detailedAssemblyObserverIndex = 1;
- private const int tailorMadeAssemblyObserverIndex = 2;
- private const int combinedAssemblyObserverIndex = 3;
-
private Form testForm;
[SetUp]
@@ -209,21 +197,15 @@
hydraulicBoundaryLocation2
});
- var expectedSimpleAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var expectedDetailedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var expectedTailorMadeAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var expectedCombinedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
+ using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismSectionAssemblyCalculatorOldStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var failureMechanismSectionAssemblyResult = new FailureMechanismSectionAssemblyResult(
+ random.NextDouble(), random.NextDouble(), random.NextDouble(),
+ random.NextEnumValue());
+ calculator.FailureMechanismSectionAssemblyResultOutput = failureMechanismSectionAssemblyResult;
- calculator.SimpleAssessmentAssemblyOutput = expectedSimpleAssembly;
- calculator.DetailedAssessmentAssemblyOutput = expectedDetailedAssembly;
- calculator.TailorMadeAssessmentAssemblyOutput = expectedTailorMadeAssembly;
- calculator.CombinedAssemblyOutput = expectedCombinedAssembly;
-
// Call
PipingFailurePathView view = CreateView(failureMechanism, assessmentSection);
@@ -248,457 +230,19 @@
AssertProbabilisticCalculationsMapData(failureMechanism.Calculations.OfType(), mapDataList[probabilisticCalculationsIndex]);
AssertSemiProbabilisticCalculationsMapData(failureMechanism.Calculations.OfType(), mapDataList[semiProbabilisticCalculationsIndex]);
- MapDataTestHelper.AssertAssemblyMapDataCollection(expectedSimpleAssembly,
- expectedDetailedAssembly,
- expectedTailorMadeAssembly,
- expectedCombinedAssembly,
- (MapDataCollection) mapDataList[assemblyResultsIndex],
- failureMechanism);
+ MapDataTestHelper.AssertAssemblyMapData(failureMechanism, failureMechanismSectionAssemblyResult, mapDataList[assemblyResultsIndex]);
}
}
[Test]
[Apartment(ApartmentState.STA)]
- public void GivenViewWithFailureMechanismSectionsData_WhenFailureMechanismSectionsUpdatedAndNotified_ThenMapDataUpdated()
- {
- // Given
- var failureMechanism = new PipingFailureMechanism();
-
- PipingFailurePathView 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[simpleAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[detailedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[tailorMadeAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[combinedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- mocks.ReplayAll();
-
- // When
- FailureMechanismTestHelper.SetSections(failureMechanism, new[]
- {
- new FailureMechanismSection(string.Empty, new[]
- {
- new Point2D(1, 2),
- new Point2D(1, 2)
- })
- });
- failureMechanism.NotifyObservers();
-
- // Then
- MapDataTestHelper.AssertFailureMechanismSectionsMapData(failureMechanism.Sections, sectionMapData);
- MapDataTestHelper.AssertFailureMechanismSectionsStartPointMapData(failureMechanism.Sections, sectionStartsMapData);
- MapDataTestHelper.AssertFailureMechanismSectionsEndPointMapData(failureMechanism.Sections, sectionsEndsMapData);
- mocks.VerifyAll();
- }
-
- [Test]
- [Apartment(ApartmentState.STA)]
- public void GivenViewWithCalculationGroupData_WhenCalculationGroupUpdatedAndNotified_ThenMapDataUpdated()
- {
- // Given
- var failureMechanism = new PipingFailureMechanism();
-
- PipingFailurePathView view = CreateView(failureMechanism, new AssessmentSectionStub());
-
- IMapControl map = ((RiskeerMapControl) view.Controls[0]).MapControl;
-
- var surfaceLineA = new PipingSurfaceLine(string.Empty);
- surfaceLineA.SetGeometry(new[]
- {
- new Point3D(0.0, 0.0, 1.0),
- new Point3D(3.0, 0.0, 1.7)
- });
-
- var surfaceLineB = new PipingSurfaceLine(string.Empty);
- surfaceLineB.SetGeometry(new[]
- {
- new Point3D(0.0, 0.0, 1.5),
- new Point3D(3.0, 0.0, 1.8)
- });
- surfaceLineA.ReferenceLineIntersectionWorldPoint = new Point2D(1.3, 1.3);
- surfaceLineB.ReferenceLineIntersectionWorldPoint = new Point2D(1.5, 1.5);
-
- var calculationA =
- SemiProbabilisticPipingCalculationTestFactory.CreateCalculationWithValidInput(
- new TestHydraulicBoundaryLocation());
- var calculationB =
- ProbabilisticPipingCalculationTestFactory.CreateCalculationWithValidInput(
- new TestHydraulicBoundaryLocation());
-
- calculationA.InputParameters.SurfaceLine = surfaceLineA;
- calculationB.InputParameters.SurfaceLine = surfaceLineB;
-
- failureMechanism.CalculationsGroup.Children.Add(calculationA);
- failureMechanism.CalculationsGroup.Children.Add(calculationB);
-
- var probabilisticCalculationMapData = (MapLineData) map.Data.Collection.ElementAt(probabilisticCalculationsIndex);
- var semiProbabilisticCalculationMapData = (MapLineData) map.Data.Collection.ElementAt(semiProbabilisticCalculationsIndex);
-
- var mocks = new MockRepository();
- IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection);
- observers[simpleAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[detailedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[tailorMadeAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[combinedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- mocks.ReplayAll();
-
- // When
- failureMechanism.CalculationsGroup.Children.Add(calculationB);
- failureMechanism.CalculationsGroup.NotifyObservers();
-
- // Then
- AssertSemiProbabilisticCalculationsMapData(failureMechanism.Calculations.OfType(), semiProbabilisticCalculationMapData);
- AssertProbabilisticCalculationsMapData(failureMechanism.Calculations.OfType(), probabilisticCalculationMapData);
- mocks.VerifyAll();
- }
-
- [Test]
- [Apartment(ApartmentState.STA)]
- public void GivenViewWithSemiProbabilisticCalculationInputData_WhenCalculationInputUpdatedAndNotified_ThenMapDataUpdated()
- {
- // Given
- var surfaceLineA = new PipingSurfaceLine(string.Empty);
- surfaceLineA.SetGeometry(new[]
- {
- new Point3D(0.0, 0.0, 1.0),
- new Point3D(3.0, 0.0, 1.7)
- });
-
- var surfaceLineB = new PipingSurfaceLine(string.Empty);
- surfaceLineB.SetGeometry(new[]
- {
- new Point3D(0.0, 0.0, 1.5),
- new Point3D(3.0, 0.0, 1.8)
- });
- surfaceLineA.ReferenceLineIntersectionWorldPoint = new Point2D(1.3, 1.3);
- surfaceLineB.ReferenceLineIntersectionWorldPoint = new Point2D(1.5, 1.5);
-
- var calculationScenario =
- SemiProbabilisticPipingCalculationTestFactory.CreateCalculationWithValidInput(
- new TestHydraulicBoundaryLocation());
-
- calculationScenario.InputParameters.SurfaceLine = surfaceLineA;
-
- var failureMechanism = new PipingFailureMechanism();
- failureMechanism.CalculationsGroup.Children.Add(calculationScenario);
-
- PipingFailurePathView view = CreateView(failureMechanism, new AssessmentSectionStub());
-
- IMapControl map = ((RiskeerMapControl) view.Controls[0]).MapControl;
-
- var calculationMapData = (MapLineData) map.Data.Collection.ElementAt(semiProbabilisticCalculationsIndex);
-
- var mocks = new MockRepository();
- IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection);
- observers[simpleAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[detailedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[tailorMadeAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[combinedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- mocks.ReplayAll();
-
- // When
- calculationScenario.InputParameters.SurfaceLine = surfaceLineB;
- calculationScenario.InputParameters.NotifyObservers();
-
- // Then
- AssertSemiProbabilisticCalculationsMapData(failureMechanism.Calculations.Cast(), calculationMapData);
- mocks.VerifyAll();
- }
-
- [Test]
- [Apartment(ApartmentState.STA)]
- public void GivenViewWithSemiProbabilisticCalculationData_WhenCalculationUpdatedAndNotified_ThenMapDataUpdated()
- {
- // Given
- var surfaceLineA = new PipingSurfaceLine(string.Empty);
- surfaceLineA.SetGeometry(new[]
- {
- new Point3D(0.0, 0.0, 1.0),
- new Point3D(3.0, 0.0, 1.7)
- });
-
- var surfaceLineB = new PipingSurfaceLine(string.Empty);
- surfaceLineB.SetGeometry(new[]
- {
- new Point3D(0.0, 0.0, 1.5),
- new Point3D(3.0, 0.0, 1.8)
- });
- surfaceLineA.ReferenceLineIntersectionWorldPoint = new Point2D(1.3, 1.3);
- surfaceLineB.ReferenceLineIntersectionWorldPoint = new Point2D(1.5, 1.5);
-
- var calculationScenario =
- SemiProbabilisticPipingCalculationTestFactory.CreateCalculationWithValidInput(
- new TestHydraulicBoundaryLocation());
-
- calculationScenario.InputParameters.SurfaceLine = surfaceLineA;
-
- var failureMechanism = new PipingFailureMechanism();
- failureMechanism.CalculationsGroup.Children.Add(calculationScenario);
-
- PipingFailurePathView view = CreateView(failureMechanism, new AssessmentSectionStub());
-
- IMapControl map = ((RiskeerMapControl) view.Controls[0]).MapControl;
-
- var calculationMapData = (MapLineData) map.Data.Collection.ElementAt(semiProbabilisticCalculationsIndex);
-
- var mocks = new MockRepository();
- IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection);
- observers[simpleAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[detailedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[tailorMadeAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[combinedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- mocks.ReplayAll();
-
- // When
- calculationScenario.Name = "new name";
- calculationScenario.NotifyObservers();
-
- // Then
- AssertSemiProbabilisticCalculationsMapData(failureMechanism.Calculations.Cast(), calculationMapData);
- mocks.VerifyAll();
- }
-
- [Test]
- [Apartment(ApartmentState.STA)]
- public void GivenViewWithAssemblyData_WhenFailureMechanismNotified_ThenMapDataUpdated()
- {
- // Given
- var random = new Random(39);
- var failureMechanism = new PipingFailureMechanism();
- FailureMechanismTestHelper.AddSections(failureMechanism, random.Next(1, 10));
-
- var originalSimpleAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var originalDetailedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var originalTailorMadeAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var originalCombinedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismSectionAssemblyCalculatorOldStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
-
- calculator.SimpleAssessmentAssemblyOutput = originalSimpleAssembly;
- calculator.DetailedAssessmentAssemblyOutput = originalDetailedAssembly;
- calculator.TailorMadeAssessmentAssemblyOutput = originalTailorMadeAssembly;
- calculator.CombinedAssemblyOutput = originalCombinedAssembly;
-
- PipingFailurePathView view = CreateView(failureMechanism, new AssessmentSectionStub());
-
- IMapControl map = ((RiskeerMapControl) view.Controls[0]).MapControl;
-
- var mocks = new MockRepository();
- IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection);
- observers[simpleAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[detailedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[tailorMadeAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[combinedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- mocks.ReplayAll();
-
- // Precondition
- var assemblyMapData = (MapDataCollection) map.Data.Collection.ElementAt(assemblyResultsIndex);
- MapDataTestHelper.AssertAssemblyMapDataCollection(originalSimpleAssembly,
- originalDetailedAssembly,
- originalTailorMadeAssembly,
- originalCombinedAssembly,
- assemblyMapData,
- failureMechanism);
-
- // When
- var updatedSimpleAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var updatedDetailedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var updatedTailorMadeAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var updatedCombinedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- calculator.SimpleAssessmentAssemblyOutput = updatedSimpleAssembly;
- calculator.DetailedAssessmentAssemblyOutput = updatedDetailedAssembly;
- calculator.TailorMadeAssessmentAssemblyOutput = updatedTailorMadeAssembly;
- calculator.CombinedAssemblyOutput = updatedCombinedAssembly;
- failureMechanism.NotifyObservers();
-
- // Then
- MapDataTestHelper.AssertAssemblyMapDataCollection(updatedSimpleAssembly,
- updatedDetailedAssembly,
- updatedTailorMadeAssembly,
- updatedCombinedAssembly,
- assemblyMapData,
- failureMechanism);
- mocks.VerifyAll();
- }
- }
-
- [Test]
- [Apartment(ApartmentState.STA)]
- public void GivenViewWithAssemblyData_WhenSemiProbabilisticCalculationNotified_ThenMapDataUpdated()
- {
- // Given
- var random = new Random(39);
- var surfaceLineA = new PipingSurfaceLine(string.Empty);
- surfaceLineA.SetGeometry(new[]
- {
- new Point3D(0.0, 0.0, 1.0),
- new Point3D(3.0, 0.0, 1.7)
- });
-
- var surfaceLineB = new PipingSurfaceLine(string.Empty);
- surfaceLineB.SetGeometry(new[]
- {
- new Point3D(0.0, 0.0, 1.5),
- new Point3D(3.0, 0.0, 1.8)
- });
- surfaceLineA.ReferenceLineIntersectionWorldPoint = new Point2D(1.3, 1.3);
- surfaceLineB.ReferenceLineIntersectionWorldPoint = new Point2D(1.5, 1.5);
-
- var calculation =
- SemiProbabilisticPipingCalculationTestFactory.CreateCalculationWithValidInput(
- new TestHydraulicBoundaryLocation());
-
- calculation.InputParameters.SurfaceLine = surfaceLineA;
-
- var failureMechanism = new PipingFailureMechanism();
- failureMechanism.CalculationsGroup.Children.Add(calculation);
- FailureMechanismTestHelper.AddSections(failureMechanism, random.Next(1, 10));
-
- var originalSimpleAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var originalDetailedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var originalTailorMadeAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var originalCombinedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismSectionAssemblyCalculatorOldStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
-
- calculator.SimpleAssessmentAssemblyOutput = originalSimpleAssembly;
- calculator.DetailedAssessmentAssemblyOutput = originalDetailedAssembly;
- calculator.TailorMadeAssessmentAssemblyOutput = originalTailorMadeAssembly;
- calculator.CombinedAssemblyOutput = originalCombinedAssembly;
-
- PipingFailurePathView view = CreateView(failureMechanism, new AssessmentSectionStub());
-
- IMapControl map = ((RiskeerMapControl) view.Controls[0]).MapControl;
-
- var mocks = new MockRepository();
- IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection);
- observers[simpleAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[detailedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[tailorMadeAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[combinedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- mocks.ReplayAll();
-
- // Precondition
- var assemblyMapData = (MapDataCollection) map.Data.Collection.ElementAt(assemblyResultsIndex);
- MapDataTestHelper.AssertAssemblyMapDataCollection(originalSimpleAssembly,
- originalDetailedAssembly,
- originalTailorMadeAssembly,
- originalCombinedAssembly,
- assemblyMapData,
- failureMechanism);
-
- // When
- var updatedSimpleAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var updatedDetailedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var updatedTailorMadeAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var updatedCombinedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- calculator.SimpleAssessmentAssemblyOutput = updatedSimpleAssembly;
- calculator.DetailedAssessmentAssemblyOutput = updatedDetailedAssembly;
- calculator.TailorMadeAssessmentAssemblyOutput = updatedTailorMadeAssembly;
- calculator.CombinedAssemblyOutput = updatedCombinedAssembly;
- calculation.NotifyObservers();
-
- // Then
- MapDataTestHelper.AssertAssemblyMapDataCollection(updatedSimpleAssembly,
- updatedDetailedAssembly,
- updatedTailorMadeAssembly,
- updatedCombinedAssembly,
- assemblyMapData,
- failureMechanism);
- mocks.VerifyAll();
- }
- }
-
- [Test]
- [Apartment(ApartmentState.STA)]
- public void GivenViewWithAssemblyData_WhenFailureMechanismSectionResultNotified_ThenMapDataUpdated()
- {
- // Given
- var random = new Random(39);
- var failureMechanism = new PipingFailureMechanism();
- FailureMechanismTestHelper.AddSections(failureMechanism, random.Next(1, 10));
-
- var originalSimpleAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var originalDetailedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var originalTailorMadeAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var originalCombinedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismSectionAssemblyCalculatorOldStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
-
- calculator.SimpleAssessmentAssemblyOutput = originalSimpleAssembly;
- calculator.DetailedAssessmentAssemblyOutput = originalDetailedAssembly;
- calculator.TailorMadeAssessmentAssemblyOutput = originalTailorMadeAssembly;
- calculator.CombinedAssemblyOutput = originalCombinedAssembly;
-
- PipingFailurePathView view = CreateView(failureMechanism, new AssessmentSectionStub());
-
- IMapControl map = ((RiskeerMapControl) view.Controls[0]).MapControl;
-
- var mocks = new MockRepository();
- IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection);
- observers[simpleAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[detailedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[tailorMadeAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- observers[combinedAssemblyObserverIndex].Expect(obs => obs.UpdateObserver());
- mocks.ReplayAll();
-
- // Precondition
- var assemblyMapData = (MapDataCollection) map.Data.Collection.ElementAt(assemblyResultsIndex);
- MapDataTestHelper.AssertAssemblyMapDataCollection(originalSimpleAssembly,
- originalDetailedAssembly,
- originalTailorMadeAssembly,
- originalCombinedAssembly,
- assemblyMapData,
- failureMechanism);
-
- // When
- var updatedSimpleAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var updatedDetailedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var updatedTailorMadeAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- var updatedCombinedAssembly = new FailureMechanismSectionAssemblyOld(random.NextDouble(), random.NextEnumValue());
- calculator.SimpleAssessmentAssemblyOutput = updatedSimpleAssembly;
- calculator.DetailedAssessmentAssemblyOutput = updatedDetailedAssembly;
- calculator.TailorMadeAssessmentAssemblyOutput = updatedTailorMadeAssembly;
- calculator.CombinedAssemblyOutput = updatedCombinedAssembly;
- failureMechanism.SectionResultsOld.First().NotifyObservers();
-
- // Then
- MapDataTestHelper.AssertAssemblyMapDataCollection(updatedSimpleAssembly,
- updatedDetailedAssembly,
- updatedTailorMadeAssembly,
- updatedCombinedAssembly,
- assemblyMapData,
- failureMechanism);
- mocks.VerifyAll();
- }
- }
-
- [Test]
- [Apartment(ApartmentState.STA)]
public void UpdateObserver_DataUpdated_MapLayersSameOrder()
{
// Setup
const int updatedReferenceLineLayerIndex = referenceLineIndex + 7;
const int updatedSurfaceLineLayerIndex = surfaceLinesIndex - 1;
const int updatedSectionCollectionIndex = sectionsCollectionIndex - 1;
- const int updatedAssemblyResultsCollectionIndex = assemblyResultsIndex - 1;
+ const int updatedAssemblyResultsIndex = assemblyResultsIndex - 1;
const int updatedHydraulicLocationsLayerIndex = hydraulicBoundaryLocationsIndex - 1;
const int updatedStochasticSoilModelsLayerIndex = stochasticSoilModelsIndex - 1;
const int updatedProbabilisticCalculationsIndex = probabilisticCalculationsIndex - 1;
@@ -728,8 +272,8 @@
var sectionsData = (MapDataCollection) mapDataCollection.ElementAt(updatedSectionCollectionIndex);
Assert.AreEqual("Vakindeling", sectionsData.Name);
- var assemblyResultsData = (MapDataCollection) mapDataCollection.ElementAt(updatedAssemblyResultsCollectionIndex);
- Assert.AreEqual("Toetsoordeel", assemblyResultsData.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);
@@ -765,8 +309,8 @@
var actualSectionsData = (MapDataCollection) mapDataCollection.ElementAt(updatedSectionCollectionIndex);
Assert.AreEqual("Vakindeling", actualSectionsData.Name);
- var actualAssemblyResultsData = (MapDataCollection) mapDataCollection.ElementAt(updatedAssemblyResultsCollectionIndex);
- Assert.AreEqual("Toetsoordeel", actualAssemblyResultsData.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);
@@ -874,20 +418,23 @@
var referenceLineMapData = (MapLineData) mapDataList[referenceLineIndex];
var stochasticSoilModelsMapData = (MapLineData) mapDataList[stochasticSoilModelsIndex];
var surfaceLinesMapData = (MapLineData) mapDataList[surfaceLinesIndex];
+ var assemblyGroupsMapData = (MapLineData) mapDataList[assemblyResultsIndex];
var hydraulicBoundaryLocationsMapData = (MapPointData) mapDataList[hydraulicBoundaryLocationsIndex];
var probabilisticCalculationsMapData = (MapLineData) mapDataList[probabilisticCalculationsIndex];
var semiProbabilisticCalculationsMapData = (MapLineData) mapDataList[semiProbabilisticCalculationsIndex];
CollectionAssert.IsEmpty(referenceLineMapData.Features);
CollectionAssert.IsEmpty(stochasticSoilModelsMapData.Features);
CollectionAssert.IsEmpty(surfaceLinesMapData.Features);
+ CollectionAssert.IsEmpty(assemblyGroupsMapData.Features);
CollectionAssert.IsEmpty(hydraulicBoundaryLocationsMapData.Features);
CollectionAssert.IsEmpty(probabilisticCalculationsMapData.Features);
CollectionAssert.IsEmpty(semiProbabilisticCalculationsMapData.Features);
Assert.AreEqual("Referentielijn", referenceLineMapData.Name);
Assert.AreEqual("Stochastische ondergrondmodellen", stochasticSoilModelsMapData.Name);
Assert.AreEqual("Profielschematisaties", surfaceLinesMapData.Name);
+ Assert.AreEqual("Duidingsklasse per vak", assemblyGroupsMapData.Name);
Assert.AreEqual("Hydraulische belastingen", hydraulicBoundaryLocationsMapData.Name);
Assert.AreEqual("Probabilistische berekeningen", probabilisticCalculationsMapData.Name);
Assert.AreEqual("Semi-probabilistische berekeningen", semiProbabilisticCalculationsMapData.Name);
@@ -908,59 +455,6 @@
Assert.AreEqual("Vakindeling (eindpunten)", sectionsEndPointMapData.Name);
Assert.AreEqual("Vakindeling (startpunten)", sectionsStartPointMapData.Name);
Assert.AreEqual("Vakindeling", sectionsMapData.Name);
-
- var assemblyResultsMapDataCollection = (MapDataCollection) mapDataList[assemblyResultsIndex];
- Assert.AreEqual("Toetsoordeel", assemblyResultsMapDataCollection.Name);
- List assemblyMapDataList = assemblyResultsMapDataCollection.Collection.ToList();
- Assert.AreEqual(4, assemblyMapDataList.Count);
-
- var combinedAssemblyMapData = (MapLineData) assemblyMapDataList[combinedAssemblyIndex];
- var simpleAssemblyMapData = (MapLineData) assemblyMapDataList[simpleAssemblyIndex];
- var detailedAssemblyMapData = (MapLineData) assemblyMapDataList[detailedAssemblyIndex];
- var tailorMadeAssemblyMapData = (MapLineData) assemblyMapDataList[tailorMadeAssemblyIndex];
-
- CollectionAssert.IsEmpty(combinedAssemblyMapData.Features);
- CollectionAssert.IsEmpty(simpleAssemblyMapData.Features);
- CollectionAssert.IsEmpty(detailedAssemblyMapData.Features);
- CollectionAssert.IsEmpty(tailorMadeAssemblyMapData.Features);
-
- Assert.AreEqual("Gecombineerd toetsoordeel", combinedAssemblyMapData.Name);
- Assert.AreEqual("Toetsoordeel eenvoudige toets", simpleAssemblyMapData.Name);
- Assert.AreEqual("Toetsoordeel gedetailleerde toets", detailedAssemblyMapData.Name);
- Assert.AreEqual("Toetsoordeel toets op maat", tailorMadeAssemblyMapData.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();
-
- MapData[] assemblyResultsCollection = ((MapDataCollection) mapDataArray[assemblyResultsIndex]).Collection.ToArray();
- var simpleAssemblyMapDataObserver = mocks.StrictMock();
- assemblyResultsCollection[simpleAssemblyIndex].Attach(simpleAssemblyMapDataObserver);
-
- var detailedAssemblyMapDataObserver = mocks.StrictMock();
- assemblyResultsCollection[detailedAssemblyIndex].Attach(detailedAssemblyMapDataObserver);
-
- var tailorMadeAssemblyMapDataObserver = mocks.StrictMock();
- assemblyResultsCollection[tailorMadeAssemblyIndex].Attach(tailorMadeAssemblyMapDataObserver);
-
- var combinedAssemblyMapDataObserver = mocks.StrictMock();
- assemblyResultsCollection[combinedAssemblyIndex].Attach(combinedAssemblyMapDataObserver);
-
- return new[]
- {
- simpleAssemblyMapDataObserver,
- detailedAssemblyMapDataObserver,
- tailorMadeAssemblyMapDataObserver,
- combinedAssemblyMapDataObserver
- };
- }
}
}
\ No newline at end of file