Index: Core/Common/test/Core.Common.Gui.Test/ContextMenu/GuiContextMenuItemFactoryTest.cs =================================================================== diff -u -r6df183cc3de510e32e146c448f43fb4dcf89ed4f -r66bf10dd2ffefdd4ff5df8d32b5af65894fc2c52 --- Core/Common/test/Core.Common.Gui.Test/ContextMenu/GuiContextMenuItemFactoryTest.cs (.../GuiContextMenuItemFactoryTest.cs) (revision 6df183cc3de510e32e146c448f43fb4dcf89ed4f) +++ Core/Common/test/Core.Common.Gui.Test/ContextMenu/GuiContextMenuItemFactoryTest.cs (.../GuiContextMenuItemFactoryTest.cs) (revision 66bf10dd2ffefdd4ff5df8d32b5af65894fc2c52) @@ -172,9 +172,9 @@ mocks.VerifyAll(); } - + [Test] - public void Constructor_WithAllInput_DoesNotThrow() + public void Constructor_WithoutDataObject_ThrowsArgumentNullException() { // Setup var applicationFeatureCommandHandler = mocks.StrictMock(); @@ -185,21 +185,23 @@ mocks.ReplayAll(); // Call - TestDelegate test = () => new GuiContextMenuItemFactory(applicationFeatureCommandHandler, - importCommandHandler, - exportCommandHandler, - updateCommandHandler, - viewCommands, - new object()); + void Call() => new GuiContextMenuItemFactory(applicationFeatureCommandHandler, + importCommandHandler, + exportCommandHandler, + updateCommandHandler, + viewCommands, + null); // Assert - Assert.DoesNotThrow(test); + var exception = Assert.Throws(Call); + StringAssert.StartsWith(Resources.GuiContextMenuItemFactory_Can_not_create_gui_context_menu_items_without_import_handler, exception.Message); + StringAssert.EndsWith("dataObject", exception.Message); mocks.VerifyAll(); } [Test] - public void Constructor_WithoutDataObject_ThrowsArgumentNullException() + public void Constructor_ValidInputParameters_DoesNotThrow() { // Setup var applicationFeatureCommandHandler = mocks.StrictMock(); @@ -210,23 +212,23 @@ mocks.ReplayAll(); // Call - TestDelegate test = () => new GuiContextMenuItemFactory(applicationFeatureCommandHandler, - importCommandHandler, - exportCommandHandler, - updateCommandHandler, - viewCommands, - null); + void Call() => new GuiContextMenuItemFactory(applicationFeatureCommandHandler, + importCommandHandler, + exportCommandHandler, + updateCommandHandler, + viewCommands, + new object()); // Assert - string message = Assert.Throws(test).Message; - StringAssert.StartsWith(Resources.ContextMenuItemFactory_Can_not_create_context_menu_items_without_data, message); - StringAssert.EndsWith("dataObject", message); + Assert.DoesNotThrow(Call); mocks.VerifyAll(); } [Test] - public void CreateOpenItem_NoDataAvailableForView_MenuItemIsDisabled() + [TestCase(true)] + [TestCase(false)] + public void CreateOpenItem_Always_ItemWithPropertiesSet(bool canOpenView) { // Setup var commandHandler = mocks.StrictMock(); @@ -235,7 +237,7 @@ var updateCommandHandler = mocks.StrictMock(); var viewCommands = mocks.StrictMock(); var nodeData = new object(); - viewCommands.Expect(ch => ch.CanOpenViewFor(nodeData)).Return(false); + viewCommands.Expect(ch => ch.CanOpenViewFor(nodeData)).Return(canOpenView); mocks.ReplayAll(); var contextMenuFactory = new GuiContextMenuItemFactory(commandHandler, @@ -253,13 +255,13 @@ Assert.AreEqual(Resources.Open, item.Text); Assert.AreEqual(Resources.Open_ToolTip, item.ToolTipText); TestHelper.AssertImagesAreEqual(Resources.OpenIcon, item.Image); - Assert.IsFalse(item.Enabled); + Assert.AreEqual(canOpenView, item.Enabled); mocks.VerifyAll(); } - + [Test] - public void CreateOpenItem_HasViewForData_MenuItemEnabledAndCausesViewToOpenWhenClicked() + public void CreateOpenItem_CanOpenView_CausesViewToOpenWhenClicked() { // Setup var commandHandler = mocks.StrictMock(); @@ -279,16 +281,12 @@ viewCommands, nodeData); - // Call ToolStripItem item = contextMenuFactory.CreateOpenItem(); + + // Call item.PerformClick(); // Assert - Assert.AreEqual(Resources.Open, item.Text); - Assert.AreEqual(Resources.Open_ToolTip, item.ToolTipText); - TestHelper.AssertImagesAreEqual(Resources.OpenIcon, item.Image); - Assert.IsTrue(item.Enabled); - mocks.VerifyAll(); }