Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/AssemblyXmlIdentifiers.cs =================================================================== diff -u -r908ef4dfa4bb09ceacb29d33bdfe5680b6e50372 -r7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/AssemblyXmlIdentifiers.cs (.../AssemblyXmlIdentifiers.cs) (revision 908ef4dfa4bb09ceacb29d33bdfe5680b6e50372) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/AssemblyXmlIdentifiers.cs (.../AssemblyXmlIdentifiers.cs) (revision 7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf) @@ -80,6 +80,11 @@ /// /// Identifier for an assessment section category group element. /// + public const string AssessmentSectionAssemblyResult = "veiligheidsoordeel"; + + /// + /// Identifier for an assessment section category group element. + /// public const string AssessmentSectionCategoryGroup = "categorie"; /// Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableTotalAssemblyResult.cs =================================================================== diff -u -r625cf3d63b43ca2bdd3743c22b4a3df9676047d0 -r7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableTotalAssemblyResult.cs (.../SerializableTotalAssemblyResult.cs) (revision 625cf3d63b43ca2bdd3743c22b4a3df9676047d0) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableTotalAssemblyResult.cs (.../SerializableTotalAssemblyResult.cs) (revision 7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf) @@ -43,11 +43,13 @@ /// The assessment process this result belongs to. /// The assembly result for failure mechanisms with a probability. /// The assembly result for failure mechanisms without a probablilty. + /// The assembly result for the assessment section. /// Thrown when any parameter is null. public SerializableTotalAssemblyResult(string id, SerializableAssessmentProcess assessmentProcess, SerializableFailureMechanismAssemblyResult assemblyResultWithoutProbability, - SerializableFailureMechanismAssemblyResult assemblyResultWithProbability) : this() + SerializableFailureMechanismAssemblyResult assemblyResultWithProbability, + SerializableAssessmentSectionAssemblyResult assessmentSectionAssemblyResult) : this() { if (id == null) { @@ -69,10 +71,16 @@ throw new ArgumentNullException(nameof(assemblyResultWithProbability)); } + if (assessmentSectionAssemblyResult == null) + { + throw new ArgumentNullException(nameof(assessmentSectionAssemblyResult)); + } + Id = id; AssessmentProcessId = assessmentProcess.Id; AssemblyResultWithoutProbability = assemblyResultWithoutProbability; AssemblyResultWithProbability = assemblyResultWithProbability; + AssessmentSectionAssemblyResult = assessmentSectionAssemblyResult; } /// @@ -98,5 +106,11 @@ /// [XmlElement(AssemblyXmlIdentifiers.AssemblyResultWithoutProbability)] public SerializableFailureMechanismAssemblyResult AssemblyResultWithoutProbability { get; set; } + + /// + /// Gets or sets the assessment section assembly result. + /// + [XmlElement(AssemblyXmlIdentifiers.AssessmentSectionAssemblyResult)] + public SerializableAssessmentSectionAssemblyResult AssessmentSectionAssemblyResult { get; set; } } } \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssemblyTest.cs =================================================================== diff -u -r24154e2ef651d5deac25c6caf8f143d0348b29ff -r7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssemblyTest.cs (.../SerializableAssemblyTest.cs) (revision 24154e2ef651d5deac25c6caf8f143d0348b29ff) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssemblyTest.cs (.../SerializableAssemblyTest.cs) (revision 7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf) @@ -205,7 +205,8 @@ "total id", assessmentProcess, new SerializableFailureMechanismAssemblyResult(SerializableAssemblyMethod.WBI2B1, SerializableFailureMechanismCategoryGroup.IIt), - new SerializableFailureMechanismAssemblyResult(SerializableAssemblyMethod.WBI3C1, SerializableFailureMechanismCategoryGroup.NotApplicable, 0.000124)); + new SerializableFailureMechanismAssemblyResult(SerializableAssemblyMethod.WBI3C1, SerializableFailureMechanismCategoryGroup.NotApplicable, 0.000124), + new SerializableAssessmentSectionAssemblyResult(SerializableAssemblyMethod.WBI2C1, SerializableAssessmentSectionCategoryGroup.B)); var failureMechanism1 = new SerializableFailureMechanism("fm1", totalAssemblyResult, Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionAssemblyTest.cs =================================================================== diff -u -r24154e2ef651d5deac25c6caf8f143d0348b29ff -r7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionAssemblyTest.cs (.../SerializableFailureMechanismSectionAssemblyTest.cs) (revision 24154e2ef651d5deac25c6caf8f143d0348b29ff) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionAssemblyTest.cs (.../SerializableFailureMechanismSectionAssemblyTest.cs) (revision 7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf) @@ -152,7 +152,10 @@ new SerializableFailureMechanismSections(), random.NextDouble(), random.NextDouble(), - Enumerable.Empty()); + new [] + { + new Point2D(random.NextDouble(), random.NextDouble()) + }); var sectionResults = new SerializableFailureMechanismSectionAssemblyResult[0]; var combinedSectionResult = new SerializableFailureMechanismSectionAssemblyResult(); Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismTest.cs =================================================================== diff -u -r7deb19aedd02c79cf6ce19e629fec1a6c0ee4e1e -r7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismTest.cs (.../SerializableFailureMechanismTest.cs) (revision 7deb19aedd02c79cf6ce19e629fec1a6c0ee4e1e) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismTest.cs (.../SerializableFailureMechanismTest.cs) (revision 7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf) @@ -133,7 +133,8 @@ new SerializableTotalAssemblyResult(totalResultId, new SerializableAssessmentProcess(), new SerializableFailureMechanismAssemblyResult(), - new SerializableFailureMechanismAssemblyResult()), + new SerializableFailureMechanismAssemblyResult(), + new SerializableAssessmentSectionAssemblyResult()), type, group, assemblyResult); Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableTotalAssemblyResultTest.cs =================================================================== diff -u -r625cf3d63b43ca2bdd3743c22b4a3df9676047d0 -r7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableTotalAssemblyResultTest.cs (.../SerializableTotalAssemblyResultTest.cs) (revision 625cf3d63b43ca2bdd3743c22b4a3df9676047d0) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableTotalAssemblyResultTest.cs (.../SerializableTotalAssemblyResultTest.cs) (revision 7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf) @@ -61,7 +61,8 @@ TestDelegate call = () => new SerializableTotalAssemblyResult(null, new SerializableAssessmentProcess(), new SerializableFailureMechanismAssemblyResult(), - new SerializableFailureMechanismAssemblyResult()); + new SerializableFailureMechanismAssemblyResult(), + new SerializableAssessmentSectionAssemblyResult()); // Assert var exception = Assert.Throws(call); @@ -75,7 +76,8 @@ TestDelegate call = () => new SerializableTotalAssemblyResult("id", null, new SerializableFailureMechanismAssemblyResult(), - new SerializableFailureMechanismAssemblyResult()); + new SerializableFailureMechanismAssemblyResult(), + new SerializableAssessmentSectionAssemblyResult()); // Assert var exception = Assert.Throws(call); @@ -89,7 +91,8 @@ TestDelegate call = () => new SerializableTotalAssemblyResult("id", new SerializableAssessmentProcess(), null, - new SerializableFailureMechanismAssemblyResult()); + new SerializableFailureMechanismAssemblyResult(), + new SerializableAssessmentSectionAssemblyResult()); // Assert var exception = Assert.Throws(call); @@ -103,14 +106,30 @@ TestDelegate call = () => new SerializableTotalAssemblyResult("id", new SerializableAssessmentProcess(), new SerializableFailureMechanismAssemblyResult(), - null); + null, + new SerializableAssessmentSectionAssemblyResult()); // Assert var exception = Assert.Throws(call); Assert.AreEqual("assemblyResultWithProbability", exception.ParamName); } [Test] + public void Constructor_AssessmentSectionAssemblyResultNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new SerializableTotalAssemblyResult("id", + new SerializableAssessmentProcess(), + new SerializableFailureMechanismAssemblyResult(), + new SerializableFailureMechanismAssemblyResult(), + null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("assessmentSectionAssemblyResult", exception.ParamName); + } + + [Test] public void Constructor_WithValidData_ReturnsExpectedValues() { // Setup @@ -123,18 +142,21 @@ random.Next()); var resultWithoutProbability = new SerializableFailureMechanismAssemblyResult(); var resultWithProbability = new SerializableFailureMechanismAssemblyResult(); + var assessmentSectionResult = new SerializableAssessmentSectionAssemblyResult(); // Call var totalAssemblyResult = new SerializableTotalAssemblyResult(id, assessmentProcess, resultWithoutProbability, - resultWithProbability); + resultWithProbability, + assessmentSectionResult); // Assert Assert.AreEqual(id, totalAssemblyResult.Id); Assert.AreEqual(assessmentProcess.Id, totalAssemblyResult.AssessmentProcessId); Assert.AreSame(resultWithoutProbability, totalAssemblyResult.AssemblyResultWithoutProbability); Assert.AreSame(resultWithProbability, totalAssemblyResult.AssemblyResultWithProbability); + Assert.AreSame(assessmentSectionResult, totalAssemblyResult.AssessmentSectionAssemblyResult); } } } \ No newline at end of file