Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/Views/DuneErosionFailureMechanismView.cs =================================================================== diff -u -re57e79927485e44d681b0617f17bada42dbfb862 -r33ceb82130bf4a5204cf9f60abbebc16bb62f8e2 --- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/Views/DuneErosionFailureMechanismView.cs (.../DuneErosionFailureMechanismView.cs) (revision e57e79927485e44d681b0617f17bada42dbfb862) +++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/Views/DuneErosionFailureMechanismView.cs (.../DuneErosionFailureMechanismView.cs) (revision 33ceb82130bf4a5204cf9f60abbebc16bb62f8e2) @@ -152,14 +152,13 @@ private void SetMapDataFeatures() { ReferenceLine referenceLine = data.Parent.ReferenceLine; - DuneLocation[] duneLocations = data.WrappedData.DuneLocations.ToArray(); IEnumerable failureMechanismSections = data.WrappedData.Sections; referenceLineMapData.Features = RingtoetsMapDataFeaturesFactory.CreateReferenceLineFeatures(referenceLine, data.Parent.Id, data.Parent.Name); sectionsMapData.Features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionFeatures(failureMechanismSections); sectionsStartPointMapData.Features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionStartPointFeatures(failureMechanismSections); sectionsEndPointMapData.Features = RingtoetsMapDataFeaturesFactory.CreateFailureMechanismSectionEndPointFeatures(failureMechanismSections); - duneLocationsMapData.Features = DuneErosionMapDataFeaturesFactory.CreateDuneLocationFeatures(duneLocations); + duneLocationsMapData.Features = DuneErosionMapDataFeaturesFactory.CreateDuneLocationFeatures(data.WrappedData); } } } \ No newline at end of file Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Views/DuneErosionFailureMechanismViewTest.cs =================================================================== diff -u -r9e9789b7d71ba1bcf4f648f4131855e266756877 -r33ceb82130bf4a5204cf9f60abbebc16bb62f8e2 --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Views/DuneErosionFailureMechanismViewTest.cs (.../DuneErosionFailureMechanismViewTest.cs) (revision 9e9789b7d71ba1bcf4f648f4131855e266756877) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Views/DuneErosionFailureMechanismViewTest.cs (.../DuneErosionFailureMechanismViewTest.cs) (revision 33ceb82130bf4a5204cf9f60abbebc16bb62f8e2) @@ -35,6 +35,7 @@ using Ringtoets.DuneErosion.Data; using Ringtoets.DuneErosion.Data.TestUtil; using Ringtoets.DuneErosion.Forms.PresentationObjects; +using Ringtoets.DuneErosion.Forms.TestUtil; using Ringtoets.DuneErosion.Forms.Views; namespace Ringtoets.DuneErosion.Forms.Test.Views @@ -232,7 +233,7 @@ MapDataTestHelper.AssertFailureMechanismSectionsMapData(failureMechanism.Sections, mapDataList[sectionsIndex]); MapDataTestHelper.AssertFailureMechanismSectionsStartPointMapData(failureMechanism.Sections, mapDataList[sectionsStartPointIndex]); MapDataTestHelper.AssertFailureMechanismSectionsEndPointMapData(failureMechanism.Sections, mapDataList[sectionsEndPointIndex]); - AssertDuneLocationsMapData(failureMechanism.DuneLocations, mapDataList[duneLocationsIndex]); + AssertDuneLocationsMapData(failureMechanism, mapDataList[duneLocationsIndex]); } } @@ -275,7 +276,7 @@ } [Test] - public void UpdateObserver_SingleDuneLocationUpdated_MapDataUpdated() + public void UpdateObserver_SingleDuneLocationCalculationUpdated_MapDataUpdated() { // Setup using (var view = new DuneErosionFailureMechanismView()) @@ -297,25 +298,19 @@ var duneLocationsMapData = map.Data.Collection.ElementAt(duneLocationsIndex) as MapPointData; // Precondition - MapFeature duneLocationFeature = duneLocationsMapData.Features.First(); - Assert.IsNaN((double) duneLocationFeature.MetaData["Rekenwaarde Tp"]); - Assert.IsNaN((double) duneLocationFeature.MetaData["Rekenwaarde Hs"]); - Assert.IsNaN((double) duneLocationFeature.MetaData["Rekenwaarde waterstand"]); + AssertDuneLocationsMapData(failureMechanism, duneLocationsMapData); // Call duneLocation.Calculation.Output = new TestDuneLocationCalculationOutput(); duneLocation.NotifyObservers(); // Assert - MapFeature duneLocationFeatureUpdated = duneLocationsMapData.Features.First(); - Assert.AreEqual(duneLocation.Calculation.Output.WavePeriod, (double) duneLocationFeatureUpdated.MetaData["Rekenwaarde Tp"]); - Assert.AreEqual(duneLocation.Calculation.Output.WaveHeight, (double) duneLocationFeatureUpdated.MetaData["Rekenwaarde Hs"]); - Assert.AreEqual(duneLocation.Calculation.Output.WaterLevel, (double) duneLocationFeatureUpdated.MetaData["Rekenwaarde waterstand"]); + AssertDuneLocationsMapData(failureMechanism, duneLocationsMapData); } } [Test] - public void GivenAssessmentSectionWithDuneLocations_WhenNewDuneLocationsAreSetAndNotified_ThenMapDataUpdated() + public void GivenFailureMechanismWithoutDuneLocations_WhenNewDuneLocationsAreSetAndCollectionNotified_ThenMapDataUpdated() { // Given using (var view = new DuneErosionFailureMechanismView()) @@ -324,17 +319,13 @@ var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new DuneErosionFailureMechanism(); - failureMechanism.SetDuneLocations(new[] - { - new TestDuneLocation() - }); view.Data = new DuneErosionFailureMechanismContext(failureMechanism, assessmentSection); MapData duneLocationsMapData = map.Data.Collection.ElementAt(duneLocationsIndex); // Precondition - AssertDuneLocationsMapData(failureMechanism.DuneLocations, duneLocationsMapData); + AssertDuneLocationsMapData(failureMechanism, duneLocationsMapData); // When failureMechanism.SetDuneLocations(new[] @@ -344,7 +335,7 @@ failureMechanism.DuneLocations.NotifyObservers(); // Then - AssertDuneLocationsMapData(failureMechanism.DuneLocations, duneLocationsMapData); + AssertDuneLocationsMapData(failureMechanism, duneLocationsMapData); } } @@ -578,5 +569,15 @@ Assert.AreEqual("Hydraulische randvoorwaarden", mapData.Name); } + + private static void AssertDuneLocationsMapData(DuneErosionFailureMechanism failureMechanism, + MapData mapData) + { + Assert.IsInstanceOf(mapData); + Assert.AreEqual("Hydraulische randvoorwaarden", mapData.Name); + + var duneLocationsMapData = (MapPointData) mapData; + DuneErosionMapFeaturesTestHelper.AssertDuneLocationFeaturesData(failureMechanism, duneLocationsMapData.Features); + } } } \ No newline at end of file