public void CreateImportItemWithAllParameters_ImageParameterNull_ThrowArgumentNullException() { // Setup const string text = "Import"; const string toolTip = "Import tooltip"; var commandHandler = mocks.StrictMock <IApplicationFeatureCommands>(); var importCommandHandler = mocks.StrictMock <IImportCommandHandler>(); var exportCommandHandler = mocks.StrictMock <IExportCommandHandler>(); var updateCommandHandler = mocks.StrictMock <IUpdateCommandHandler>(); var viewCommands = mocks.StrictMock <IViewCommands>(); var nodeData = new object(); mocks.ReplayAll(); var contextMenuFactory = new GuiContextMenuItemFactory(commandHandler, importCommandHandler, exportCommandHandler, updateCommandHandler, viewCommands, nodeData); // Call void Call() => contextMenuFactory.CreateImportItem(text, toolTip, null, Enumerable.Empty <ImportInfo>()); // Assert var exception = Assert.Throws <ArgumentNullException>(Call); Assert.AreEqual("image", exception.ParamName); mocks.VerifyAll(); }
public void CreateImportItemWithAllParameters_InvalidTextParameter_ThrowArgumentException(string text) { // Setup const string toolTip = "Import tooltip"; Image image = Resources.ImportIcon; var commandHandler = mocks.StrictMock <IApplicationFeatureCommands>(); var importCommandHandler = mocks.StrictMock <IImportCommandHandler>(); var exportCommandHandler = mocks.StrictMock <IExportCommandHandler>(); var updateCommandHandler = mocks.StrictMock <IUpdateCommandHandler>(); var viewCommands = mocks.StrictMock <IViewCommands>(); var nodeData = new object(); mocks.ReplayAll(); var contextMenuFactory = new GuiContextMenuItemFactory(commandHandler, importCommandHandler, exportCommandHandler, updateCommandHandler, viewCommands, nodeData); // Call void Call() => contextMenuFactory.CreateImportItem(text, toolTip, image, Enumerable.Empty <ImportInfo>()); // Assert var exception = TestHelper.AssertThrowsArgumentExceptionAndTestMessage <ArgumentException>(Call, "Text should be set."); Assert.AreEqual("text", exception.ParamName); mocks.VerifyAll(); }
public void CreateImportItemWithImportInfosParameter_SupportedImportInfo_CausesImportToStartWhenClicked() { // Setup var commandHandler = mocks.StrictMock <IApplicationFeatureCommands>(); var importCommandHandler = mocks.StrictMock <IImportCommandHandler>(); var exportCommandHandler = mocks.StrictMock <IExportCommandHandler>(); var updateCommandHandler = mocks.StrictMock <IUpdateCommandHandler>(); var viewCommands = mocks.StrictMock <IViewCommands>(); var nodeData = new object(); ImportInfo[] importInfos = { new ImportInfo() }; importCommandHandler.Expect(ich => ich.ImportOn(nodeData, importInfos)); mocks.ReplayAll(); var contextMenuFactory = new GuiContextMenuItemFactory(commandHandler, importCommandHandler, exportCommandHandler, updateCommandHandler, viewCommands, nodeData); ToolStripItem item = contextMenuFactory.CreateImportItem(importInfos); // Call item.PerformClick(); // Assert mocks.VerifyAll(); }
public void CreateImportItemWithAllParameters_Always_ItemWithPropertiesSet(bool hasImportersForNodeData) { // Setup const string text = "Import"; const string toolTip = "Import tooltip"; Image image = Resources.ImportIcon; var commandHandler = mocks.StrictMock <IApplicationFeatureCommands>(); var importCommandHandler = mocks.StrictMock <IImportCommandHandler>(); var exportCommandHandler = mocks.StrictMock <IExportCommandHandler>(); var updateCommandHandler = mocks.StrictMock <IUpdateCommandHandler>(); var viewCommands = mocks.StrictMock <IViewCommands>(); var nodeData = new object(); mocks.ReplayAll(); ImportInfo[] importInfos = hasImportersForNodeData ? new[] { new ImportInfo() } : new ImportInfo[0]; var contextMenuFactory = new GuiContextMenuItemFactory(commandHandler, importCommandHandler, exportCommandHandler, updateCommandHandler, viewCommands, nodeData); // Call ToolStripItem item = contextMenuFactory.CreateImportItem(text, toolTip, image, importInfos); // Assert Assert.AreEqual(text, item.Text); Assert.AreEqual(toolTip, item.ToolTipText); TestHelper.AssertImagesAreEqual(image, item.Image); Assert.AreEqual(hasImportersForNodeData, item.Enabled); mocks.VerifyAll(); }
public void CreateImportItemWithTextualParameters_SupportedImportInfo_CausesImportToStartWhenClicked() { // Setup const string text = "Import"; const string toolTip = "Import tooltip"; Image image = Resources.ImportIcon; var commandHandler = mocks.StrictMock <IApplicationFeatureCommands>(); var importCommandHandler = mocks.StrictMock <IImportCommandHandler>(); var exportCommandHandler = mocks.StrictMock <IExportCommandHandler>(); var updateCommandHandler = mocks.StrictMock <IUpdateCommandHandler>(); var viewCommands = mocks.StrictMock <IViewCommands>(); var nodeData = new object(); ImportInfo[] importInfos = { new ImportInfo() }; importCommandHandler.Expect(ich => ich.GetSupportedImportInfos(nodeData)).Return(importInfos); importCommandHandler.Expect(ich => ich.ImportOn(nodeData, importInfos)); mocks.ReplayAll(); var contextMenuFactory = new GuiContextMenuItemFactory(commandHandler, importCommandHandler, exportCommandHandler, updateCommandHandler, viewCommands, nodeData); ToolStripItem item = contextMenuFactory.CreateImportItem(text, toolTip, image); // Call item.PerformClick(); // Assert mocks.VerifyAll(); }
public void CreateImportItemWithImportInfosParameter_Always_ItemWithPropertiesSet(bool hasImportersForNodeData) { // Setup var commandHandler = mocks.StrictMock <IApplicationFeatureCommands>(); var importCommandHandler = mocks.StrictMock <IImportCommandHandler>(); var exportCommandHandler = mocks.StrictMock <IExportCommandHandler>(); var updateCommandHandler = mocks.StrictMock <IUpdateCommandHandler>(); var viewCommands = mocks.StrictMock <IViewCommands>(); var nodeData = new object(); mocks.ReplayAll(); ImportInfo[] importInfos = hasImportersForNodeData ? new[] { new ImportInfo() } : new ImportInfo[0]; var contextMenuFactory = new GuiContextMenuItemFactory(commandHandler, importCommandHandler, exportCommandHandler, updateCommandHandler, viewCommands, nodeData); // Call ToolStripItem item = contextMenuFactory.CreateImportItem(importInfos); // Assert Assert.AreEqual("&Importeren...", item.Text); Assert.AreEqual("Importeer de gegevens vanuit een bestand.", item.ToolTipText); TestHelper.AssertImagesAreEqual(Resources.ImportIcon, item.Image); Assert.AreEqual(hasImportersForNodeData, item.Enabled); mocks.VerifyAll(); }