Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionsTest.cs =================================================================== diff -u -rc37e7aa9fdd38a0476335e056b33c583486ed1af -rc484779318d146c81093706412e60860ee423295 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionsTest.cs (.../SerializableFailureMechanismSectionsTest.cs) (revision c37e7aa9fdd38a0476335e056b33c583486ed1af) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionsTest.cs (.../SerializableFailureMechanismSectionsTest.cs) (revision c484779318d146c81093706412e60860ee423295) @@ -42,15 +42,18 @@ Assert.IsInstanceOf(sections); Assert.IsNull(sections.Id); Assert.IsNull(sections.FailureMechanismId); + Assert.IsNull(sections.TotalAssemblyResultId); SerializableAttributeTestHelper.AssertXmlAttributeAttribute( nameof(SerializableFailureMechanismSections.Id), "VakindelingID"); SerializableAttributeTestHelper.AssertXmlAttributeAttribute( nameof(SerializableFailureMechanismSections.FailureMechanismId), "ToetsspoorIDRef"); + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( + nameof(SerializableFailureMechanismSections.TotalAssemblyResultId), "VeiligheidsoordeelIDRef"); } [Test] - public void Constructor_IdNull_ThrowsArgumentNullException() + public void ConstructorWithFailureMechanism_IdNull_ThrowsArgumentNullException() { // Call TestDelegate call = () => new SerializableFailureMechanismSections(null, @@ -62,19 +65,19 @@ } [Test] - public void Constructor_FailureMechanismNull_ThrowsArgumentNullException() + public void ConstructorWithFailureMechanism_FailureMechanismNull_ThrowsArgumentNullException() { // Call TestDelegate call = () => new SerializableFailureMechanismSections("id", - null); + (SerializableFailureMechanism) null); // Assert var exception = Assert.Throws(call); Assert.AreEqual("failureMechanism", exception.ParamName); } [Test] - public void Constructor_WithValidData_ReturnsExpectedValues() + public void ConstructorWithFailureMechanism_WithValidData_ReturnsExpectedValues() { // Setup const string id = "section id"; @@ -93,6 +96,53 @@ // Assert Assert.AreEqual(id, sections.Id); Assert.AreEqual(failureMechanism.Id, sections.FailureMechanismId); + Assert.IsNull(sections.TotalAssemblyResultId); } + + [Test] + public void ConstructorWithTotalAssemblyResult_IdNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new SerializableFailureMechanismSections(null, + new SerializableTotalAssemblyResult()); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("id", exception.ParamName); + } + + [Test] + public void ConstructorWithTotalAssemblyResult_FailureMechanismNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new SerializableFailureMechanismSections("id", + (SerializableTotalAssemblyResult) null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("totalAssemblyResult", exception.ParamName); + } + + [Test] + public void ConstructorWithTotalAssemblyResult_WithValidData_ReturnsExpectedValues() + { + // Setup + const string id = "section id"; + + var totalAssemblyResult = new SerializableTotalAssemblyResult("result id", + new SerializableAssessmentProcess(), + new SerializableFailureMechanismAssemblyResult(), + new SerializableFailureMechanismAssemblyResult(), + new SerializableAssessmentSectionAssemblyResult()); + + // Call + var sections = new SerializableFailureMechanismSections(id, + totalAssemblyResult); + + // Assert + Assert.AreEqual(id, sections.Id); + Assert.AreEqual(totalAssemblyResult.Id, sections.TotalAssemblyResultId); + Assert.IsNull(sections.FailureMechanismId); + } } } \ No newline at end of file