Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/CombinedFailureMechanismSectionAssembly.cs =================================================================== diff -u -r9537a33b0502e46af43b6e1372b87984fe7f2a88 -r6b7fc9d682090343904b25d6c3ecb10b0166decf --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/CombinedFailureMechanismSectionAssembly.cs (.../CombinedFailureMechanismSectionAssembly.cs) (revision 9537a33b0502e46af43b6e1372b87984fe7f2a88) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/CombinedFailureMechanismSectionAssembly.cs (.../CombinedFailureMechanismSectionAssembly.cs) (revision 6b7fc9d682090343904b25d6c3ecb10b0166decf) @@ -32,45 +32,32 @@ /// /// Creates a new instance of . /// - /// The start of the section from the beginning of the reference line. - /// The end of the section from the beginning of the reference line. - /// The combined assembly result. + /// The section of the assembly. /// The assembly results per failure mechanism. - /// Thrown when - /// is null. - public CombinedFailureMechanismSectionAssembly(double sectionStart, double sectionEnd, - FailureMechanismSectionAssemblyCategoryGroup combinedResult, + /// Thrown when any parameter is null. + public CombinedFailureMechanismSectionAssembly(CombinedAssemblyFailureMechanismSection section, IEnumerable failureMechanismResults) { + if (section == null) + { + throw new ArgumentNullException(nameof(section)); + } + if (failureMechanismResults == null) { throw new ArgumentNullException(nameof(failureMechanismResults)); } - SectionStart = sectionStart; - SectionEnd = sectionEnd; - CombinedResult = combinedResult; + Section = section; FailureMechanismResults = failureMechanismResults; } - + /// - /// Gets the start of the section from the beginning of the reference line. - /// [m] + /// Gets the section of the assembly. /// - public double SectionStart { get; } + public CombinedAssemblyFailureMechanismSection Section { get; } /// - /// Gets the end of the section from the beginning of the reference line. - /// [m] - /// - public double SectionEnd { get; } - - /// - /// Gets the combined assembly result. - /// - public FailureMechanismSectionAssemblyCategoryGroup CombinedResult { get; } - - /// /// Gets the assembly results per failure mechanism. /// public IEnumerable FailureMechanismResults { get; } Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/CombinedFailureMechanismSectionAssemblyCreator.cs =================================================================== diff -u -r6d88e6a0ed8c51eaf54bc6facfd1b0a9a6d1aafe -r6b7fc9d682090343904b25d6c3ecb10b0166decf --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/CombinedFailureMechanismSectionAssemblyCreator.cs (.../CombinedFailureMechanismSectionAssemblyCreator.cs) (revision 6d88e6a0ed8c51eaf54bc6facfd1b0a9a6d1aafe) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/CombinedFailureMechanismSectionAssemblyCreator.cs (.../CombinedFailureMechanismSectionAssemblyCreator.cs) (revision 6b7fc9d682090343904b25d6c3ecb10b0166decf) @@ -54,8 +54,7 @@ { FmSectionWithDirectCategory section = result.CombinedSectionResult.ElementAt(i); sectionAssemblies.Add(new CombinedFailureMechanismSectionAssembly( - section.SectionStart, section.SectionEnd, - FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(section.Category), + CreateSection(section), result.ResultPerFailureMechanism .Select(failureMechanismSectionList => (FmSectionWithDirectCategory) failureMechanismSectionList.Results.ElementAt(i)) @@ -66,5 +65,12 @@ return sectionAssemblies; } + + private static CombinedAssemblyFailureMechanismSection CreateSection(FmSectionWithDirectCategory section) + { + return new CombinedAssemblyFailureMechanismSection( + section.SectionStart, section.SectionEnd, + FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(section.Category)); + } } } \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.Data.Test/CombinedFailureMechanismSectionAssemblyTest.cs =================================================================== diff -u -r9537a33b0502e46af43b6e1372b87984fe7f2a88 -r6b7fc9d682090343904b25d6c3ecb10b0166decf --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.Data.Test/CombinedFailureMechanismSectionAssemblyTest.cs (.../CombinedFailureMechanismSectionAssemblyTest.cs) (revision 9537a33b0502e46af43b6e1372b87984fe7f2a88) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.Data.Test/CombinedFailureMechanismSectionAssemblyTest.cs (.../CombinedFailureMechanismSectionAssemblyTest.cs) (revision 6b7fc9d682090343904b25d6c3ecb10b0166decf) @@ -31,15 +31,26 @@ public class CombinedFailureMechanismSectionAssemblyTest { [Test] + public void Constructor_SectionNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new CombinedFailureMechanismSectionAssembly(null, Enumerable.Empty()); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("section", exception.ParamName); + } + + [Test] public void Constructor_FailureMechanismResultsNull_ThrowsArgumentNullException() { // Setup var random = new Random(21); + var section = new CombinedAssemblyFailureMechanismSection(random.NextDouble(), random.NextDouble(), + random.NextEnumValue()); // Call - TestDelegate call = () => new CombinedFailureMechanismSectionAssembly(random.NextDouble(), random.NextDouble(), - random.NextEnumValue(), - null); + TestDelegate call = () => new CombinedFailureMechanismSectionAssembly(section, null); // Assert var exception = Assert.Throws(call); @@ -51,18 +62,15 @@ { // Setup var random = new Random(21); - double sectionStart = random.NextDouble(); - double sectionEnd = random.NextDouble(); - var combinedResult = random.NextEnumValue(); + var section = new CombinedAssemblyFailureMechanismSection(random.NextDouble(), random.NextDouble(), + random.NextEnumValue()); IEnumerable failureMechanismResults = Enumerable.Empty(); // Call - var assembly = new CombinedFailureMechanismSectionAssembly(sectionStart, sectionEnd, combinedResult, failureMechanismResults); + var assembly = new CombinedFailureMechanismSectionAssembly(section, failureMechanismResults); // Assert - Assert.AreEqual(sectionStart, assembly.SectionStart); - Assert.AreEqual(sectionEnd, assembly.SectionEnd); - Assert.AreEqual(combinedResult, assembly.CombinedResult); + Assert.AreSame(section, assembly.Section); Assert.AreSame(failureMechanismResults, assembly.FailureMechanismResults); } } Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/CombinedFailureMechanismSectionAssemblyCreatorTest.cs =================================================================== diff -u -r6d88e6a0ed8c51eaf54bc6facfd1b0a9a6d1aafe -r6b7fc9d682090343904b25d6c3ecb10b0166decf --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/CombinedFailureMechanismSectionAssemblyCreatorTest.cs (.../CombinedFailureMechanismSectionAssemblyCreatorTest.cs) (revision 6d88e6a0ed8c51eaf54bc6facfd1b0a9a6d1aafe) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/CombinedFailureMechanismSectionAssemblyCreatorTest.cs (.../CombinedFailureMechanismSectionAssemblyCreatorTest.cs) (revision 6b7fc9d682090343904b25d6c3ecb10b0166decf) @@ -92,9 +92,9 @@ Assert.AreEqual(3, results.Length); for (var i = 0; i < results.Length; i++) { - Assert.AreEqual(sections[i].Item1, results[i].SectionStart); - Assert.AreEqual(sections[i].Item2, results[i].SectionEnd); - Assert.AreEqual(GetResultGroup(combinedResults[i].Category), results[i].CombinedResult); + Assert.AreEqual(sections[i].Item1, results[i].Section.SectionStart); + Assert.AreEqual(sections[i].Item2, results[i].Section.SectionEnd); + Assert.AreEqual(GetResultGroup(combinedResults[i].Category), results[i].Section.CategoryGroup); Assert.AreEqual(failureMechanismResults.Length, results[i].FailureMechanismResults.Count()); for (var j = 0; j < failureMechanismResults.Length; j++) Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStubTest.cs =================================================================== diff -u -rb3a784920b0a48ad0504049e4e9f6f663082b616 -r6b7fc9d682090343904b25d6c3ecb10b0166decf --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStubTest.cs (.../AssessmentSectionAssemblyCalculatorStubTest.cs) (revision b3a784920b0a48ad0504049e4e9f6f663082b616) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStubTest.cs (.../AssessmentSectionAssemblyCalculatorStubTest.cs) (revision 6b7fc9d682090343904b25d6c3ecb10b0166decf) @@ -279,14 +279,16 @@ // Assert var expectedOutput = new[] { - new CombinedFailureMechanismSectionAssembly(0, 1, FailureMechanismSectionAssemblyCategoryGroup.IIIv, new[] - { - FailureMechanismSectionAssemblyCategoryGroup.VIv - }), + new CombinedFailureMechanismSectionAssembly( + new CombinedAssemblyFailureMechanismSection(0, 1, FailureMechanismSectionAssemblyCategoryGroup.IIIv) + , new[] + { + FailureMechanismSectionAssemblyCategoryGroup.VIv + }) }; - Assert.AreEqual(expectedOutput[0].SectionStart, output[0].SectionStart); - Assert.AreEqual(expectedOutput[0].SectionEnd, output[0].SectionEnd); - Assert.AreEqual(expectedOutput[0].CombinedResult, output[0].CombinedResult); + Assert.AreEqual(expectedOutput[0].Section.SectionStart, output[0].Section.SectionStart); + Assert.AreEqual(expectedOutput[0].Section.SectionEnd, output[0].Section.SectionEnd); + Assert.AreEqual(expectedOutput[0].Section.CategoryGroup, output[0].Section.CategoryGroup); CollectionAssert.AreEqual(expectedOutput[0].FailureMechanismResults, output[0].FailureMechanismResults); } @@ -300,7 +302,8 @@ CombinedFailureMechanismSectionAssemblyOutput = new[] { new CombinedFailureMechanismSectionAssembly( - random.NextDouble(), random.NextDouble(), random.NextEnumValue(), + new CombinedAssemblyFailureMechanismSection(random.NextDouble(), random.NextDouble(), + random.NextEnumValue()), new[] { random.NextEnumValue() Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStub.cs =================================================================== diff -u -rb3a784920b0a48ad0504049e4e9f6f663082b616 -r6b7fc9d682090343904b25d6c3ecb10b0166decf --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStub.cs (.../AssessmentSectionAssemblyCalculatorStub.cs) (revision b3a784920b0a48ad0504049e4e9f6f663082b616) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStub.cs (.../AssessmentSectionAssemblyCalculatorStub.cs) (revision 6b7fc9d682090343904b25d6c3ecb10b0166decf) @@ -162,10 +162,12 @@ return CombinedFailureMechanismSectionAssemblyOutput ?? (CombinedFailureMechanismSectionAssemblyOutput = new[] { - new CombinedFailureMechanismSectionAssembly(0, 1, FailureMechanismSectionAssemblyCategoryGroup.IIIv, new[] - { - FailureMechanismSectionAssemblyCategoryGroup.VIv - }), + new CombinedFailureMechanismSectionAssembly( + new CombinedAssemblyFailureMechanismSection(0, 1, FailureMechanismSectionAssemblyCategoryGroup.IIIv), + new[] + { + FailureMechanismSectionAssemblyCategoryGroup.VIv + }) }); } }