Index: Riskeer/Common/src/Riskeer.Common.Data/FailurePath/FailurePathAssemblyResult.cs
===================================================================
diff -u -r201bafea43b47457fe3c571604a492e2b1da39e6 -rb32307a144c2b5dd2d795596c3e7dd53961787db
--- Riskeer/Common/src/Riskeer.Common.Data/FailurePath/FailurePathAssemblyResult.cs (.../FailurePathAssemblyResult.cs) (revision 201bafea43b47457fe3c571604a492e2b1da39e6)
+++ Riskeer/Common/src/Riskeer.Common.Data/FailurePath/FailurePathAssemblyResult.cs (.../FailurePathAssemblyResult.cs) (revision b32307a144c2b5dd2d795596c3e7dd53961787db)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using Core.Common.Base;
using Riskeer.Common.Data.Probability;
using RiskeerCommonDataResources = Riskeer.Common.Data.Properties.Resources;
@@ -28,7 +29,7 @@
///
/// Class containing the assembly result of an entire failure path.
///
- public class FailurePathAssemblyResult
+ public class FailurePathAssemblyResult : Observable
{
private double manualFailurePathAssemblyProbability;
Index: Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.cs
===================================================================
diff -u -rfa2555e568efcf9d88e7141367dbcfb4983a8cae -rb32307a144c2b5dd2d795596c3e7dd53961787db
--- Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision fa2555e568efcf9d88e7141367dbcfb4983a8cae)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision b32307a144c2b5dd2d795596c3e7dd53961787db)
@@ -120,7 +120,9 @@
{
if (IsManualAssembly())
{
- FailureMechanism.AssemblyResult.ManualFailurePathAssemblyProbability = value;
+ FailurePathAssemblyResult assemblyResult = FailureMechanism.AssemblyResult;
+ assemblyResult.ManualFailurePathAssemblyProbability = value;
+ assemblyResult.NotifyObservers();
}
failurePathAssemblyProbability = value;
@@ -322,7 +324,9 @@
return;
}
- FailureMechanism.AssemblyResult.ProbabilityResultType = (FailurePathAssemblyProbabilityResultType) probabilityResultTypeComboBox.SelectedValue;
+ FailurePathAssemblyResult assemblyResult = FailureMechanism.AssemblyResult;
+ assemblyResult.ProbabilityResultType = (FailurePathAssemblyProbabilityResultType) probabilityResultTypeComboBox.SelectedValue;
+ assemblyResult.NotifyObservers();
UpdateAssemblyData();
UpdateFailurePathAssemblyControls();
Index: Riskeer/Common/test/Riskeer.Common.Data.Test/FailurePath/FailurePathAssemblyResultTest.cs
===================================================================
diff -u -rf021c1bffb41b07a8f60f9d96dcf2a08f9fc03cf -rb32307a144c2b5dd2d795596c3e7dd53961787db
--- Riskeer/Common/test/Riskeer.Common.Data.Test/FailurePath/FailurePathAssemblyResultTest.cs (.../FailurePathAssemblyResultTest.cs) (revision f021c1bffb41b07a8f60f9d96dcf2a08f9fc03cf)
+++ Riskeer/Common/test/Riskeer.Common.Data.Test/FailurePath/FailurePathAssemblyResultTest.cs (.../FailurePathAssemblyResultTest.cs) (revision b32307a144c2b5dd2d795596c3e7dd53961787db)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using Core.Common.Base;
using Core.Common.TestUtil;
using NUnit.Framework;
using Riskeer.Common.Data.FailurePath;
@@ -36,6 +37,8 @@
var result = new FailurePathAssemblyResult();
// Assert
+ Assert.IsInstanceOf(result);
+
Assert.AreEqual(FailurePathAssemblyProbabilityResultType.Automatic, result.ProbabilityResultType);
Assert.IsNaN(result.ManualFailurePathAssemblyProbability);
}
Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs
===================================================================
diff -u -rfa2555e568efcf9d88e7141367dbcfb4983a8cae -rb32307a144c2b5dd2d795596c3e7dd53961787db
--- Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision fa2555e568efcf9d88e7141367dbcfb4983a8cae)
+++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision b32307a144c2b5dd2d795596c3e7dd53961787db)
@@ -804,7 +804,8 @@
// Given
var mocks = new MockRepository();
var observer = mocks.StrictMock();
- observer.Expect(o => o.UpdateObserver());
+ observer.Expect(o => o.UpdateObserver())
+ .Repeat.Twice();
mocks.ReplayAll();
var failureMechanism = new TestFailureMechanism
@@ -814,7 +815,7 @@
ProbabilityResultType = FailurePathAssemblyProbabilityResultType.Automatic
}
};
- failureMechanism.Attach(observer);
+ failureMechanism.AssemblyResult.Attach(observer);
using (new AssemblyToolCalculatorFactoryConfig())
using (ShowFailureMechanismResultsView(failureMechanism, failureMechanism.SectionResults))
@@ -908,7 +909,8 @@
var mocks = new MockRepository();
var observer = mocks.StrictMock();
- observer.Expect(o => o.UpdateObserver());
+ observer.Expect(o => o.UpdateObserver())
+ .Repeat.Twice();
mocks.ReplayAll();
var failureMechanism = new TestFailureMechanism
@@ -919,7 +921,7 @@
ManualFailurePathAssemblyProbability = manualProbability
}
};
- failureMechanism.Attach(observer);
+ failureMechanism.AssemblyResult.Attach(observer);
using (TestFailureMechanismResultView view = ShowFailureMechanismResultsView(failureMechanism, failureMechanism.SectionResults))
{
@@ -967,7 +969,6 @@
ProbabilityResultType = FailurePathAssemblyProbabilityResultType.Manual
}
};
- failureMechanism.Attach(observer);
using (TestFailureMechanismResultView view = ShowFailureMechanismResultsView(failureMechanism, failureMechanism.SectionResults))
{
@@ -980,6 +981,8 @@
string errorMessage = errorProvider.GetError(failurePathAssemblyProbabilityTextBox);
Assert.IsNotEmpty(errorMessage);
+ failureMechanism.AssemblyResult.Attach(observer);
+
// When
textBoxTester.Enter(validValue);