Skip to content

Commit 77ccf97

Browse files
committed
injected IMessageBox where appropriate; removed WinForms.MessageBox in tests; removed MessageBox calls in CommandBase.
1 parent bba4acd commit 77ccf97

File tree

8 files changed

+40
-34
lines changed

8 files changed

+40
-34
lines changed

RetailCoder.VBE/UI/Command/CommandBase.cs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Collections.Generic;
33
using System.Reflection;
44
using System.Runtime.InteropServices;
5-
using System.Windows.Forms;
65
using System.Windows.Input;
76
using NLog;
87
using Rubberduck.Settings;
@@ -42,11 +41,6 @@ public bool CanExecute(object parameter)
4241
if (!ExceptionTargetSites.Contains(exception.TargetSite))
4342
{
4443
ExceptionTargetSites.Add(exception.TargetSite);
45-
46-
var messageBox = new MessageBox();
47-
messageBox.Show(
48-
RubberduckUI.RubberduckFatalError, RubberduckUI.Rubberduck,
49-
MessageBoxButtons.OK, MessageBoxIcon.Error);
5044
}
5145

5246
return false;
@@ -66,11 +60,6 @@ public void Execute(object parameter)
6660
if (!ExceptionTargetSites.Contains(exception.TargetSite))
6761
{
6862
ExceptionTargetSites.Add(exception.TargetSite);
69-
70-
var messageBox = new MessageBox();
71-
messageBox.Show(
72-
RubberduckUI.RubberduckFatalError, RubberduckUI.Rubberduck,
73-
MessageBoxButtons.OK, MessageBoxIcon.Error);
7463
}
7564
}
7665
}

RetailCoder.VBE/UI/Command/Refactorings/CodePaneRefactorRenameCommand.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@ namespace Rubberduck.UI.Command.Refactorings
1212
public class CodePaneRefactorRenameCommand : RefactorCommandBase
1313
{
1414
private readonly RubberduckParserState _state;
15+
private readonly IMessageBox _messageBox;
1516

16-
public CodePaneRefactorRenameCommand(IVBE vbe, RubberduckParserState state)
17+
public CodePaneRefactorRenameCommand(IVBE vbe, RubberduckParserState state, IMessageBox messageBox)
1718
: base (vbe)
1819
{
1920
_state = state;
21+
_messageBox = messageBox;
2022
}
2123

2224
public override RubberduckHotkey Hotkey
@@ -56,8 +58,8 @@ protected override void ExecuteImpl(object parameter)
5658

5759
using (var view = new RenameDialog())
5860
{
59-
var factory = new RenamePresenterFactory(Vbe, view, _state, new MessageBox());
60-
var refactoring = new RenameRefactoring(Vbe, factory, new MessageBox(), _state);
61+
var factory = new RenamePresenterFactory(Vbe, view, _state, _messageBox);
62+
var refactoring = new RenameRefactoring(Vbe, factory, _messageBox, _state);
6163

6264
refactoring.Refactor(target);
6365
}

RetailCoder.VBE/UI/Command/Refactorings/FormDesignerRefactorRenameCommand.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,14 @@ public class FormDesignerRefactorRenameCommand : RefactorCommandBase
1313
{
1414
private readonly IVBE _vbe;
1515
private readonly RubberduckParserState _state;
16+
private readonly IMessageBox _messageBox;
1617

17-
public FormDesignerRefactorRenameCommand(IVBE vbe, RubberduckParserState state)
18+
public FormDesignerRefactorRenameCommand(IVBE vbe, RubberduckParserState state, IMessageBox messageBox)
1819
: base (vbe)
1920
{
2021
_vbe = vbe;
2122
_state = state;
23+
_messageBox = messageBox;
2224
}
2325

2426
protected override bool CanExecuteImpl(object parameter)
@@ -30,8 +32,8 @@ protected override void ExecuteImpl(object parameter)
3032
{
3133
using (var view = new RenameDialog())
3234
{
33-
var factory = new RenamePresenterFactory(Vbe, view, _state, new MessageBox());
34-
var refactoring = new RenameRefactoring(Vbe, factory, new MessageBox(), _state);
35+
var factory = new RenamePresenterFactory(Vbe, view, _state, _messageBox);
36+
var refactoring = new RenameRefactoring(Vbe, factory, _messageBox, _state);
3537

3638
var target = GetTarget();
3739

RetailCoder.VBE/UI/Command/Refactorings/RefactorIntroduceFieldCommand.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ namespace Rubberduck.UI.Command.Refactorings
99
public class RefactorIntroduceFieldCommand : RefactorCommandBase
1010
{
1111
private readonly RubberduckParserState _state;
12+
private readonly IMessageBox _messageBox;
1213

13-
public RefactorIntroduceFieldCommand (IVBE vbe, RubberduckParserState state)
14+
public RefactorIntroduceFieldCommand (IVBE vbe, RubberduckParserState state, IMessageBox messageBox)
1415
:base(vbe)
1516
{
1617
_state = state;
18+
_messageBox = messageBox;
1719
}
1820

1921
protected override bool CanExecuteImpl(object parameter)
@@ -52,7 +54,7 @@ protected override void ExecuteImpl(object parameter)
5254
return;
5355
}
5456

55-
var refactoring = new IntroduceFieldRefactoring(Vbe, _state, new MessageBox());
57+
var refactoring = new IntroduceFieldRefactoring(Vbe, _state, _messageBox);
5658
refactoring.Refactor(selection.Value);
5759
}
5860
}

RetailCoder.VBE/UI/Command/Refactorings/RefactorIntroduceParameterCommand.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ namespace Rubberduck.UI.Command.Refactorings
99
public class RefactorIntroduceParameterCommand : RefactorCommandBase
1010
{
1111
private readonly RubberduckParserState _state;
12+
private readonly IMessageBox _messageBox;
1213

13-
public RefactorIntroduceParameterCommand (IVBE vbe, RubberduckParserState state)
14+
public RefactorIntroduceParameterCommand (IVBE vbe, RubberduckParserState state, IMessageBox messageBox)
1415
:base(vbe)
1516
{
1617
_state = state;
18+
_messageBox = messageBox;
1719
}
1820

1921
protected override bool CanExecuteImpl(object parameter)
@@ -52,7 +54,7 @@ protected override void ExecuteImpl(object parameter)
5254
return;
5355
}
5456

55-
var refactoring = new IntroduceParameterRefactoring(Vbe, _state, new MessageBox());
57+
var refactoring = new IntroduceParameterRefactoring(Vbe, _state, _messageBox);
5658
refactoring.Refactor(selection.Value);
5759
}
5860
}

RubberduckTests/Commands/RefactorCommandTests.cs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using Moq;
44
using Rubberduck.Parsing;
55
using Rubberduck.Parsing.VBA;
6+
using Rubberduck.UI;
67
using Rubberduck.UI.Command.Refactorings;
78
using Rubberduck.VBEditor;
89
using Rubberduck.VBEditor.Application;
@@ -524,7 +525,8 @@ public void IntroduceField_CanExecute_NullActiveCodePane()
524525
Assert.Inconclusive("Parser Error");
525526
}
526527

527-
var introduceFieldCommand = new RefactorIntroduceFieldCommand(vbe.Object, parser.State);
528+
var msgbox = new Mock<IMessageBox>();
529+
var introduceFieldCommand = new RefactorIntroduceFieldCommand(vbe.Object, parser.State, msgbox.Object);
528530
Assert.IsFalse(introduceFieldCommand.CanExecute(null));
529531
}
530532

@@ -545,7 +547,8 @@ public void IntroduceField_CanExecute_NonReadyState()
545547
}
546548
parser.State.SetStatusAndFireStateChanged(this, ParserState.ResolvedDeclarations);
547549

548-
var introduceFieldCommand = new RefactorIntroduceFieldCommand(vbe.Object, parser.State);
550+
var msgbox = new Mock<IMessageBox>();
551+
var introduceFieldCommand = new RefactorIntroduceFieldCommand(vbe.Object, parser.State, msgbox.Object);
549552
Assert.IsFalse(introduceFieldCommand.CanExecute(null));
550553
}
551554

@@ -565,7 +568,8 @@ public void IntroduceField_CanExecute_Field()
565568
Assert.Inconclusive("Parser Error");
566569
}
567570

568-
var introduceFieldCommand = new RefactorIntroduceFieldCommand(vbe.Object, parser.State);
571+
var msgbox = new Mock<IMessageBox>();
572+
var introduceFieldCommand = new RefactorIntroduceFieldCommand(vbe.Object, parser.State, msgbox.Object);
569573
Assert.IsFalse(introduceFieldCommand.CanExecute(null));
570574
}
571575

@@ -590,7 +594,8 @@ Dim d As Boolean
590594
Assert.Inconclusive("Parser Error");
591595
}
592596

593-
var introduceFieldCommand = new RefactorIntroduceFieldCommand(vbe.Object, parser.State);
597+
var msgbox = new Mock<IMessageBox>();
598+
var introduceFieldCommand = new RefactorIntroduceFieldCommand(vbe.Object, parser.State, msgbox.Object);
594599
Assert.IsTrue(introduceFieldCommand.CanExecute(null));
595600
}
596601

@@ -611,7 +616,8 @@ public void IntroduceParameter_CanExecute_NullActiveCodePane()
611616
Assert.Inconclusive("Parser Error");
612617
}
613618

614-
var introduceParameterCommand = new RefactorIntroduceParameterCommand(vbe.Object, parser.State);
619+
var msgbox = new Mock<IMessageBox>();
620+
var introduceParameterCommand = new RefactorIntroduceParameterCommand(vbe.Object, parser.State, msgbox.Object);
615621
Assert.IsFalse(introduceParameterCommand.CanExecute(null));
616622
}
617623

@@ -632,7 +638,8 @@ public void IntroduceParameter_CanExecute_NonReadyState()
632638
}
633639
parser.State.SetStatusAndFireStateChanged(this, ParserState.ResolvedDeclarations);
634640

635-
var introduceParameterCommand = new RefactorIntroduceParameterCommand(vbe.Object, parser.State);
641+
var msgbox = new Mock<IMessageBox>();
642+
var introduceParameterCommand = new RefactorIntroduceParameterCommand(vbe.Object, parser.State, msgbox.Object);
636643
Assert.IsFalse(introduceParameterCommand.CanExecute(null));
637644
}
638645

@@ -652,7 +659,8 @@ public void IntroduceParameter_CanExecute_Field()
652659
Assert.Inconclusive("Parser Error");
653660
}
654661

655-
var introduceParameterCommand = new RefactorIntroduceParameterCommand(vbe.Object, parser.State);
662+
var msgbox = new Mock<IMessageBox>();
663+
var introduceParameterCommand = new RefactorIntroduceParameterCommand(vbe.Object, parser.State, msgbox.Object);
656664
Assert.IsFalse(introduceParameterCommand.CanExecute(null));
657665
}
658666

@@ -677,7 +685,8 @@ Dim d As Boolean
677685
Assert.Inconclusive("Parser Error");
678686
}
679687

680-
var introduceParameterCommand = new RefactorIntroduceParameterCommand(vbe.Object, parser.State);
688+
var msgbox = new Mock<IMessageBox>();
689+
var introduceParameterCommand = new RefactorIntroduceParameterCommand(vbe.Object, parser.State, msgbox.Object);
681690
Assert.IsTrue(introduceParameterCommand.CanExecute(null));
682691
}
683692

RubberduckTests/Refactoring/RemoveParametersTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2052,7 +2052,7 @@ public void Presenter_Accept_ReturnsModelWithParametersChanged()
20522052

20532053
var qualifiedSelection = new QualifiedSelection(new QualifiedModuleName(component), selection);
20542054

2055-
var model = new RemoveParametersModel(parser.State, qualifiedSelection, new MessageBox());
2055+
var model = new RemoveParametersModel(parser.State, qualifiedSelection, new Mock<IMessageBox>().Object);
20562056
model.Parameters[1].IsRemoved = true;
20572057

20582058
var view = new Mock<IRemoveParametersDialog>();
@@ -2088,7 +2088,7 @@ public void Presenter_Reject_ReturnsNull()
20882088

20892089
var qualifiedSelection = new QualifiedSelection(new QualifiedModuleName(component), selection);
20902090

2091-
var model = new RemoveParametersModel(parser.State, qualifiedSelection, new MessageBox());
2091+
var model = new RemoveParametersModel(parser.State, qualifiedSelection, new Mock<IMessageBox>().Object);
20922092
model.Parameters[1].IsRemoved = true;
20932093

20942094
var view = new Mock<IRemoveParametersDialog>();
@@ -2124,7 +2124,7 @@ public void Presenter_Accept_AutoMarksSingleParamAsRemoved()
21242124

21252125
var qualifiedSelection = new QualifiedSelection(new QualifiedModuleName(component), selection);
21262126

2127-
var model = new RemoveParametersModel(parser.State, qualifiedSelection, new MessageBox());
2127+
var model = new RemoveParametersModel(parser.State, qualifiedSelection, new Mock<IMessageBox>().Object);
21282128
model.Parameters[0].IsRemoved = true;
21292129

21302130
var factory = new RemoveParametersPresenterFactory(vbe.Object, null, parser.State, null);

RubberduckTests/Refactoring/ReorderParametersTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1921,7 +1921,7 @@ public void Presenter_AcceptDialog_ReordersProcedureWithTwoParameters()
19211921

19221922
var qualifiedSelection = new QualifiedSelection(new QualifiedModuleName(component), selection);
19231923

1924-
var model = new ReorderParametersModel(parser.State, qualifiedSelection, new MessageBox());
1924+
var model = new ReorderParametersModel(parser.State, qualifiedSelection, new Mock<IMessageBox>().Object);
19251925
model.Parameters.Reverse();
19261926

19271927
var view = new Mock<IReorderParametersDialog>();
@@ -1957,7 +1957,7 @@ public void Presenter_CancelDialogCreatesNullModel()
19571957

19581958
var qualifiedSelection = new QualifiedSelection(new QualifiedModuleName(component), selection);
19591959

1960-
var model = new ReorderParametersModel(parser.State, qualifiedSelection, new MessageBox());
1960+
var model = new ReorderParametersModel(parser.State, qualifiedSelection, new Mock<IMessageBox>().Object);
19611961

19621962
var view = new Mock<IReorderParametersDialog>();
19631963
view.Setup(v => v.ShowDialog()).Returns(DialogResult.Cancel);

0 commit comments

Comments
 (0)