Index: Core/Common/src/Core.Common.Gui/Forms/ProgressDialog/ActivityProgressDialog.cs =================================================================== diff -u -rb995146e05c59a90ab32d316c3cf62cd5b31159e -r1712e9383ccd24c465537844ca5e23381e8a013a --- Core/Common/src/Core.Common.Gui/Forms/ProgressDialog/ActivityProgressDialog.cs (.../ActivityProgressDialog.cs) (revision b995146e05c59a90ab32d316c3cf62cd5b31159e) +++ Core/Common/src/Core.Common.Gui/Forms/ProgressDialog/ActivityProgressDialog.cs (.../ActivityProgressDialog.cs) (revision 1712e9383ccd24c465537844ca5e23381e8a013a) @@ -54,7 +54,7 @@ { InitializeComponent(); - MinimizeBox = true; // Allows for minimizing the dialog parent in case of long-lasting activities + MinimizeBox = true; // Allows for minimizing the dialog parent (in case of long-lasting activities) this.activities = activities ?? Enumerable.Empty(); } @@ -162,7 +162,7 @@ private void ActivityProgressDialogFormClosing(object sender, FormClosingEventArgs e) { - if (task.Status == TaskStatus.Running) + if (task != null && task.Status == TaskStatus.Running) { // Perform a cancel action when the activities are still running CancelActivities(); Index: Core/Common/test/Core.Common.Gui.Test/Forms/ProgressDialog/ActivityProgressDialogTest.cs =================================================================== diff -u -rb995146e05c59a90ab32d316c3cf62cd5b31159e -r1712e9383ccd24c465537844ca5e23381e8a013a --- Core/Common/test/Core.Common.Gui.Test/Forms/ProgressDialog/ActivityProgressDialogTest.cs (.../ActivityProgressDialogTest.cs) (revision b995146e05c59a90ab32d316c3cf62cd5b31159e) +++ Core/Common/test/Core.Common.Gui.Test/Forms/ProgressDialog/ActivityProgressDialogTest.cs (.../ActivityProgressDialogTest.cs) (revision 1712e9383ccd24c465537844ca5e23381e8a013a) @@ -19,29 +19,28 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.Collections.Generic; using System.Linq; using System.Threading; using System.Windows.Forms; using Core.Common.Base.Service; -using Core.Common.Controls.Dialogs; using Core.Common.Gui.Forms.ProgressDialog; +using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; namespace Core.Common.Gui.Test.Forms.ProgressDialog { [TestFixture] - public class ActivityProgressDialogTest + public class ActivityProgressDialogTest : NUnitFormTest { [SetUp] public void SetUp() { - SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); + SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); } [Test] - public void Constructor_ExpectedValues() + public void DefaultConstructor_ExpectedValue() { // Setup var mocks = new MockRepository(); @@ -53,11 +52,49 @@ using (var dialog = new ActivityProgressDialog(window, Enumerable.Empty())) { // Assert - Assert.IsInstanceOf(dialog); + Assert.IsNotNull(dialog.Icon); + Assert.IsTrue(dialog.ShowIcon); + Assert.AreEqual(0, dialog.MinimumSize.Width); // Set during load + Assert.AreEqual(0, dialog.MinimumSize.Height); // Set during load + Assert.AreEqual(FormBorderStyle.FixedDialog, dialog.FormBorderStyle); + Assert.AreEqual(FormStartPosition.CenterParent, dialog.StartPosition); + Assert.IsFalse(dialog.ShowInTaskbar); + Assert.IsTrue(dialog.ControlBox); + Assert.IsFalse(dialog.MaximizeBox); Assert.IsTrue(dialog.MinimizeBox); + Assert.IsNull(dialog.CancelButton); } mocks.VerifyAll(); } + + [Test] + public void ShowDialog_ActivityProgressDialog_MinimumSizeSet() + { + // Setup + var mocks = new MockRepository(); + var window = mocks.Stub(); + + mocks.ReplayAll(); + + DialogBoxHandler = (name, wnd) => + { + var openedDialog = new FormTester(name); + + openedDialog.Close(); + }; + + using (var dialog = new ActivityProgressDialog(window, Enumerable.Empty())) + { + // Call + dialog.ShowDialog(); + + // Assert + Assert.AreEqual(520, dialog.MinimumSize.Width); + Assert.AreEqual(150, dialog.MinimumSize.Height); + } + + mocks.VerifyAll(); + } } -} +} \ No newline at end of file