Index: Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext.cs =================================================================== diff -u --- Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext.cs (revision 0) +++ Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext.cs (revision a016a24b89f1930ed6dd4339c1c57226aeefda4d) @@ -0,0 +1,57 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using Core.Common.Controls.PresentationObjects; +using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Data.Hydraulics; + +namespace Riskeer.Common.Forms.PresentationObjects +{ + /// + /// Presentation object for all hydraulic boundary location calculations based on a user defined target probability. + /// + public abstract class HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext : ObservableWrappedObjectContextBase + { + /// + /// Creates a new instance of . + /// + /// The calculations wrapped by the . + /// The that the belongs to. + /// Thrown when any parameter is null. + protected HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext(HydraulicBoundaryLocationCalculationsForTargetProbability wrappedData, + IAssessmentSection assessmentSection) + : base(wrappedData) + { + if (assessmentSection == null) + { + throw new ArgumentNullException(nameof(assessmentSection)); + } + + AssessmentSection = assessmentSection; + } + + /// + /// Gets the assessment section that the context belongs to. + /// + public IAssessmentSection AssessmentSection { get; } + } +} \ No newline at end of file Index: Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/WaterLevelCalculationsForUserDefinedTargetProbabilityContext.cs =================================================================== diff -u -r8265cfe703f18fa1797873da009367dee716dbf4 -ra016a24b89f1930ed6dd4339c1c57226aeefda4d --- Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/WaterLevelCalculationsForUserDefinedTargetProbabilityContext.cs (.../WaterLevelCalculationsForUserDefinedTargetProbabilityContext.cs) (revision 8265cfe703f18fa1797873da009367dee716dbf4) +++ Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/WaterLevelCalculationsForUserDefinedTargetProbabilityContext.cs (.../WaterLevelCalculationsForUserDefinedTargetProbabilityContext.cs) (revision a016a24b89f1930ed6dd4339c1c57226aeefda4d) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using Core.Common.Controls.PresentationObjects; using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.Hydraulics; @@ -29,7 +28,7 @@ /// /// Presentation object for all water level calculations based on a user defined target probability. /// - public class WaterLevelCalculationsForUserDefinedTargetProbabilityContext : ObservableWrappedObjectContextBase + public class WaterLevelCalculationsForUserDefinedTargetProbabilityContext : HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext { /// /// Creates a new instance of . @@ -39,19 +38,6 @@ /// Thrown when any parameter is null. public WaterLevelCalculationsForUserDefinedTargetProbabilityContext(HydraulicBoundaryLocationCalculationsForTargetProbability wrappedData, IAssessmentSection assessmentSection) - : base(wrappedData) - { - if (assessmentSection == null) - { - throw new ArgumentNullException(nameof(assessmentSection)); - } - - AssessmentSection = assessmentSection; - } - - /// - /// Gets the assessment section that the context belongs to. - /// - public IAssessmentSection AssessmentSection { get; } + : base(wrappedData, assessmentSection) {} } } \ No newline at end of file Index: Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/WaveHeightCalculationsForUserDefinedTargetProbabilityContext.cs =================================================================== diff -u -r36c56cd402caeaff7c975af0e4761ea5ee2a7871 -ra016a24b89f1930ed6dd4339c1c57226aeefda4d --- Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/WaveHeightCalculationsForUserDefinedTargetProbabilityContext.cs (.../WaveHeightCalculationsForUserDefinedTargetProbabilityContext.cs) (revision 36c56cd402caeaff7c975af0e4761ea5ee2a7871) +++ Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/WaveHeightCalculationsForUserDefinedTargetProbabilityContext.cs (.../WaveHeightCalculationsForUserDefinedTargetProbabilityContext.cs) (revision a016a24b89f1930ed6dd4339c1c57226aeefda4d) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using Core.Common.Controls.PresentationObjects; using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.Hydraulics; @@ -29,7 +28,7 @@ /// /// Presentation object for all wave height calculations based on a user defined target probability. /// - public class WaveHeightCalculationsForUserDefinedTargetProbabilityContext : ObservableWrappedObjectContextBase + public class WaveHeightCalculationsForUserDefinedTargetProbabilityContext : HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext { /// /// Creates a new instance of . @@ -39,19 +38,6 @@ /// Thrown when any parameter is null. public WaveHeightCalculationsForUserDefinedTargetProbabilityContext(HydraulicBoundaryLocationCalculationsForTargetProbability wrappedData, IAssessmentSection assessmentSection) - : base(wrappedData) - { - if (assessmentSection == null) - { - throw new ArgumentNullException(nameof(assessmentSection)); - } - - AssessmentSection = assessmentSection; - } - - /// - /// Gets the assessment section that the context belongs to. - /// - public IAssessmentSection AssessmentSection { get; } + : base(wrappedData, assessmentSection) {} } } \ No newline at end of file Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/PresentationObjects/HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContextTest.cs =================================================================== diff -u --- Riskeer/Common/test/Riskeer.Common.Forms.Test/PresentationObjects/HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContextTest.cs (revision 0) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/PresentationObjects/HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContextTest.cs (revision a016a24b89f1930ed6dd4339c1c57226aeefda4d) @@ -0,0 +1,76 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using Core.Common.Controls.PresentationObjects; +using NUnit.Framework; +using Rhino.Mocks; +using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Data.Hydraulics; +using Riskeer.Common.Forms.PresentationObjects; + +namespace Riskeer.Common.Forms.Test.PresentationObjects +{ + [TestFixture] + public class HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContextTest + { + [Test] + public void Constructor_AssessmentSectionNull_ThrowsArgumentNullException() + { + // Call + void Call() => new TestHydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext( + new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1), null); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("assessmentSection", exception.ParamName); + } + + [Test] + public void Constructor_ExpectedValues() + { + // Setup + var mockRepository = new MockRepository(); + var assessmentSection = mockRepository.Stub(); + mockRepository.ReplayAll(); + + var hydraulicBoundaryLocationCalculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1); + + // Call + var context = new TestHydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext( + hydraulicBoundaryLocationCalculationsForTargetProbability, assessmentSection); + + // Assert + Assert.IsInstanceOf>(context); + Assert.AreSame(hydraulicBoundaryLocationCalculationsForTargetProbability, context.WrappedData); + Assert.AreSame(assessmentSection, context.AssessmentSection); + mockRepository.VerifyAll(); + } + + private class TestHydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext + : HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext + { + public TestHydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext( + HydraulicBoundaryLocationCalculationsForTargetProbability wrappedData, IAssessmentSection assessmentSection) + : base(wrappedData, assessmentSection) {} + } + } +} \ No newline at end of file Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/PresentationObjects/WaterLevelCalculationsForUserDefinedTargetProbabilityContextTest.cs =================================================================== diff -u -r37a94ceb828e1896ab8d0c17c292c6277fbf87ca -ra016a24b89f1930ed6dd4339c1c57226aeefda4d --- Riskeer/Common/test/Riskeer.Common.Forms.Test/PresentationObjects/WaterLevelCalculationsForUserDefinedTargetProbabilityContextTest.cs (.../WaterLevelCalculationsForUserDefinedTargetProbabilityContextTest.cs) (revision 37a94ceb828e1896ab8d0c17c292c6277fbf87ca) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/PresentationObjects/WaterLevelCalculationsForUserDefinedTargetProbabilityContextTest.cs (.../WaterLevelCalculationsForUserDefinedTargetProbabilityContextTest.cs) (revision a016a24b89f1930ed6dd4339c1c57226aeefda4d) @@ -19,8 +19,6 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System; -using Core.Common.Controls.PresentationObjects; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -33,18 +31,6 @@ public class WaterLevelCalculationsForUserDefinedTargetProbabilityContextTest { [Test] - public void Constructor_AssessmentSectionNull_ThrowsArgumentNullException() - { - // Call - void Call() => new WaterLevelCalculationsForUserDefinedTargetProbabilityContext(new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1), - null); - - // Assert - var exception = Assert.Throws(Call); - Assert.AreEqual("assessmentSection", exception.ParamName); - } - - [Test] public void Constructor_ExpectedValues() { // Setup @@ -59,7 +45,7 @@ assessmentSection); // Assert - Assert.IsInstanceOf>(context); + Assert.IsInstanceOf(context); Assert.AreSame(hydraulicBoundaryLocationCalculationsForTargetProbability, context.WrappedData); Assert.AreSame(assessmentSection, context.AssessmentSection); mockRepository.VerifyAll(); Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/PresentationObjects/WaveHeightCalculationsForUserDefinedTargetProbabilityContextTest.cs =================================================================== diff -u -r37a94ceb828e1896ab8d0c17c292c6277fbf87ca -ra016a24b89f1930ed6dd4339c1c57226aeefda4d --- Riskeer/Common/test/Riskeer.Common.Forms.Test/PresentationObjects/WaveHeightCalculationsForUserDefinedTargetProbabilityContextTest.cs (.../WaveHeightCalculationsForUserDefinedTargetProbabilityContextTest.cs) (revision 37a94ceb828e1896ab8d0c17c292c6277fbf87ca) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/PresentationObjects/WaveHeightCalculationsForUserDefinedTargetProbabilityContextTest.cs (.../WaveHeightCalculationsForUserDefinedTargetProbabilityContextTest.cs) (revision a016a24b89f1930ed6dd4339c1c57226aeefda4d) @@ -19,8 +19,6 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System; -using Core.Common.Controls.PresentationObjects; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -33,18 +31,6 @@ public class WaveHeightCalculationsForUserDefinedTargetProbabilityContextTest { [Test] - public void Constructor_AssessmentSectionNull_ThrowsArgumentNullException() - { - // Call - void Call() => new WaveHeightCalculationsForUserDefinedTargetProbabilityContext(new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1), - null); - - // Assert - var exception = Assert.Throws(Call); - Assert.AreEqual("assessmentSection", exception.ParamName); - } - - [Test] public void Constructor_ExpectedValues() { // Setup @@ -59,7 +45,7 @@ assessmentSection); // Assert - Assert.IsInstanceOf>(context); + Assert.IsInstanceOf(context); Assert.AreSame(hydraulicBoundaryLocationCalculationsForTargetProbability, context.WrappedData); Assert.AreSame(assessmentSection, context.AssessmentSection); mockRepository.VerifyAll();