Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Assembly/ExportableFailureMechanism.cs =================================================================== diff -u -rb5b18fd9acc22783510d375631ef3dc61c240074 -rf8eadfce2bae040c32d2924da383d61bf936259c --- Ringtoets/Integration/src/Ringtoets.Integration.IO/Assembly/ExportableFailureMechanism.cs (.../ExportableFailureMechanism.cs) (revision b5b18fd9acc22783510d375631ef3dc61c240074) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Assembly/ExportableFailureMechanism.cs (.../ExportableFailureMechanism.cs) (revision f8eadfce2bae040c32d2924da383d61bf936259c) @@ -7,24 +7,33 @@ /// /// Class that holds all the information to export the assembly results of a failure mechanism. /// + /// The type of . /// The type of . - public class ExportableFailureMechanism + public class ExportableFailureMechanism + where TFailureMechanismAssemblyResult : ExportableFailureMechanismAssemblyResult where TSectionAssemblyResult : ExportableSectionAssemblyResult { /// - /// Creates a new instance of + /// Creates a new instance of /// + /// The assembly result of the failure mechanism. /// The failure mechanism sections belonging to this failure mechanism. /// The assembly results for the failure mechanism sections. /// The code of the failure mechanism. /// The group of the failure mechanism. - /// Thrown when or - /// is null. - public ExportableFailureMechanism(IEnumerable sections, + /// Thrown when , + /// or is null. + public ExportableFailureMechanism(TFailureMechanismAssemblyResult failureMechanismAssembly, + IEnumerable sections, IEnumerable> sectionAssemblyResults, ExportableFailureMechanismType code, ExportableFailureMechanismGroup group) { + if (failureMechanismAssembly == null) + { + throw new ArgumentNullException(nameof(failureMechanismAssembly)); + } + if (sections == null) { throw new ArgumentNullException(nameof(sections)); @@ -35,13 +44,19 @@ throw new ArgumentNullException(nameof(sectionAssemblyResults)); } + FailureMechanismAssembly = failureMechanismAssembly; Sections = sections; SectionAssemblyResults = sectionAssemblyResults; Code = code; Group = group; } /// + /// Gets the assembly result of the failure mechanism. + /// + public TFailureMechanismAssemblyResult FailureMechanismAssembly { get; } + + /// /// Gets the collection of sections. /// public IEnumerable Sections { get; }