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;