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)));
}