Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableAssemblyCreator.cs =================================================================== diff -u -r4ede00269270c32ba5a3cedfea38adfedb56f87e -rb9258119a7e00cd9d55f06eee1013ce0d0ce0b73 --- Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableAssemblyCreator.cs (.../SerializableAssemblyCreator.cs) (revision 4ede00269270c32ba5a3cedfea38adfedb56f87e) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableAssemblyCreator.cs (.../SerializableAssemblyCreator.cs) (revision b9258119a7e00cd9d55f06eee1013ce0d0ce0b73) @@ -74,6 +74,10 @@ serializableFailureMechanisms.AddRange(aggregatedFailureMechanismsWithProbability.Select(afm => afm.FailureMechanism)); serializableFailureMechanisms.AddRange(aggregatedFailureMechanismsWithoutProbability.Select(afm => afm.FailureMechanism)); + var serializableFailureMechanismSectionCollection = new List(); + serializableFailureMechanismSectionCollection.AddRange(aggregatedFailureMechanismsWithProbability.Select(afm => afm.FailureMechanismSectionCollection)); + serializableFailureMechanismSectionCollection.AddRange(aggregatedFailureMechanismsWithoutProbability.Select(afm => afm.FailureMechanismSectionCollection)); + return new SerializableAssembly(serializableAssemblyId, GetLowerCorner(assessmentSection.Geometry), GetUpperCorner(assessmentSection.Geometry), @@ -83,7 +87,7 @@ serializableFailureMechanisms, Enumerable.Empty(), Enumerable.Empty(), - Enumerable.Empty(), + serializableFailureMechanismSectionCollection, Enumerable.Empty()); } Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Creators/SerializableAssemblyCreatorTest.cs =================================================================== diff -u -r4ede00269270c32ba5a3cedfea38adfedb56f87e -rb9258119a7e00cd9d55f06eee1013ce0d0ce0b73 --- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Creators/SerializableAssemblyCreatorTest.cs (.../SerializableAssemblyCreatorTest.cs) (revision 4ede00269270c32ba5a3cedfea38adfedb56f87e) +++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Creators/SerializableAssemblyCreatorTest.cs (.../SerializableAssemblyCreatorTest.cs) (revision b9258119a7e00cd9d55f06eee1013ce0d0ce0b73) @@ -94,7 +94,7 @@ // Assert Assert.AreEqual("Assemblage.0", serializableAssembly.Id); AssertSerializableBoundary(exportableAssessmentSection.Geometry, serializableAssembly.Boundary); - Assert.AreEqual(7, serializableAssembly.FeatureMembers.Length); + Assert.AreEqual(11, serializableAssembly.FeatureMembers.Length); var serializableAssessmentSection = (SerializableAssessmentSection) serializableAssembly.FeatureMembers[0]; AssertSerializableAssessmentSection($"Wks.{assessmentSectionId}", assessmentSectionName, geometry, serializableAssessmentSection); @@ -108,18 +108,37 @@ serializableAssessmentProcess, serializableTotalAssemblyResult); + var failureMechanismWithProbability1 = (SerializableFailureMechanism) serializableAssembly.FeatureMembers[3]; AssertSerializableFailureMechanism("Ts.3", - serializableTotalAssemblyResult, - (SerializableFailureMechanism)serializableAssembly.FeatureMembers[3]); + serializableTotalAssemblyResult, + failureMechanismWithProbability1); + AssertSerializableFailureMechanismSectionCollection("Vi.4", + failureMechanismWithProbability1, + (SerializableFailureMechanismSectionCollection) serializableAssembly.FeatureMembers[7]); + + var failureMechanismWithProbability2 = (SerializableFailureMechanism) serializableAssembly.FeatureMembers[4]; AssertSerializableFailureMechanism("Ts.7", serializableTotalAssemblyResult, - (SerializableFailureMechanism)serializableAssembly.FeatureMembers[4]); + failureMechanismWithProbability2); + AssertSerializableFailureMechanismSectionCollection("Vi.8", + failureMechanismWithProbability2, + (SerializableFailureMechanismSectionCollection)serializableAssembly.FeatureMembers[8]); + + var failureMechanismWithoutProbability1 = (SerializableFailureMechanism) serializableAssembly.FeatureMembers[5]; AssertSerializableFailureMechanism("Ts.11", serializableTotalAssemblyResult, - (SerializableFailureMechanism)serializableAssembly.FeatureMembers[5]); + failureMechanismWithoutProbability1); + AssertSerializableFailureMechanismSectionCollection("Vi.12", + failureMechanismWithoutProbability1, + (SerializableFailureMechanismSectionCollection)serializableAssembly.FeatureMembers[9]); + + var failureMechanismWithoutProbability2 = (SerializableFailureMechanism) serializableAssembly.FeatureMembers[6]; AssertSerializableFailureMechanism("Ts.15", serializableTotalAssemblyResult, - (SerializableFailureMechanism)serializableAssembly.FeatureMembers[6]); + failureMechanismWithoutProbability2); + AssertSerializableFailureMechanismSectionCollection("Vi.16", + failureMechanismWithoutProbability2, + (SerializableFailureMechanismSectionCollection)serializableAssembly.FeatureMembers[10]); } private static IEnumerable CreateGeometry() @@ -270,5 +289,14 @@ Assert.AreEqual(expectedSerializableTotalAssembly.Id, serializableFailureMechanism.TotalAssemblyResultId); Assert.AreEqual(expectedId, serializableFailureMechanism.Id); } + + private static void AssertSerializableFailureMechanismSectionCollection(string expectedId, + SerializableFailureMechanism expectedSerializableFailureMechanism, + SerializableFailureMechanismSectionCollection serializableFailureMechanismSectionCollection) + { + Assert.AreEqual(expectedSerializableFailureMechanism.Id, serializableFailureMechanismSectionCollection.FailureMechanismId); + Assert.IsNull(serializableFailureMechanismSectionCollection.TotalAssemblyResultId); + Assert.AreEqual(expectedId, serializableFailureMechanismSectionCollection.Id); + } } } \ No newline at end of file