Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/CommentViewTest.cs =================================================================== diff -u -rfa424689d48793c024e73bfcee1c202559eea3e0 -rdf9dd8dde87c5cae3f3d72a9c5e7dd440fa7f9ef --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/CommentViewTest.cs (.../CommentViewTest.cs) (revision fa424689d48793c024e73bfcee1c202559eea3e0) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/CommentViewTest.cs (.../CommentViewTest.cs) (revision df9dd8dde87c5cae3f3d72a9c5e7dd440fa7f9ef) @@ -38,111 +38,126 @@ public void Constructor_DefaultValues() { // Call - var view = new CommentView(); - - // Assert - Assert.IsInstanceOf(view); - Assert.IsInstanceOf(view); - Assert.IsNull(view.Data); - Assert.AreEqual(1, view.Controls.Count); - var control = view.Controls[0]; - Assert.IsInstanceOf(control); + using (var view = new CommentView()) + { + // Assert + Assert.IsInstanceOf(view); + Assert.IsInstanceOf(view); + Assert.IsNull(view.Data); + Assert.AreEqual(1, view.Controls.Count); + var control = view.Controls[0]; + Assert.IsInstanceOf(control); + } } [Test] public void Data_IComment_DataSet() { // Setup var mocks = new MockRepository(); - var view = new CommentView(); var data = mocks.Stub(); - mocks.ReplayAll(); - // Call - view.Data = data; + using (var view = new CommentView()) + { + // Call + view.Data = data; - // Assert - Assert.AreSame(data, view.Data); + // Assert + Assert.AreSame(data, view.Data); + } + + mocks.VerifyAll(); } [Test] public void Data_NoIComment_DataNull() { // Setup - var view = new CommentView(); - var data = new object(); + using (var view = new CommentView()) + { + var data = new object(); - // Call - view.Data = data; + // Call + view.Data = data; - // Assert - Assert.IsNull(view.Data); + // Assert + Assert.IsNull(view.Data); + } } [Test] public void Data_ContainsComment_CommentSetOnRichTextEditor() { // Setup - var mocks = new MockRepository(); - var view = new CommentView(); - var data = mocks.Stub(); var expectedText = ""; var validRtfString = GetValidRtfString(expectedText); - data.Comments = validRtfString; + var mocks = new MockRepository(); + var data = mocks.Stub(); + data.Comments = validRtfString; mocks.ReplayAll(); - // Call - view.Data = data; + using (var view = new CommentView()) + { + // Call + view.Data = data; - // Assert - var textBoxControl = view.Controls[0] as RichTextBoxControl; - Assert.IsNotNull(textBoxControl); - Assert.AreEqual(validRtfString, textBoxControl.Rtf); + // Assert + var textBoxControl = view.Controls[0] as RichTextBoxControl; + Assert.IsNotNull(textBoxControl); + Assert.AreEqual(validRtfString, textBoxControl.Rtf); + } + + mocks.VerifyAll(); } [Test] + [Timeout(250)] // Temporary guard, as this test has timed out > 50minutes in the past. public void RichTextEditorOnTextChanged_Always_SetsComments() { // Setup + var mocks = new MockRepository(); + var data = mocks.Stub(); + mocks.ReplayAll(); + using (var form = new Form()) + using (var view = new CommentView()) { - var expectedText = ""; - var validRtfString = GetValidRtfString(expectedText); - - var view = new CommentView(); form.Controls.Add(view); form.Show(); - var richTextBoxControl = (RichTextBoxControl)new ControlTester("richTextBoxControl").TheObject; - - var mocks = new MockRepository(); - var data = mocks.Stub(); - mocks.ReplayAll(); - + // Set data after showing control: view.Data = data; // Precondition Assert.AreEqual(GetValidRtfString(""), data.Comments); + var expectedText = ""; + var validRtfString = GetValidRtfString(expectedText); + + var richTextBoxControl = (RichTextBoxControl)new ControlTester("richTextBoxControl").TheObject; + // Call richTextBoxControl.Rtf = validRtfString; EventHelper.RaiseEvent(richTextBoxControl, "TextBoxValueChanged", EventArgs.Empty); // Assert Assert.AreEqual(validRtfString, data.Comments); } + + mocks.VerifyAll(); } private static string GetValidRtfString(string value) { - RichTextBox richTextBox = new RichTextBox + using (var richTextBox = new RichTextBox { Text = value - }; - - return richTextBox.Rtf; + }) + { + return richTextBox.Rtf; + } } } } \ No newline at end of file