Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PresentationObjects/GrassCoverErosionOutwardsWaveHeightCalculationsContext.cs =================================================================== diff -u -ra23e251253c836b9954d53cde172d0ccccff8a2c -rd7ade6bfc94f45614a0d633a3932478a2cc980c3 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PresentationObjects/GrassCoverErosionOutwardsWaveHeightCalculationsContext.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsContext.cs) (revision a23e251253c836b9954d53cde172d0ccccff8a2c) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PresentationObjects/GrassCoverErosionOutwardsWaveHeightCalculationsContext.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsContext.cs) (revision d7ade6bfc94f45614a0d633a3932478a2cc980c3) @@ -21,9 +21,9 @@ using System; using Core.Common.Base; -using Core.Common.Controls.PresentationObjects; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Hydraulics; +using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.GrassCoverErosionOutwards.Data; namespace Ringtoets.GrassCoverErosionOutwards.Forms.PresentationObjects @@ -32,43 +32,35 @@ /// Presentation object for all data required to configure an enumeration of /// with a wave height calculation result for a given norm. /// - public class GrassCoverErosionOutwardsWaveHeightCalculationsContext : ObservableWrappedObjectContextBase> + public class GrassCoverErosionOutwardsWaveHeightCalculationsContext : WaveHeightCalculationsContext { /// /// Creates a new instance of . /// - /// The hydraulic boundary location calculations for this context. - /// The to which the hydraulic boundary locations - /// are assigned. - /// The grass cover erosion outwards failure mechanism within - /// the . - /// Thrown when or - /// is null. - public GrassCoverErosionOutwardsWaveHeightCalculationsContext(ObservableList calculations, + /// The calculations for the context belongs to. + /// The failure mechanism the context belongs to. + /// The assessment section the context belongs to. + /// for obtaining the norm to use during calculations. + /// The name of the category boundary. + /// Thrown when , , + /// or is null. + /// Thrown when is null or empty. + public GrassCoverErosionOutwardsWaveHeightCalculationsContext(IObservableEnumerable wrappedData, + GrassCoverErosionOutwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection, - GrassCoverErosionOutwardsFailureMechanism failureMechanism) - : base(calculations) + Func getNormFunc, + string categoryBoundaryName) + : base(wrappedData, assessmentSection, getNormFunc, categoryBoundaryName) { - if (assessmentSection == null) - { - throw new ArgumentNullException(nameof(assessmentSection)); - } - if (failureMechanism == null) { throw new ArgumentNullException(nameof(failureMechanism)); } - AssessmentSection = assessmentSection; FailureMechanism = failureMechanism; } /// - /// Gets the assessment section to which the hydraulic boundary locations belong. - /// - public IAssessmentSection AssessmentSection { get; } - - /// /// Gets the grass cover erosion outwards failure mechanism. /// public GrassCoverErosionOutwardsFailureMechanism FailureMechanism { get; } Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PresentationObjects/GrassCoverErosionOutwardsWaveHeightCalculationsContextTest.cs =================================================================== diff -u -re5a11251693f46473c8d26294c75067f01ce088c -rd7ade6bfc94f45614a0d633a3932478a2cc980c3 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PresentationObjects/GrassCoverErosionOutwardsWaveHeightCalculationsContextTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsContextTest.cs) (revision e5a11251693f46473c8d26294c75067f01ce088c) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PresentationObjects/GrassCoverErosionOutwardsWaveHeightCalculationsContextTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsContextTest.cs) (revision d7ade6bfc94f45614a0d633a3932478a2cc980c3) @@ -26,6 +26,7 @@ using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Hydraulics; +using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.GrassCoverErosionOutwards.Data; using Ringtoets.GrassCoverErosionOutwards.Forms.PresentationObjects; @@ -35,21 +36,6 @@ public class GrassCoverErosionOutwardsWaveHeightCalculationsContextTest { [Test] - public void Constructor_AssessmentSectionNull_ThrowsArgumentNullException() - { - // Setup - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); - var calculations = new ObservableList(); - - // Call - TestDelegate call = () => new GrassCoverErosionOutwardsWaveHeightCalculationsContext(calculations, null, failureMechanism); - - // Assert - string paramName = Assert.Throws(call).ParamName; - Assert.AreEqual("assessmentSection", paramName); - } - - [Test] public void Constructor_FailureMechanismNull_ThrowsArgumentNullException() { // Setup @@ -60,7 +46,8 @@ var calculations = new ObservableList(); // Call - TestDelegate call = () => new GrassCoverErosionOutwardsWaveHeightCalculationsContext(calculations, assessmentSection, null); + TestDelegate call = () => new GrassCoverErosionOutwardsWaveHeightCalculationsContext(calculations, null, assessmentSection, + () => 0.1, "Test name"); // Assert string paramName = Assert.Throws(call).ParamName; @@ -73,20 +60,25 @@ { // Setup var mockRepository = new MockRepository(); + var calculations = mockRepository.Stub>(); var assessmentSection = mockRepository.Stub(); mockRepository.ReplayAll(); var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); - var calculations = new ObservableList(); + Func getNormFunc = () => 0.01; + const string categoryBoundaryName = "Test name"; // Call - var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(calculations, assessmentSection, failureMechanism); + var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(calculations, failureMechanism, assessmentSection, + getNormFunc, categoryBoundaryName); // Assert - Assert.IsInstanceOf>>(context); + Assert.IsInstanceOf(context); Assert.AreSame(calculations, context.WrappedData); Assert.AreSame(assessmentSection, context.AssessmentSection); Assert.AreSame(failureMechanism, context.FailureMechanism); + Assert.AreSame(getNormFunc, context.GetNormFunc); + Assert.AreEqual(categoryBoundaryName, context.CategoryBoundaryName); mockRepository.VerifyAll(); } } Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/PropertyInfos/GrassCoverErosionOutwardsWaveHeightCalculationsContextPropertyInfoTest.cs =================================================================== diff -u -r7c8a0a5a12eacb750f96b03c6f01248fa4bc43b7 -rd7ade6bfc94f45614a0d633a3932478a2cc980c3 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/PropertyInfos/GrassCoverErosionOutwardsWaveHeightCalculationsContextPropertyInfoTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsContextPropertyInfoTest.cs) (revision 7c8a0a5a12eacb750f96b03c6f01248fa4bc43b7) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/PropertyInfos/GrassCoverErosionOutwardsWaveHeightCalculationsContextPropertyInfoTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsContextPropertyInfoTest.cs) (revision d7ade6bfc94f45614a0d633a3932478a2cc980c3) @@ -62,8 +62,8 @@ var calculations = new ObservableList(); var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(calculations, - assessmentSection, - new GrassCoverErosionOutwardsFailureMechanism()); + new GrassCoverErosionOutwardsFailureMechanism(), + assessmentSection); using (var plugin = new GrassCoverErosionOutwardsPlugin()) { Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveHeightCalculationsContextTreeNodeInfoTest.cs =================================================================== diff -u -r7c8a0a5a12eacb750f96b03c6f01248fa4bc43b7 -rd7ade6bfc94f45614a0d633a3932478a2cc980c3 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveHeightCalculationsContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsContextTreeNodeInfoTest.cs) (revision 7c8a0a5a12eacb750f96b03c6f01248fa4bc43b7) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveHeightCalculationsContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsContextTreeNodeInfoTest.cs) (revision d7ade6bfc94f45614a0d633a3932478a2cc980c3) @@ -99,8 +99,8 @@ var assessmentSection = mockRepository.Stub(); mockRepository.ReplayAll(); var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList(), - assessmentSection, - new GrassCoverErosionOutwardsFailureMechanism()); + new GrassCoverErosionOutwardsFailureMechanism(), + assessmentSection); using (var plugin = new GrassCoverErosionOutwardsPlugin()) { @@ -122,8 +122,8 @@ var assessmentSection = mockRepository.Stub(); mockRepository.ReplayAll(); var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList(), - assessmentSection, - new GrassCoverErosionOutwardsFailureMechanism()); + new GrassCoverErosionOutwardsFailureMechanism(), + assessmentSection); using (var plugin = new GrassCoverErosionOutwardsPlugin()) { TreeNodeInfo info = GetInfo(plugin); @@ -150,8 +150,8 @@ { TreeNodeInfo info = GetInfo(plugin); var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList(), - assessmentSection, - new GrassCoverErosionOutwardsFailureMechanism()); + new GrassCoverErosionOutwardsFailureMechanism(), + assessmentSection); var menuBuilder = mockRepository.StrictMock(); using (mockRepository.Ordered()) @@ -201,11 +201,10 @@ TreeNodeInfo info = GetInfo(plugin); var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList(), - assessmentSection, new GrassCoverErosionOutwardsFailureMechanism { Contribution = 5 - }); + }, assessmentSection); var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, importCommandHandler, @@ -264,8 +263,8 @@ TreeNodeInfo info = GetInfo(plugin); var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList(), - assessmentSection, - new GrassCoverErosionOutwardsFailureMechanism()); + new GrassCoverErosionOutwardsFailureMechanism(), + assessmentSection); var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, importCommandHandler, @@ -324,11 +323,10 @@ TreeNodeInfo info = GetInfo(plugin); var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList(), - assessmentSection, new GrassCoverErosionOutwardsFailureMechanism { Contribution = 5 - }); + }, assessmentSection); var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, importCommandHandler, @@ -376,10 +374,12 @@ var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations[0]); - var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList - { - hydraulicBoundaryLocationCalculation - }, assessmentSection, new GrassCoverErosionOutwardsFailureMechanism()); + var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext( + new ObservableList + { + hydraulicBoundaryLocationCalculation + }, new GrassCoverErosionOutwardsFailureMechanism(), + assessmentSection); using (var treeViewControl = new TreeViewControl()) { @@ -432,10 +432,11 @@ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0); - var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList - { - new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation) - }, assessmentSection, failureMechanism); + var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext( + new ObservableList + { + new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation) + }, failureMechanism, assessmentSection); using (var treeViewControl = new TreeViewControl()) { @@ -497,10 +498,11 @@ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0); - var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList - { - new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation) - }, assessmentSection, failureMechanism); + var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext( + new ObservableList + { + new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation) + }, failureMechanism, assessmentSection); using (var treeViewControl = new TreeViewControl()) { @@ -561,10 +563,11 @@ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0); - var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList - { - new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation) - }, assessmentSection, failureMechanism); + var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext( + new ObservableList + { + new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation) + }, failureMechanism, assessmentSection); using (var treeViewControl = new TreeViewControl()) { Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ViewInfos/GrassCoverErosionOutwardsWaveHeightCalculationsViewInfoTest.cs =================================================================== diff -u -r6f33b44599df032ecae3342b0aacd606a9e87c1f -rd7ade6bfc94f45614a0d633a3932478a2cc980c3 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ViewInfos/GrassCoverErosionOutwardsWaveHeightCalculationsViewInfoTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsViewInfoTest.cs) (revision 6f33b44599df032ecae3342b0aacd606a9e87c1f) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ViewInfos/GrassCoverErosionOutwardsWaveHeightCalculationsViewInfoTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsViewInfoTest.cs) (revision d7ade6bfc94f45614a0d633a3932478a2cc980c3) @@ -77,8 +77,8 @@ // Call object calculations = info.GetViewData(new GrassCoverErosionOutwardsWaveHeightCalculationsContext( expectedCalculations, - assessmentSection, - new GrassCoverErosionOutwardsFailureMechanism())); + new GrassCoverErosionOutwardsFailureMechanism(), + assessmentSection)); // Assert Assert.AreSame(calculations, expectedCalculations); @@ -104,8 +104,8 @@ var grassCoverErosionOutwardsFailureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); var context = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList(), - assessmentSection, - grassCoverErosionOutwardsFailureMechanism); + grassCoverErosionOutwardsFailureMechanism, + assessmentSection); plugin.Gui = gui; plugin.Activate(); @@ -167,8 +167,7 @@ var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); var data = new GrassCoverErosionOutwardsWaveHeightCalculationsContext(new ObservableList(), - assessmentSection, - failureMechanism); + failureMechanism, assessmentSection); plugin.Gui = gui; plugin.Activate();