Index: Riskeer/Integration/src/Riskeer.Integration.IO/Assembly/ExportableFailureMechanism.cs =================================================================== diff -u -r73991051d9869bec831a714115eb8c635566fd4d -r94da57aae6e9a2199d2bfbb04fa20675f34bff46 --- Riskeer/Integration/src/Riskeer.Integration.IO/Assembly/ExportableFailureMechanism.cs (.../ExportableFailureMechanism.cs) (revision 73991051d9869bec831a714115eb8c635566fd4d) +++ Riskeer/Integration/src/Riskeer.Integration.IO/Assembly/ExportableFailureMechanism.cs (.../ExportableFailureMechanism.cs) (revision 94da57aae6e9a2199d2bfbb04fa20675f34bff46) @@ -34,12 +34,13 @@ /// /// The assembly result of the failure mechanism. /// The assembly results for the failure mechanism sections. + /// The type of the failure mechanism. /// The code of the failure mechanism. /// Thrown when , /// or is null. public ExportableFailureMechanism(ExportableFailureMechanismAssemblyResult failureMechanismAssembly, IEnumerable sectionAssemblyResults, - string code) + ExportableFailureMechanismType failureMechanismType, string code) { if (failureMechanismAssembly == null) { @@ -53,6 +54,7 @@ FailureMechanismAssembly = failureMechanismAssembly; SectionAssemblyResults = sectionAssemblyResults; + FailureMechanismType = failureMechanismType; Code = code; } @@ -67,6 +69,11 @@ public IEnumerable SectionAssemblyResults { get; } /// + /// Gets the type of the failure mechanism. + /// + public ExportableFailureMechanismType FailureMechanismType { get; } + + /// /// Gets the code of the failure mechanism. /// public string Code { get; } Index: Riskeer/Integration/src/Riskeer.Integration.IO/Creators/SerializableFailureMechanismCreator.cs =================================================================== diff -u -rcee2db52a72ec34d52c88a4ba6e199153e9e1252 -r94da57aae6e9a2199d2bfbb04fa20675f34bff46 --- Riskeer/Integration/src/Riskeer.Integration.IO/Creators/SerializableFailureMechanismCreator.cs (.../SerializableFailureMechanismCreator.cs) (revision cee2db52a72ec34d52c88a4ba6e199153e9e1252) +++ Riskeer/Integration/src/Riskeer.Integration.IO/Creators/SerializableFailureMechanismCreator.cs (.../SerializableFailureMechanismCreator.cs) (revision 94da57aae6e9a2199d2bfbb04fa20675f34bff46) @@ -65,7 +65,7 @@ } return new SerializableFailureMechanism(idGenerator.GetNewId(Resources.SerializableFailureMechanismCreator_IdPrefix), - SerializableFailureMechanismTypeCreator.Create(failureMechanism.Type), + SerializableFailureMechanismTypeCreator.Create(failureMechanism.FailureMechanismType), failureMechanism.Code, serializableTotalAssembly, SerializableFailureMechanismResultCreator.Create(failureMechanism.FailureMechanismAssembly)); } Index: Riskeer/Integration/src/Riskeer.Integration.IO/Factories/ExportableFailureMechanismFactory.cs =================================================================== diff -u -r2077c21eebd3514bbc3f49f2cf9039100760f966 -r94da57aae6e9a2199d2bfbb04fa20675f34bff46 --- Riskeer/Integration/src/Riskeer.Integration.IO/Factories/ExportableFailureMechanismFactory.cs (.../ExportableFailureMechanismFactory.cs) (revision 2077c21eebd3514bbc3f49f2cf9039100760f966) +++ Riskeer/Integration/src/Riskeer.Integration.IO/Factories/ExportableFailureMechanismFactory.cs (.../ExportableFailureMechanismFactory.cs) (revision 94da57aae6e9a2199d2bfbb04fa20675f34bff46) @@ -87,7 +87,7 @@ failureMechanism.AssemblyResult.IsManualProbability()), CreateExportableFailureMechanismSectionResults( failureMechanism, assessmentSection, assembleFailureMechanismSectionFunc), - failureMechanism.Code); + ExportableFailureMechanismType.Generic, failureMechanism.Code); } /// Index: Riskeer/Integration/test/Riskeer.Integration.IO.Test/Assembly/ExportableFailureMechanismTest.cs =================================================================== diff -u -r73991051d9869bec831a714115eb8c635566fd4d -r94da57aae6e9a2199d2bfbb04fa20675f34bff46 --- Riskeer/Integration/test/Riskeer.Integration.IO.Test/Assembly/ExportableFailureMechanismTest.cs (.../ExportableFailureMechanismTest.cs) (revision 73991051d9869bec831a714115eb8c635566fd4d) +++ Riskeer/Integration/test/Riskeer.Integration.IO.Test/Assembly/ExportableFailureMechanismTest.cs (.../ExportableFailureMechanismTest.cs) (revision 94da57aae6e9a2199d2bfbb04fa20675f34bff46) @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Core.Common.TestUtil; using NUnit.Framework; using Riskeer.Integration.IO.Assembly; using Riskeer.Integration.IO.TestUtil; @@ -34,10 +35,13 @@ [Test] public void Constructor_FailureMechanismAssemblyResultNull_ThrowsArgumentNullException() { + // Setup + var random = new Random(21); + // Call void Call() => new ExportableFailureMechanism( null, Enumerable.Empty(), - string.Empty); + random.NextEnumValue(), string.Empty); // Assert var exception = Assert.Throws(Call); @@ -47,10 +51,13 @@ [Test] public void Constructor_SectionAssemblyResultsNull_ThrowsArgumentNullException() { + // Setup + var random = new Random(21); + // Call void Call() => new ExportableFailureMechanism( ExportableFailureMechanismAssemblyResultTestFactory.CreateResult(), - null, string.Empty); + null, random.NextEnumValue(), string.Empty); // Assert var exception = Assert.Throws(Call); @@ -61,19 +68,23 @@ public void Constructor_ExpectedValues() { // Setup + var random = new Random(21); + ExportableFailureMechanismAssemblyResult failureMechanismAssembly = ExportableFailureMechanismAssemblyResultTestFactory.CreateResult(); IEnumerable sectionAssemblyResults = Enumerable.Empty(); + var failureMechanismType = random.NextEnumValue(); const string code = "code"; // Call var failureMechanism = new ExportableFailureMechanism( - failureMechanismAssembly, sectionAssemblyResults, code); + failureMechanismAssembly, sectionAssemblyResults, failureMechanismType, code); // Assert Assert.AreSame(failureMechanismAssembly, failureMechanism.FailureMechanismAssembly); Assert.AreSame(sectionAssemblyResults, failureMechanism.SectionAssemblyResults); + Assert.AreSame(failureMechanismType, failureMechanism.FailureMechanismType); Assert.AreEqual(code, failureMechanism.Code); } } Index: Riskeer/Integration/test/Riskeer.Integration.IO.Test/Creators/AggregatedSerializableFailureMechanismCreatorTest.cs =================================================================== diff -u -r73991051d9869bec831a714115eb8c635566fd4d -r94da57aae6e9a2199d2bfbb04fa20675f34bff46 --- Riskeer/Integration/test/Riskeer.Integration.IO.Test/Creators/AggregatedSerializableFailureMechanismCreatorTest.cs (.../AggregatedSerializableFailureMechanismCreatorTest.cs) (revision 73991051d9869bec831a714115eb8c635566fd4d) +++ Riskeer/Integration/test/Riskeer.Integration.IO.Test/Creators/AggregatedSerializableFailureMechanismCreatorTest.cs (.../AggregatedSerializableFailureMechanismCreatorTest.cs) (revision 94da57aae6e9a2199d2bfbb04fa20675f34bff46) @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Core.Common.TestUtil; using NUnit.Framework; using Riskeer.AssemblyTool.IO.Model; using Riskeer.AssemblyTool.IO.Model.DataTypes; @@ -39,12 +40,16 @@ [Test] public void Create_IdGeneratorNull_ThrowsArgumentNullException() { + // Setup + var random = new Random(21); + // Call void Call() => AggregatedSerializableFailureMechanismCreator.Create( null, new SerializableTotalAssemblyResult(), new ExportableFailureMechanism( ExportableFailureMechanismAssemblyResultTestFactory.CreateResult(), Enumerable.Empty(), + random.NextEnumValue(), string.Empty)); // Assert @@ -55,12 +60,16 @@ [Test] public void Create_TotalAssemblyResultNull_ThrowsArgumentNullException() { + // Setup + var random = new Random(21); + // Call void Call() => AggregatedSerializableFailureMechanismCreator.Create( new IdentifierGenerator(), null, new ExportableFailureMechanism( ExportableFailureMechanismAssemblyResultTestFactory.CreateResult(), Enumerable.Empty(), + random.NextEnumValue(), string.Empty)); // Assert @@ -94,6 +103,7 @@ ExportableFailureMechanismSectionAssemblyResultTestFactory.CreateWithProbability( ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(random.Next()), random.Next()) }, + random.NextEnumValue(), "code"); var idGenerator = new IdentifierGenerator(); @@ -109,6 +119,8 @@ SerializableFailureMechanism serializableFailureMechanism = aggregatedFailureMechanism.FailureMechanism; Assert.AreEqual("Fm.0", serializableFailureMechanism.Id); Assert.AreEqual(serializableTotalAssembly.Id, serializableFailureMechanism.TotalAssemblyResultId); + Assert.AreEqual(SerializableFailureMechanismTypeCreator.Create(failureMechanism.FailureMechanismType), + serializableFailureMechanism.FailureMechanismType); Assert.AreEqual(failureMechanism.Code, serializableFailureMechanism.GenericFailureMechanismCode); SerializableFailureMechanismAssemblyResultTestHelper.AssertSerializableFailureMechanismAssemblyResult(failureMechanism.FailureMechanismAssembly, Index: Riskeer/Integration/test/Riskeer.Integration.IO.Test/Creators/SerializableAssemblyCreatorTest.cs =================================================================== diff -u -r73991051d9869bec831a714115eb8c635566fd4d -r94da57aae6e9a2199d2bfbb04fa20675f34bff46 --- Riskeer/Integration/test/Riskeer.Integration.IO.Test/Creators/SerializableAssemblyCreatorTest.cs (.../SerializableAssemblyCreatorTest.cs) (revision 73991051d9869bec831a714115eb8c635566fd4d) +++ Riskeer/Integration/test/Riskeer.Integration.IO.Test/Creators/SerializableAssemblyCreatorTest.cs (.../SerializableAssemblyCreatorTest.cs) (revision 94da57aae6e9a2199d2bfbb04fa20675f34bff46) @@ -161,6 +161,7 @@ { ExportableFailureMechanismSectionAssemblyResultTestFactory.CreateWithProbability(failureMechanismSection, random.Next()) }, + random.NextEnumValue(), "code"); } Index: Riskeer/Integration/test/Riskeer.Integration.IO.Test/Creators/SerializableFailureMechanismCreatorTest.cs =================================================================== diff -u -r73991051d9869bec831a714115eb8c635566fd4d -r94da57aae6e9a2199d2bfbb04fa20675f34bff46 --- Riskeer/Integration/test/Riskeer.Integration.IO.Test/Creators/SerializableFailureMechanismCreatorTest.cs (.../SerializableFailureMechanismCreatorTest.cs) (revision 73991051d9869bec831a714115eb8c635566fd4d) +++ Riskeer/Integration/test/Riskeer.Integration.IO.Test/Creators/SerializableFailureMechanismCreatorTest.cs (.../SerializableFailureMechanismCreatorTest.cs) (revision 94da57aae6e9a2199d2bfbb04fa20675f34bff46) @@ -21,6 +21,7 @@ using System; using System.Linq; +using Core.Common.TestUtil; using NUnit.Framework; using Riskeer.AssemblyTool.IO.Model; using Riskeer.AssemblyTool.IO.Model.DataTypes; @@ -85,6 +86,8 @@ // Assert Assert.AreEqual("Fm.0", serializableFailureMechanism.Id); Assert.AreEqual(serializableTotalAssembly.Id, serializableFailureMechanism.TotalAssemblyResultId); + Assert.AreEqual(SerializableFailureMechanismTypeCreator.Create(failureMechanism.FailureMechanismType), + serializableFailureMechanism.FailureMechanismType); Assert.AreEqual(failureMechanism.Code, serializableFailureMechanism.GenericFailureMechanismCode); SerializableFailureMechanismAssemblyResultTestHelper.AssertSerializableFailureMechanismAssemblyResult(failureMechanism.FailureMechanismAssembly, @@ -93,9 +96,11 @@ private static ExportableFailureMechanism CreateExportableFailureMechanism() { + var random = new Random(21); return new ExportableFailureMechanism( ExportableFailureMechanismAssemblyResultTestFactory.CreateResult(), Enumerable.Empty(), + random.NextEnumValue(), "code"); } Index: Riskeer/Integration/test/Riskeer.Integration.IO.Test/Factories/ExportableFailureMechanismFactoryTest.cs =================================================================== diff -u -r2077c21eebd3514bbc3f49f2cf9039100760f966 -r94da57aae6e9a2199d2bfbb04fa20675f34bff46 --- Riskeer/Integration/test/Riskeer.Integration.IO.Test/Factories/ExportableFailureMechanismFactoryTest.cs (.../ExportableFailureMechanismFactoryTest.cs) (revision 2077c21eebd3514bbc3f49f2cf9039100760f966) +++ Riskeer/Integration/test/Riskeer.Integration.IO.Test/Factories/ExportableFailureMechanismFactoryTest.cs (.../ExportableFailureMechanismFactoryTest.cs) (revision 94da57aae6e9a2199d2bfbb04fa20675f34bff46) @@ -124,6 +124,7 @@ (sr, fm, section) => expectedSectionOutput); // Assert + Assert.AreEqual(ExportableFailureMechanismType.Generic, exportableFailureMechanism.FailureMechanismType); Assert.AreEqual(failureMechanism.Code, exportableFailureMechanism.Code); ExportableFailureMechanismAssemblyResult exportableFailureMechanismAssembly = exportableFailureMechanism.FailureMechanismAssembly;