Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.TestUtil/ExportableFailureMechanismSectionAssemblyResultTestHelper.cs =================================================================== diff -u -r191163e5ea9e3725076cd87d69225f6420bd2aad -rd45c4d685f147e9ef02db77b8085ce59edf92d08 --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.TestUtil/ExportableFailureMechanismSectionAssemblyResultTestHelper.cs (.../ExportableFailureMechanismSectionAssemblyResultTestHelper.cs) (revision 191163e5ea9e3725076cd87d69225f6420bd2aad) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.TestUtil/ExportableFailureMechanismSectionAssemblyResultTestHelper.cs (.../ExportableFailureMechanismSectionAssemblyResultTestHelper.cs) (revision d45c4d685f147e9ef02db77b8085ce59edf92d08) @@ -45,6 +45,7 @@ /// The number of and number of do not match. /// The values between and /// do not match. + /// The id does not contain the expected value. /// public static void AssertExportableFailureMechanismSectionResults(FailureMechanismSectionAssemblyResultWrapper expectedAssemblyResultWrapper, IEnumerable sections, @@ -58,6 +59,7 @@ ExportableFailureMechanismSection section = sections.ElementAt(i); ExportableFailureMechanismSectionAssemblyResult actualExportableAssemblyResult = results.ElementAt(i); + Assert.AreEqual($"Fa.{i}", actualExportableAssemblyResult.Id); Assert.AreSame(section, actualExportableAssemblyResult.FailureMechanismSection); FailureMechanismSectionAssemblyResult expectedAssemblyResult = expectedAssemblyResultWrapper.AssemblyResult; Assert.AreEqual(expectedAssemblyResult.FailureMechanismSectionAssemblyGroup, actualExportableAssemblyResult.AssemblyGroup); Index: Riskeer/Integration/src/Riskeer.Integration.IO/Factories/ExportableFailureMechanismFactory.cs =================================================================== diff -u -r191163e5ea9e3725076cd87d69225f6420bd2aad -rd45c4d685f147e9ef02db77b8085ce59edf92d08 --- Riskeer/Integration/src/Riskeer.Integration.IO/Factories/ExportableFailureMechanismFactory.cs (.../ExportableFailureMechanismFactory.cs) (revision 191163e5ea9e3725076cd87d69225f6420bd2aad) +++ Riskeer/Integration/src/Riskeer.Integration.IO/Factories/ExportableFailureMechanismFactory.cs (.../ExportableFailureMechanismFactory.cs) (revision d45c4d685f147e9ef02db77b8085ce59edf92d08) @@ -92,8 +92,7 @@ new ExportableFailureMechanismAssemblyResult( assemblyResultWrapper.AssemblyResult, ExportableAssemblyMethodFactory.Create(assemblyResultWrapper.AssemblyMethod)), - CreateExportableFailureMechanismSectionResults( - failureMechanism, assessmentSection, assembleFailureMechanismSectionFunc), + CreateExportableFailureMechanismSectionResults(idGenerator, failureMechanism, assessmentSection, assembleFailureMechanismSectionFunc), failureMechanism.Code); } @@ -148,15 +147,15 @@ new ExportableFailureMechanismAssemblyResult( assemblyResultWrapper.AssemblyResult, ExportableAssemblyMethodFactory.Create(assemblyResultWrapper.AssemblyMethod)), - CreateExportableFailureMechanismSectionResults( - failureMechanism, assessmentSection, assembleFailureMechanismSectionFunc), + CreateExportableFailureMechanismSectionResults(idGenerator, failureMechanism, assessmentSection, assembleFailureMechanismSectionFunc), failureMechanism.Name); } /// /// Creates a collection of /// with assembly results based on . /// + /// The generator to generate ids for the exportable components. /// The failure mechanism to create a collection of /// for. /// The to use in the assembly. @@ -167,9 +166,8 @@ /// A collection of . /// Thrown when assembly results cannot be created. private static IEnumerable CreateExportableFailureMechanismSectionResults - ( - TFailureMechanism failureMechanism, IAssessmentSection assessmentSection, - Func assembleFailureMechanismSectionFunc) + (IdentifierGenerator idGenerator, TFailureMechanism failureMechanism, IAssessmentSection assessmentSection, + Func assembleFailureMechanismSectionFunc) where TFailureMechanism : IFailureMechanism where TSectionResult : FailureMechanismSectionResult { @@ -185,7 +183,7 @@ exportableResults.Add( new ExportableFailureMechanismSectionAssemblyResult( - "id", failureMechanismSectionPair.Value, assemblyResult.SectionProbability, assemblyResult.FailureMechanismSectionAssemblyGroup, + idGenerator.GetNewId("Fa"), failureMechanismSectionPair.Value, assemblyResult.SectionProbability, assemblyResult.FailureMechanismSectionAssemblyGroup, ExportableAssemblyMethodFactory.Create(assemblyResultWrapper.AssemblyGroupMethod), ExportableAssemblyMethodFactory.Create(assemblyResultWrapper.ProbabilityMethod))); }