Index: Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismSectionAssemblyResult.cs
===================================================================
diff -u -r0102f161e02186c2fb3d2990d168d7271c1b1085 -r0e70ef1cfe58df312e2649df77ae41710f9b4817
--- Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismSectionAssemblyResult.cs (.../SerializableFailureMechanismSectionAssemblyResult.cs) (revision 0102f161e02186c2fb3d2990d168d7271c1b1085)
+++ Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismSectionAssemblyResult.cs (.../SerializableFailureMechanismSectionAssemblyResult.cs) (revision 0e70ef1cfe58df312e2649df77ae41710f9b4817)
@@ -80,12 +80,13 @@
///
/// Determines whether should be serialized.
- /// Gets or sets the status of this assembly result.
///
- /// The indicator whether should be serialized.
+ /// false when is null
+ /// or is ;
+ /// true otherwise.
public bool ShouldSerializeProbability()
{
- return Probability.HasValue;
+ return Probability.HasValue && AssemblyGroup != SerializableFailureMechanismSectionAssemblyGroup.NotDominant;
}
}
}
\ No newline at end of file
Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/Model/DataTypes/SerializableFailureMechanismSectionAssemblyResultTest.cs
===================================================================
diff -u -r0102f161e02186c2fb3d2990d168d7271c1b1085 -r0e70ef1cfe58df312e2649df77ae41710f9b4817
--- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/Model/DataTypes/SerializableFailureMechanismSectionAssemblyResultTest.cs (.../SerializableFailureMechanismSectionAssemblyResultTest.cs) (revision 0102f161e02186c2fb3d2990d168d7271c1b1085)
+++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/Model/DataTypes/SerializableFailureMechanismSectionAssemblyResultTest.cs (.../SerializableFailureMechanismSectionAssemblyResultTest.cs) (revision 0e70ef1cfe58df312e2649df77ae41710f9b4817)
@@ -73,9 +73,17 @@
}
[Test]
- [TestCase(0.5)]
- [TestCase(double.NaN)]
- public void ShouldSerializeProbability_WithProbabilityValues_ReturnsTrue(double probability)
+ [Combinatorial]
+ public void ShouldSerializeProbability_WithProbabilityAndAssemblyGroupOtherThanNotDominant_ReturnsTrue(
+ [Values(0.5, double.NaN)] double probability,
+ [Values(SerializableFailureMechanismSectionAssemblyGroup.III,
+ SerializableFailureMechanismSectionAssemblyGroup.II,
+ SerializableFailureMechanismSectionAssemblyGroup.I,
+ SerializableFailureMechanismSectionAssemblyGroup.Zero,
+ SerializableFailureMechanismSectionAssemblyGroup.IMin,
+ SerializableFailureMechanismSectionAssemblyGroup.IIMin,
+ SerializableFailureMechanismSectionAssemblyGroup.IIIMin)]
+ SerializableFailureMechanismSectionAssemblyGroup assemblyGroup)
{
// Setup
var random = new Random(39);
@@ -92,12 +100,29 @@
}
[Test]
- public void ShouldSerializeProbability_WithoutProbabilityValues_ReturnsFalse()
+ public void ShouldSerializeProbability_WithProbabilityAndAssemblyGroupNotDominant_ReturnsFalse()
{
// Setup
var random = new Random(39);
var assemblyResult = new SerializableFailureMechanismSectionAssemblyResult(
random.NextEnumValue(),
+ SerializableFailureMechanismSectionAssemblyGroup.NotDominant,
+ random.NextDouble());
+
+ // Call
+ bool shouldSerialize = assemblyResult.ShouldSerializeProbability();
+
+ // Assert
+ Assert.IsFalse(shouldSerialize);
+ }
+
+ [Test]
+ public void ShouldSerializeProbability_WithoutProbability_ReturnsFalse()
+ {
+ // Setup
+ var random = new Random(39);
+ var assemblyResult = new SerializableFailureMechanismSectionAssemblyResult(
+ random.NextEnumValue(),
random.NextEnumValue());
// Call