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