Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationProperties.cs =================================================================== diff -u -r9d8a58b3c03aaa71c5a3e69cfedd69fc7bf7eb70 -r9b83f33bbdd0e5bcd78e60342e5c780599c12c93 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationProperties.cs (.../GrassCoverErosionOutwardsDesignWaterLevelLocationProperties.cs) (revision 9d8a58b3c03aaa71c5a3e69cfedd69fc7bf7eb70) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationProperties.cs (.../GrassCoverErosionOutwardsDesignWaterLevelLocationProperties.cs) (revision 9b83f33bbdd0e5bcd78e60342e5c780599c12c93) @@ -40,13 +40,16 @@ /// public class GrassCoverErosionOutwardsDesignWaterLevelLocationProperties : GrassCoverErosionOutwardsHydraulicBoundaryLocationProperties { + private readonly HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation; + /// /// Creates a new instance of . /// /// The hydraulic boundary location. - /// Thrown when - /// is null. - public GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(HydraulicBoundaryLocation hydraulicBoundaryLocation) + /// The hydraulic boundary location calculation at stake. + /// Thrown when any input parameter is null. + public GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(HydraulicBoundaryLocation hydraulicBoundaryLocation, + HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation) : base(hydraulicBoundaryLocation, new ConstructionProperties { IdIndex = 1, @@ -56,8 +59,16 @@ StochastsIndex = 12, DurationsIndex = 13, IllustrationPointsIndex = 14 - }) {} + }) + { + if (hydraulicBoundaryLocationCalculation == null) + { + throw new ArgumentNullException(nameof(hydraulicBoundaryLocationCalculation)); + } + this.hydraulicBoundaryLocationCalculation = hydraulicBoundaryLocationCalculation; + } + [PropertyOrder(4)] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_Result))] @@ -67,7 +78,7 @@ { get { - return data.DesignWaterLevel; + return hydraulicBoundaryLocationCalculation.Output?.Result ?? RoundedDouble.NaN; } } @@ -80,8 +91,7 @@ { get { - HydraulicBoundaryLocationOutput output = data.DesignWaterLevelCalculation.Output; - return output?.TargetProbability ?? double.NaN; + return hydraulicBoundaryLocationCalculation.Output?.TargetProbability ?? double.NaN; } } @@ -94,8 +104,7 @@ { get { - HydraulicBoundaryLocationOutput output = data.DesignWaterLevelCalculation.Output; - return output?.TargetReliability ?? RoundedDouble.NaN; + return hydraulicBoundaryLocationCalculation.Output?.TargetReliability ?? RoundedDouble.NaN; } } @@ -108,8 +117,7 @@ { get { - HydraulicBoundaryLocationOutput output = data.DesignWaterLevelCalculation.Output; - return output?.CalculatedProbability ?? double.NaN; + return hydraulicBoundaryLocationCalculation.Output?.CalculatedProbability ?? double.NaN; } } @@ -122,8 +130,7 @@ { get { - HydraulicBoundaryLocationOutput output = data.DesignWaterLevelCalculation.Output; - return output?.CalculatedReliability ?? RoundedDouble.NaN; + return hydraulicBoundaryLocationCalculation.Output?.CalculatedReliability ?? RoundedDouble.NaN; } } @@ -135,7 +142,7 @@ { get { - CalculationConvergence convergence = data.DesignWaterLevelCalculation.Output?.CalculationConvergence ?? CalculationConvergence.NotCalculated; + CalculationConvergence convergence = hydraulicBoundaryLocationCalculation.Output?.CalculationConvergence ?? CalculationConvergence.NotCalculated; return new EnumDisplayWrapper(convergence).DisplayName; } } @@ -148,21 +155,21 @@ { get { - return data.DesignWaterLevelCalculation.InputParameters.ShouldIllustrationPointsBeCalculated; + return hydraulicBoundaryLocationCalculation.InputParameters.ShouldIllustrationPointsBeCalculated; } set { - data.DesignWaterLevelCalculation.InputParameters.ShouldIllustrationPointsBeCalculated = value; + hydraulicBoundaryLocationCalculation.InputParameters.ShouldIllustrationPointsBeCalculated = value; data.NotifyObservers(); } } protected override GeneralResult GetGeneralResult() { - if (data.DesignWaterLevelCalculation.HasOutput - && data.DesignWaterLevelCalculation.Output.HasGeneralResult) + if (hydraulicBoundaryLocationCalculation.HasOutput + && hydraulicBoundaryLocationCalculation.Output.HasGeneralResult) { - return data.DesignWaterLevelCalculation.Output.GeneralResult; + return hydraulicBoundaryLocationCalculation.Output.GeneralResult; } return null; Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationsProperties.cs =================================================================== diff -u -rcedf973769c057c935ffce89259027f2ea13c4df -r9b83f33bbdd0e5bcd78e60342e5c780599c12c93 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationsProperties.cs (.../GrassCoverErosionOutwardsDesignWaterLevelLocationsProperties.cs) (revision cedf973769c057c935ffce89259027f2ea13c4df) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationsProperties.cs (.../GrassCoverErosionOutwardsDesignWaterLevelLocationsProperties.cs) (revision 9b83f33bbdd0e5bcd78e60342e5c780599c12c93) @@ -53,7 +53,7 @@ { get { - return data.Select(loc => new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(loc)).ToArray(); + return data.Select(loc => new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(loc, loc.DesignWaterLevelCalculation)).ToArray(); } } } Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationProperties.cs =================================================================== diff -u -r61ab2a112211952c337eea98bae62a4c93335229 -r9b83f33bbdd0e5bcd78e60342e5c780599c12c93 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationProperties.cs (.../GrassCoverErosionOutwardsWaveHeightLocationProperties.cs) (revision 61ab2a112211952c337eea98bae62a4c93335229) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationProperties.cs (.../GrassCoverErosionOutwardsWaveHeightLocationProperties.cs) (revision 9b83f33bbdd0e5bcd78e60342e5c780599c12c93) @@ -40,13 +40,16 @@ /// public class GrassCoverErosionOutwardsWaveHeightLocationProperties : GrassCoverErosionOutwardsHydraulicBoundaryLocationProperties { + private readonly HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation; + /// /// Creates a new instance of . /// /// The hydraulic boundary location. - /// Thrown when - /// is null. - public GrassCoverErosionOutwardsWaveHeightLocationProperties(HydraulicBoundaryLocation hydraulicBoundaryLocation) + /// The hydraulic boundary location calculation at stake. + /// Thrown when any input parameter is null. + public GrassCoverErosionOutwardsWaveHeightLocationProperties(HydraulicBoundaryLocation hydraulicBoundaryLocation, + HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation) : base(hydraulicBoundaryLocation, new ConstructionProperties { IdIndex = 1, @@ -56,8 +59,16 @@ StochastsIndex = 12, DurationsIndex = 13, IllustrationPointsIndex = 14 - }) {} + }) + { + if (hydraulicBoundaryLocationCalculation == null) + { + throw new ArgumentNullException(nameof(hydraulicBoundaryLocationCalculation)); + } + this.hydraulicBoundaryLocationCalculation = hydraulicBoundaryLocationCalculation; + } + [PropertyOrder(4)] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), nameof(RingtoetsCommonFormsResources.Categories_Result))] @@ -67,7 +78,7 @@ { get { - return data.WaveHeight; + return hydraulicBoundaryLocationCalculation.Output?.Result ?? RoundedDouble.NaN; } } @@ -80,8 +91,7 @@ { get { - HydraulicBoundaryLocationOutput output = data.WaveHeightCalculation.Output; - return output?.TargetProbability ?? double.NaN; + return hydraulicBoundaryLocationCalculation.Output?.TargetProbability ?? double.NaN; } } @@ -94,8 +104,7 @@ { get { - HydraulicBoundaryLocationOutput output = data.WaveHeightCalculation.Output; - return output?.TargetReliability ?? RoundedDouble.NaN; + return hydraulicBoundaryLocationCalculation.Output?.TargetReliability ?? RoundedDouble.NaN; } } @@ -108,8 +117,7 @@ { get { - HydraulicBoundaryLocationOutput output = data.WaveHeightCalculation.Output; - return output?.CalculatedProbability ?? double.NaN; + return hydraulicBoundaryLocationCalculation.Output?.CalculatedProbability ?? double.NaN; } } @@ -122,8 +130,7 @@ { get { - HydraulicBoundaryLocationOutput output = data.WaveHeightCalculation.Output; - return output?.CalculatedReliability ?? RoundedDouble.NaN; + return hydraulicBoundaryLocationCalculation.Output?.CalculatedReliability ?? RoundedDouble.NaN; } } @@ -135,7 +142,7 @@ { get { - CalculationConvergence convergence = data.WaveHeightCalculation.Output?.CalculationConvergence ?? CalculationConvergence.NotCalculated; + CalculationConvergence convergence = hydraulicBoundaryLocationCalculation.Output?.CalculationConvergence ?? CalculationConvergence.NotCalculated; return new EnumDisplayWrapper(convergence).DisplayName; } } @@ -148,21 +155,21 @@ { get { - return data.WaveHeightCalculation.InputParameters.ShouldIllustrationPointsBeCalculated; + return hydraulicBoundaryLocationCalculation.InputParameters.ShouldIllustrationPointsBeCalculated; } set { - data.WaveHeightCalculation.InputParameters.ShouldIllustrationPointsBeCalculated = value; + hydraulicBoundaryLocationCalculation.InputParameters.ShouldIllustrationPointsBeCalculated = value; data.NotifyObservers(); } } protected override GeneralResult GetGeneralResult() { - if (data.WaveHeightCalculation.HasOutput - && data.WaveHeightCalculation.Output.HasGeneralResult) + if (hydraulicBoundaryLocationCalculation.HasOutput + && hydraulicBoundaryLocationCalculation.Output.HasGeneralResult) { - return data.WaveHeightCalculation.Output.GeneralResult; + return hydraulicBoundaryLocationCalculation.Output.GeneralResult; } return null; Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationsProperties.cs =================================================================== diff -u -rcedf973769c057c935ffce89259027f2ea13c4df -r9b83f33bbdd0e5bcd78e60342e5c780599c12c93 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationsProperties.cs (.../GrassCoverErosionOutwardsWaveHeightLocationsProperties.cs) (revision cedf973769c057c935ffce89259027f2ea13c4df) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationsProperties.cs (.../GrassCoverErosionOutwardsWaveHeightLocationsProperties.cs) (revision 9b83f33bbdd0e5bcd78e60342e5c780599c12c93) @@ -53,7 +53,7 @@ { get { - return data.Select(loc => new GrassCoverErosionOutwardsWaveHeightLocationProperties(loc)).ToArray(); + return data.Select(loc => new GrassCoverErosionOutwardsWaveHeightLocationProperties(loc, loc.WaveHeightCalculation)).ToArray(); } } } Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs =================================================================== diff -u -ree1f859cae82b4321da205d5e1fd339b021f2d7d -r9b83f33bbdd0e5bcd78e60342e5c780599c12c93 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision ee1f859cae82b4321da205d5e1fd339b021f2d7d) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision 9b83f33bbdd0e5bcd78e60342e5c780599c12c93) @@ -97,12 +97,12 @@ yield return new PropertyInfo { - CreateInstance = context => new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(context.WrappedData) + CreateInstance = context => new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(context.WrappedData, context.WrappedData.DesignWaterLevelCalculation) }; yield return new PropertyInfo { - CreateInstance = context => new GrassCoverErosionOutwardsWaveHeightLocationProperties(context.WrappedData) + CreateInstance = context => new GrassCoverErosionOutwardsWaveHeightLocationProperties(context.WrappedData, context.WrappedData.WaveHeightCalculation) }; } @@ -150,10 +150,7 @@ CreateInstance = context => new GrassCoverErosionOutwardsDesignWaterLevelLocationsView(context.FailureMechanism, context.AssessmentSection, () => context.AssessmentSection.FailureMechanismContribution.Norm), - AfterCreate = (view, context) => - { - view.CalculationGuiService = hydraulicBoundaryLocationCalculationGuiService; - }, + AfterCreate = (view, context) => { view.CalculationGuiService = hydraulicBoundaryLocationCalculationGuiService; }, CloseForData = CloseDesignWaterLevelLocationsViewForData }; @@ -169,10 +166,7 @@ CreateInstance = context => new GrassCoverErosionOutwardsWaveHeightLocationsView(context.FailureMechanism, context.AssessmentSection, () => context.AssessmentSection.FailureMechanismContribution.Norm), - AfterCreate = (view, context) => - { - view.CalculationGuiService = hydraulicBoundaryLocationCalculationGuiService; - } + AfterCreate = (view, context) => { view.CalculationGuiService = hydraulicBoundaryLocationCalculationGuiService; } }; } @@ -323,6 +317,7 @@ { throw new InvalidOperationException("Gui cannot be null"); } + hydraulicBoundaryLocationCalculationGuiService = new HydraulicBoundaryLocationCalculationGuiService(Gui.MainWindow); } @@ -355,14 +350,16 @@ if (assessmentSection != null) { return assessmentSection - .GetFailureMechanisms() - .OfType() - .Any(fm => ReferenceEquals(view.Data, fm.SectionResults)); + .GetFailureMechanisms() + .OfType() + .Any(fm => ReferenceEquals(view.Data, fm.SectionResults)); } + if (failureMechanismContext != null) { failureMechanism = failureMechanismContext.WrappedData; } + return failureMechanism != null && ReferenceEquals(view.Data, failureMechanism.SectionResults); } @@ -406,6 +403,7 @@ { failureMechanism = failureMechanismContext.Parent.GetFailureMechanisms().OfType().Single(); } + return failureMechanism != null && ReferenceEquals(failureMechanism, viewFailureMechanism); } @@ -654,9 +652,9 @@ bool isNestedGroup = parentData is GrassCoverErosionOutwardsWaveConditionsCalculationGroupContext; GrassCoverErosionOutwardsWaveConditionsCalculation[] calculations = group - .GetCalculations() - .OfType() - .ToArray(); + .GetCalculations() + .OfType() + .ToArray(); StrictContextMenuItem generateCalculationsItem = CreateGenerateWaveConditionsCalculationsItem(nodeData); @@ -871,33 +869,33 @@ GrassCoverErosionOutwardsWaveConditionsCalculation calculation = nodeData.WrappedData; return builder - .AddExportItem() - .AddSeparator() - .AddDuplicateCalculationItem(calculation, nodeData) - .AddSeparator() - .AddRenameItem() - .AddUpdateForeshoreProfileOfCalculationItem(calculation, - inquiryHelper, - SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) - .AddSeparator() - .AddValidateCalculationItem( - nodeData, - Validate, - ValidateAllDataAvailableAndGetErrorMessage) - .AddPerformCalculationItem( - calculation, - nodeData, - PerformCalculation, - ValidateAllDataAvailableAndGetErrorMessage) - .AddSeparator() - .AddClearCalculationOutputItem(calculation) - .AddDeleteItem() - .AddSeparator() - .AddCollapseAllItem() - .AddExpandAllItem() - .AddSeparator() - .AddPropertiesItem() - .Build(); + .AddExportItem() + .AddSeparator() + .AddDuplicateCalculationItem(calculation, nodeData) + .AddSeparator() + .AddRenameItem() + .AddUpdateForeshoreProfileOfCalculationItem(calculation, + inquiryHelper, + SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) + .AddSeparator() + .AddValidateCalculationItem( + nodeData, + Validate, + ValidateAllDataAvailableAndGetErrorMessage) + .AddPerformCalculationItem( + calculation, + nodeData, + PerformCalculation, + ValidateAllDataAvailableAndGetErrorMessage) + .AddSeparator() + .AddClearCalculationOutputItem(calculation) + .AddDeleteItem() + .AddSeparator() + .AddCollapseAllItem() + .AddExpandAllItem() + .AddSeparator() + .AddPropertiesItem() + .Build(); } private static string ValidateAllDataAvailableAndGetErrorMessage(GrassCoverErosionOutwardsWaveConditionsCalculationContext context) Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationPropertiesTest.cs =================================================================== diff -u -r0f28eb71a18af127ad376776ebd2cd597a0aa5c5 -r9b83f33bbdd0e5bcd78e60342e5c780599c12c93 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationPropertiesTest.cs (.../GrassCoverErosionOutwardsDesignWaterLevelLocationPropertiesTest.cs) (revision 0f28eb71a18af127ad376776ebd2cd597a0aa5c5) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationPropertiesTest.cs (.../GrassCoverErosionOutwardsDesignWaterLevelLocationPropertiesTest.cs) (revision 9b83f33bbdd0e5bcd78e60342e5c780599c12c93) @@ -52,13 +52,25 @@ private const int shouldCalculateIllustrationPointsIndex = 9; [Test] + public void Constructor_HydraulicBoundaryLocationCalculationNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(new TestHydraulicBoundaryLocation(), null); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("hydraulicBoundaryLocationCalculation", paramName); + } + + [Test] public void Constructor_ExpectedValues() { // Setup var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(0, "", 0.0, 0.0); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(); // Call - var properties = new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(hydraulicBoundaryLocation); + var properties = new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Assert Assert.IsInstanceOf(properties); @@ -70,9 +82,10 @@ { // Setup HydraulicBoundaryLocation hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(); // Call - var properties = new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(hydraulicBoundaryLocation); + var properties = new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Assert Assert.AreEqual(hydraulicBoundaryLocation.Id, properties.Id); @@ -140,16 +153,14 @@ convergence, generalResult); - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(id, name, x, y) + var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(id, name, x, y); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation { - DesignWaterLevelCalculation = - { - Output = hydraulicBoundaryLocationOutput - } + Output = hydraulicBoundaryLocationOutput }; // Call - var properties = new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(hydraulicBoundaryLocation); + var properties = new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Assert Assert.AreEqual(id, properties.Id); @@ -181,9 +192,10 @@ { // Setup HydraulicBoundaryLocation hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(); // Call - var properties = new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(hydraulicBoundaryLocation); + var properties = new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Assert TypeConverter classTypeConverter = TypeDescriptor.GetConverter(properties, true); @@ -274,26 +286,24 @@ observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); - HydraulicBoundaryLocation hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation + HydraulicBoundaryLocation hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation { - DesignWaterLevelCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = false - } + ShouldIllustrationPointsBeCalculated = false } }; hydraulicBoundaryLocation.Attach(observer); - var properties = new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(hydraulicBoundaryLocation); + var properties = new GrassCoverErosionOutwardsDesignWaterLevelLocationProperties(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Call properties.ShouldIllustrationPointsBeCalculated = true; // Assert - Assert.IsTrue(hydraulicBoundaryLocation.DesignWaterLevelCalculation.InputParameters.ShouldIllustrationPointsBeCalculated); + Assert.IsTrue(hydraulicBoundaryLocationCalculation.InputParameters.ShouldIllustrationPointsBeCalculated); mocks.VerifyAll(); } } Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationPropertiesTest.cs =================================================================== diff -u -r0f28eb71a18af127ad376776ebd2cd597a0aa5c5 -r9b83f33bbdd0e5bcd78e60342e5c780599c12c93 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationPropertiesTest.cs (.../GrassCoverErosionOutwardsWaveHeightLocationPropertiesTest.cs) (revision 0f28eb71a18af127ad376776ebd2cd597a0aa5c5) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationPropertiesTest.cs (.../GrassCoverErosionOutwardsWaveHeightLocationPropertiesTest.cs) (revision 9b83f33bbdd0e5bcd78e60342e5c780599c12c93) @@ -52,13 +52,25 @@ private const int shouldCalculateIllustrationPointsIndex = 9; [Test] + public void Constructor_HydraulicBoundaryLocationCalculationNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => new GrassCoverErosionOutwardsWaveHeightLocationProperties(new TestHydraulicBoundaryLocation(), null); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("hydraulicBoundaryLocationCalculation", paramName); + } + + [Test] public void Constructor_ExpectedValues() { // Setup var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(0, "", 0.0, 0.0); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(); // Call - var properties = new GrassCoverErosionOutwardsWaveHeightLocationProperties(hydraulicBoundaryLocation); + var properties = new GrassCoverErosionOutwardsWaveHeightLocationProperties(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Assert Assert.IsInstanceOf(properties); @@ -70,9 +82,10 @@ { // Setup HydraulicBoundaryLocation hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(); // Call - var properties = new GrassCoverErosionOutwardsWaveHeightLocationProperties(hydraulicBoundaryLocation); + var properties = new GrassCoverErosionOutwardsWaveHeightLocationProperties(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Assert Assert.AreEqual(hydraulicBoundaryLocation.Id, properties.Id); @@ -140,16 +153,14 @@ convergence, generalResult); - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(id, name, x, y) + var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(id, name, x, y); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation { - WaveHeightCalculation = - { - Output = hydraulicBoundaryLocationOutput - } + Output = hydraulicBoundaryLocationOutput }; // Call - var properties = new GrassCoverErosionOutwardsWaveHeightLocationProperties(hydraulicBoundaryLocation); + var properties = new GrassCoverErosionOutwardsWaveHeightLocationProperties(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Assert Assert.AreEqual(id, properties.Id); @@ -181,9 +192,10 @@ { // Setup HydraulicBoundaryLocation hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(); // Call - var properties = new GrassCoverErosionOutwardsWaveHeightLocationProperties(hydraulicBoundaryLocation); + var properties = new GrassCoverErosionOutwardsWaveHeightLocationProperties(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Assert TypeConverter classTypeConverter = TypeDescriptor.GetConverter(properties, true); @@ -274,26 +286,24 @@ observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); - HydraulicBoundaryLocation hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation + HydraulicBoundaryLocation hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation { - WaveHeightCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = false - } + ShouldIllustrationPointsBeCalculated = false } }; hydraulicBoundaryLocation.Attach(observer); - var properties = new GrassCoverErosionOutwardsWaveHeightLocationProperties(hydraulicBoundaryLocation); + var properties = new GrassCoverErosionOutwardsWaveHeightLocationProperties(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Call properties.ShouldIllustrationPointsBeCalculated = true; // Assert - Assert.IsTrue(hydraulicBoundaryLocation.WaveHeightCalculation.InputParameters.ShouldIllustrationPointsBeCalculated); + Assert.IsTrue(hydraulicBoundaryLocationCalculation.InputParameters.ShouldIllustrationPointsBeCalculated); mocks.VerifyAll(); } }