Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs =================================================================== diff -u -rcda9bb0707f49cfb8e685d3ec04da01240c73f26 -r0faea705e7f83205f8420c52edda8a5473485bcd --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs (.../PipingInput.cs) (revision cda9bb0707f49cfb8e685d3ec04da01240c73f26) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs (.../PipingInput.cs) (revision 0faea705e7f83205f8420c52edda8a5473485bcd) @@ -173,10 +173,21 @@ private void UpdateStochasticSoilProfile() { - if (stochasticSoilModel == null || !stochasticSoilModel.StochasticSoilProfiles.Contains(StochasticSoilProfile)) + if (stochasticSoilModel == null) { StochasticSoilProfile = null; + return; } + if (stochasticSoilModel.StochasticSoilProfiles.Contains(StochasticSoilProfile)) + { + return; + } + if (stochasticSoilModel.StochasticSoilProfiles.Count == 1) + { + StochasticSoilProfile = stochasticSoilModel.StochasticSoilProfiles.First(); + return; + } + StochasticSoilProfile = null; } private void UpdateEntryAndExitPoint() Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingContext.cs =================================================================== diff -u -rcda9bb0707f49cfb8e685d3ec04da01240c73f26 -r0faea705e7f83205f8420c52edda8a5473485bcd --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingContext.cs (.../PipingContext.cs) (revision cda9bb0707f49cfb8e685d3ec04da01240c73f26) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingContext.cs (.../PipingContext.cs) (revision 0faea705e7f83205f8420c52edda8a5473485bcd) @@ -23,7 +23,6 @@ using System.Collections.Generic; using System.Linq; using Core.Common.Base; -using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.HydraRing.Data; using Ringtoets.Piping.Data; Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -rcda9bb0707f49cfb8e685d3ec04da01240c73f26 -r0faea705e7f83205f8420c52edda8a5473485bcd --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision cda9bb0707f49cfb8e685d3ec04da01240c73f26) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0faea705e7f83205f8420c52edda8a5473485bcd) @@ -1049,7 +1049,7 @@ } /// - /// Looks up a localized string similar to Het Stochastisch ondergrondmodel dat voor de piping berekening gebruikt wordt.. + /// Looks up a localized string similar to Het stochastisch ondergrondmodel dat voor de piping berekening gebruikt wordt.. /// public static string PipingInput_StochasticSoilModel_Description { get { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx =================================================================== diff -u -rcda9bb0707f49cfb8e685d3ec04da01240c73f26 -r0faea705e7f83205f8420c52edda8a5473485bcd --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision cda9bb0707f49cfb8e685d3ec04da01240c73f26) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision 0faea705e7f83205f8420c52edda8a5473485bcd) @@ -728,6 +728,6 @@ Stochastisch ondergrondmodel - Het Stochastisch ondergrondmodel dat voor de piping berekening gebruikt wordt. + Het stochastisch ondergrondmodel dat voor de piping berekening gebruikt wordt. \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs =================================================================== diff -u -rcda9bb0707f49cfb8e685d3ec04da01240c73f26 -r0faea705e7f83205f8420c52edda8a5473485bcd --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs (.../PipingInputContextProperties.cs) (revision cda9bb0707f49cfb8e685d3ec04da01240c73f26) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs (.../PipingInputContextProperties.cs) (revision 0faea705e7f83205f8420c52edda8a5473485bcd) @@ -171,6 +171,7 @@ if (!ReferenceEquals(value, data.WrappedData.SurfaceLine)) { data.WrappedData.SurfaceLine = value; + data.WrappedData.StochasticSoilModel = null; data.WrappedData.StochasticSoilProfile = null; data.WrappedData.NotifyObservers(); } Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs =================================================================== diff -u -r8832cfacbfb0a999d9dd5ddcb93fd81bdb2fb09f -r0faea705e7f83205f8420c52edda8a5473485bcd --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision 8832cfacbfb0a999d9dd5ddcb93fd81bdb2fb09f) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision 0faea705e7f83205f8420c52edda8a5473485bcd) @@ -84,6 +84,7 @@ Assert.AreEqual(3, inputParameters.DarcyPermeability.StandardDeviation.NumberOfDecimalPlaces); Assert.IsNull(inputParameters.SurfaceLine); + Assert.IsNull(inputParameters.StochasticSoilModel); Assert.IsNull(inputParameters.StochasticSoilProfile); Assert.IsNull(inputParameters.HydraulicBoundaryLocation); @@ -148,6 +149,48 @@ } [Test] + public void StochasticSoilModel_NewStochasticSoilModelWithOneStochasticSoilProfile_SetsStochasticSoilProfile() + { + // Setup + var pipingInput = new PipingInput(new GeneralPipingInput()); + StochasticSoilModel stochasticSoilModel = new StochasticSoilModel(0, "StochasticSoilModelName", "StochasticSoilModelSegmentName"); + StochasticSoilProfile stochasticSoilProfile = new StochasticSoilProfile(1.1, SoilProfileType.SoilProfile1D, 0); + stochasticSoilModel.StochasticSoilProfiles.Add(stochasticSoilProfile); + + // Call + pipingInput.StochasticSoilModel = stochasticSoilModel; + + // Assert + Assert.AreEqual(stochasticSoilProfile, pipingInput.StochasticSoilProfile); + Assert.AreEqual(stochasticSoilModel, pipingInput.StochasticSoilModel); + } + + [Test] + public void StochasticSoilModel_NewStochasticSoilModelWithMultipleStochasticSoilProfile_SetsStochasticSoilProfileToNull() + { + // Setup + var pipingInput = new PipingInput(new GeneralPipingInput()); + + StochasticSoilModel stochasticSoilModel = new StochasticSoilModel(0, "StochasticSoilModelName", "StochasticSoilModelSegmentName"); + StochasticSoilProfile stochasticSoilProfile = new StochasticSoilProfile(1.1, SoilProfileType.SoilProfile1D, 0); + stochasticSoilModel.StochasticSoilProfiles.Add(stochasticSoilProfile); + + StochasticSoilModel stochasticSoilModelWithMiltipleProfiles = new StochasticSoilModel(0, "StochasticSoilModelName", "StochasticSoilModelSegmentName"); + stochasticSoilModelWithMiltipleProfiles.StochasticSoilProfiles.Add(new StochasticSoilProfile(1.1, SoilProfileType.SoilProfile1D, 1)); + stochasticSoilModelWithMiltipleProfiles.StochasticSoilProfiles.Add(new StochasticSoilProfile(2.2, SoilProfileType.SoilProfile1D, 2)); + + // Precondition + pipingInput.StochasticSoilModel = stochasticSoilModel; + Assert.AreEqual(stochasticSoilProfile, pipingInput.StochasticSoilProfile); + + // Call + pipingInput.StochasticSoilModel = stochasticSoilModelWithMiltipleProfiles; + + // Assert + Assert.IsNull(pipingInput.StochasticSoilProfile); + } + + [Test] public void ExitPointL_SetToValueWithTooManyDecimalPlaces_ValueIsRounded() { // Setup Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingInputContextPropertiesTest.cs =================================================================== diff -u -rcda9bb0707f49cfb8e685d3ec04da01240c73f26 -r0faea705e7f83205f8420c52edda8a5473485bcd --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingInputContextPropertiesTest.cs (.../PipingInputContextPropertiesTest.cs) (revision cda9bb0707f49cfb8e685d3ec04da01240c73f26) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingInputContextPropertiesTest.cs (.../PipingInputContextPropertiesTest.cs) (revision 0faea705e7f83205f8420c52edda8a5473485bcd) @@ -28,7 +28,6 @@ using Core.Common.Gui.PropertyBag; using NUnit.Framework; using Rhino.Mocks; -using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.HydraRing.Data; using Ringtoets.Piping.Data; @@ -163,7 +162,7 @@ var mocks = new MockRepository(); var assessmentSectionMock = mocks.StrictMock(); var projectObserver = mocks.StrictMock(); - int numberProperties = 9; + int numberProperties = 8; projectObserver.Expect(o => o.UpdateObserver()).Repeat.Times(numberProperties); mocks.ReplayAll();