Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs =================================================================== diff -u -reb4183ef2d861a0d92f73f339f06d356e5dbefd4 -r4b3fc99b19f5081d48166139f78daf6a1909d32d --- Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision eb4183ef2d861a0d92f73f339f06d356e5dbefd4) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision 4b3fc99b19f5081d48166139f78daf6a1909d32d) @@ -1062,6 +1062,52 @@ } } + [Test] + public void GivenFailureMechanismResultTypeManual_WhenInvalidValueEscPressed_ThenSetsFailurePathAssemblyProbabilityToOriginalValue() + { + // Given + var mocks = new MockRepository(); + var observer = mocks.StrictMock(); + mocks.ReplayAll(); + + const double initialValue = 0.1; + const string initialValueText = "1/10"; + var failureMechanism = new TestFailureMechanism + { + AssemblyResult = + { + ProbabilityResultType = FailurePathAssemblyProbabilityResultType.Manual, + ManualFailurePathAssemblyProbability = initialValue + } + }; + + using (ShowFailureMechanismResultsView(failureMechanism, failureMechanism.SectionResults)) + { + var textBoxTester = new ControlTester("failurePathAssemblyProbabilityTextBox"); + const Keys keyData = Keys.Escape; + + TextBox failurePathAssemblyProbabilityTextBox = GetFailurePathAssemblyProbabilityTextBox(); + failurePathAssemblyProbabilityTextBox.TextChanged += (sender, args) => + { + textBoxTester.FireEvent("KeyDown", new KeyEventArgs(keyData)); + }; + + // Precondition + Assert.AreEqual(initialValueText, failurePathAssemblyProbabilityTextBox.Text); + + failureMechanism.AssemblyResult.Attach(observer); + + // When + failurePathAssemblyProbabilityTextBox.Text = "NotAProbability"; + + // Then + Assert.AreEqual(initialValueText, failurePathAssemblyProbabilityTextBox.Text); + Assert.AreEqual(initialValue, failureMechanism.AssemblyResult.ManualFailurePathAssemblyProbability); + } + + mocks.VerifyAll(); + } + #endregion } } \ No newline at end of file