Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Util.Test/ClosingStructuresHelperTest.cs =================================================================== diff -u -r4fd4b13639f6d6f3657c02916f60571bf940ee9c -r59a50f143a03c69f2ddca17d8eb26d1b0b148876 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Util.Test/ClosingStructuresHelperTest.cs (.../ClosingStructuresHelperTest.cs) (revision 4fd4b13639f6d6f3657c02916f60571bf940ee9c) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Util.Test/ClosingStructuresHelperTest.cs (.../ClosingStructuresHelperTest.cs) (revision 59a50f143a03c69f2ddca17d8eb26d1b0b148876) @@ -20,14 +20,14 @@ // All rights reserved. using System; -using System.Collections.Generic; using System.Linq; using Core.Common.Base.Geometry; using NUnit.Framework; using Ringtoets.ClosingStructures.Data; using Ringtoets.ClosingStructures.Data.TestUtil; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.Structures; +using Ringtoets.Common.Data.TestUtil; namespace Ringtoets.ClosingStructures.Util.Test { @@ -49,11 +49,12 @@ public void UpdateCalculationToSectionResultAssignments_SectionResultWithCalculationNoRemainingCalculations_SectionResultCalculationIsNull() { // Setup + var location = new Point2D(1, 1); var failureMechanism = new ClosingStructuresFailureMechanism(); - failureMechanism.AddSection(failureMechanismSection); + failureMechanism.AddSection(CreateFailureMechanismSection(location)); ClosingStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.First(); - sectionResult.Calculation = calculationInSectionA; + sectionResult.Calculation = CreateCalculation(location); // Call ClosingStructuresHelper.UpdateCalculationToSectionResultAssignments(failureMechanism); @@ -66,52 +67,48 @@ public void UpdateCalculationToSectionResultAssignments_SectionResultWithCalculationWithRemainingCalculations_SectionResultCalculationSetToRemainingCalculation() { // Setup + var location = new Point2D(1, 1); + StructuresCalculation remainingCalculation = CreateCalculation(new Point2D(10, 10)); var failureMechanism = new ClosingStructuresFailureMechanism { CalculationsGroup = { Children = { - calculationInSectionB + remainingCalculation } } }; - failureMechanism.AddSection(failureMechanismSection); + failureMechanism.AddSection(CreateFailureMechanismSection(location)); ClosingStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.First(); - sectionResult.Calculation = calculationInSectionA; + sectionResult.Calculation = CreateCalculation(location); // Call ClosingStructuresHelper.UpdateCalculationToSectionResultAssignments(failureMechanism); // Assert - Assert.AreSame(calculationInSectionB, sectionResult.Calculation); + Assert.AreSame(remainingCalculation, sectionResult.Calculation); } - #region Prepared data - - private static readonly FailureMechanismSection failureMechanismSection = new FailureMechanismSection("A", new List + private static FailureMechanismSection CreateFailureMechanismSection(Point2D endPoint) { - new Point2D(0.0, 0.0), - new Point2D(10.0, 10.0) - }); - - private static readonly StructuresCalculation calculationInSectionA = new StructuresCalculation - { - InputParameters = + return FailureMechanismSectionTestFactory.CreateFailureMechanismSection(new[] { - Structure = new TestClosingStructure(new Point2D(1.1, 2.2)) - } - }; + new Point2D(0, 0), + endPoint + }); + } - private static readonly StructuresCalculation calculationInSectionB = new StructuresCalculation + private static StructuresCalculation CreateCalculation(Point2D location) { - InputParameters = + return new StructuresCalculation { - Structure = new TestClosingStructure(new Point2D(50.0, 66.0)) - } - }; - - #endregion + InputParameters = + { + Structure = new TestClosingStructure(location) + } + }; + } } } \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Util.Test/Ringtoets.ClosingStructures.Util.Test.csproj =================================================================== diff -u -r7e3ea9fdd77f4efe3cd50c9adebbfcf369253bfd -r59a50f143a03c69f2ddca17d8eb26d1b0b148876 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Util.Test/Ringtoets.ClosingStructures.Util.Test.csproj (.../Ringtoets.ClosingStructures.Util.Test.csproj) (revision 7e3ea9fdd77f4efe3cd50c9adebbfcf369253bfd) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Util.Test/Ringtoets.ClosingStructures.Util.Test.csproj (.../Ringtoets.ClosingStructures.Util.Test.csproj) (revision 59a50f143a03c69f2ddca17d8eb26d1b0b148876) @@ -36,6 +36,10 @@ {D4200F43-3F72-4F42-AF0A-8CED416A38EC} Ringtoets.Common.Data + + {4843D6E5-066F-4795-94F5-1D53932DD03C} + Ringtoets.Common.Data.TestUtil + {C6309704-D67B-434C-BC98-9F8910BC1D10} Ringtoets.ClosingStructures.Data Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/FailureMechanismSectionTestFactoryTest.cs =================================================================== diff -u -rf4049b9b0967513aeadfddb1fe58efa3b3aa1677 -r59a50f143a03c69f2ddca17d8eb26d1b0b148876 --- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/FailureMechanismSectionTestFactoryTest.cs (.../FailureMechanismSectionTestFactoryTest.cs) (revision f4049b9b0967513aeadfddb1fe58efa3b3aa1677) +++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/FailureMechanismSectionTestFactoryTest.cs (.../FailureMechanismSectionTestFactoryTest.cs) (revision 59a50f143a03c69f2ddca17d8eb26d1b0b148876) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using Core.Common.Base.Geometry; using NUnit.Framework; using Ringtoets.Common.Data.FailureMechanism; @@ -29,18 +30,50 @@ public class FailureMechanismSectionTestFactoryTest { [Test] - public void CreateSection_ReturnsExpectedValues() + public void CreateFailureMechanismSection_ReturnsExpectedValues() { // Call FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); // Assert + Assert.IsNotNull(section); Assert.AreEqual("test", section.Name); CollectionAssert.AreEqual(new[] { new Point2D(0, 0), new Point2D(1, 0) }, section.Points); } + + [Test] + public void CreateFailureMechanismSection_CoordinatesNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => FailureMechanismSectionTestFactory.CreateFailureMechanismSection(null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("coordinates", exception.ParamName); + } + + [Test] + public void CreateFailureMechanismSection_WithCoordinates_ReturnsExpectedValues() + { + // Setup + var random = new Random(21); + var coordinates = new[] + { + new Point2D(random.NextDouble(), random.NextDouble()), + new Point2D(random.NextDouble(), random.NextDouble()) + }; + + // Call + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(coordinates); + + // Assert + Assert.IsNotNull(section); + Assert.AreEqual("test", section.Name); + CollectionAssert.AreEqual(coordinates, section.Points); + } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/FailureMechanismSectionTestFactory.cs =================================================================== diff -u -r5f5fc9c9799816757fca63a82f5d86aadb262d2f -r59a50f143a03c69f2ddca17d8eb26d1b0b148876 --- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/FailureMechanismSectionTestFactory.cs (.../FailureMechanismSectionTestFactory.cs) (revision 5f5fc9c9799816757fca63a82f5d86aadb262d2f) +++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/FailureMechanismSectionTestFactory.cs (.../FailureMechanismSectionTestFactory.cs) (revision 59a50f143a03c69f2ddca17d8eb26d1b0b148876) @@ -19,6 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using System.Collections.Generic; using Core.Common.Base.Geometry; using Ringtoets.Common.Data.FailureMechanism; @@ -36,11 +38,33 @@ /// A valid . public static FailureMechanismSection CreateFailureMechanismSection() { - return new FailureMechanismSection("test", new[] + return CreateFailureMechanismSection(new[] { new Point2D(0, 0), new Point2D(1, 0) }); } + + /// + /// Creates a with defined coordinates. + /// + /// The coordinates of the + /// A valid with the specified coordinates. + /// Thrown when + /// is null. + /// Thrown when: + /// + /// does not have at least one geometry point. + /// One or more elements are null. + /// + public static FailureMechanismSection CreateFailureMechanismSection(IEnumerable coordinates) + { + if (coordinates == null) + { + throw new ArgumentNullException(nameof(coordinates)); + } + + return new FailureMechanismSection("test", coordinates); + } } } \ No newline at end of file