public void CanExecuteNameCollision_ActiveCodePane_EmptyClass() { var input = @" Sub Foo() End Sub "; var builder = new MockVbeBuilder(); var proj1 = builder.ProjectBuilder("TestProj1", ProjectProtection.Unprotected) .AddComponent("Class1", ComponentType.ClassModule, input, Selection.Home) .Build(); var proj2 = builder.ProjectBuilder("TestProj2", ProjectProtection.Unprotected) .AddComponent("Class1", ComponentType.ClassModule, string.Empty, Selection.Home) .Build(); var vbe = builder .AddProject(proj1) .AddProject(proj2) .Build(); vbe.Object.ActiveCodePane = proj1.Object.VBComponents[0].CodeModule.CodePane; if (string.IsNullOrEmpty(vbe.Object.ActiveCodePane.CodeModule.Content())) { Assert.Inconclusive("The active code pane should be the one with the method stub."); } using (var state = MockParser.CreateAndParse(vbe.Object)) { var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null); Assert.IsTrue(extractInterfaceCommand.CanExecute(null)); } }
public void ExtractInterface_CanExecute_Field() { IVBComponent component; var vbe = MockVbeBuilder.BuildFromSingleModule("Dim d As Boolean", ComponentType.ClassModule, out component, Selection.Home); var state = MockParser.CreateAndParse(vbe.Object); var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null); Assert.IsFalse(extractInterfaceCommand.CanExecute(null)); }
public void ExtractInterface_CanExecute_NoMembers() { IVBComponent component; var vbe = MockVbeBuilder.BuildFromSingleModule("Option Explicit", ComponentType.ClassModule, out component, new Selection()); var state = MockParser.CreateAndParse(vbe.Object); var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null); Assert.IsFalse(extractInterfaceCommand.CanExecute(null)); }
public void ExtractInterface_CanExecute_Field() { var vbe = MockVbeBuilder.BuildFromSingleModule("Dim d As Boolean", ComponentType.ClassModule, out _, Selection.Home); var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object); using (state) { var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null, rewritingManager); Assert.IsFalse(extractInterfaceCommand.CanExecute(null)); } }
public void ExtractInterface_CanExecute_NoMembers() { var vbe = MockVbeBuilder.BuildFromSingleModule("Option Explicit", ComponentType.ClassModule, out _); var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object); using (state) { var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null, rewritingManager); Assert.IsFalse(extractInterfaceCommand.CanExecute(null)); } }
public void ExtractInterface_CanExecute_NonReadyState() { IVBComponent component; var vbe = MockVbeBuilder.BuildFromSingleModule(string.Empty, ComponentType.ClassModule, out component, new Selection()); using (var state = MockParser.CreateAndParse(vbe.Object)) { state.SetStatusAndFireStateChanged(this, ParserState.ResolvedDeclarations, CancellationToken.None); var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null); Assert.IsFalse(extractInterfaceCommand.CanExecute(null)); } }
public void ExtractInterface_CanExecute_NullActiveCodePane() { IVBComponent component; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(string.Empty, out component); vbe.Setup(v => v.ActiveCodePane).Returns((ICodePane)null); using (var state = MockParser.CreateAndParse(vbe.Object)) { var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null); Assert.IsFalse(extractInterfaceCommand.CanExecute(null)); } }
public void ExtractInterface_CanExecute_NullActiveCodePane() { var vbe = MockVbeBuilder.BuildFromSingleStandardModule(string.Empty, out _); vbe.Setup(v => v.ActiveCodePane).Returns((ICodePane)null); var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object); using (state) { var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null, rewritingManager); Assert.IsFalse(extractInterfaceCommand.CanExecute(null)); } }
public void ExtractInterface_CanExecute_PropertySet() { var input = @"Property Set foo(value) End Property"; IVBComponent component; var vbe = MockVbeBuilder.BuildFromSingleModule(input, ComponentType.ClassModule, out component, Selection.Home); var state = MockParser.CreateAndParse(vbe.Object); var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null); Assert.IsTrue(extractInterfaceCommand.CanExecute(null)); }
public void ExtractInterface_CanExecute_Proc_StdModule() { var input = @"Sub foo() End Sub"; IVBComponent component; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(input, out component); var state = MockParser.CreateAndParse(vbe.Object); var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null); Assert.IsFalse(extractInterfaceCommand.CanExecute(null)); }
public void ExtractInterface_CanExecute_Function() { var input = @"Function foo() As Integer End Function"; IVBComponent component; var vbe = MockVbeBuilder.BuildFromSingleModule(input, ComponentType.ClassModule, out component, Selection.Home); using (var state = MockParser.CreateAndParse(vbe.Object)) { var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null); Assert.IsTrue(extractInterfaceCommand.CanExecute(null)); } }
public void ExtractInterface_CanExecute_PropertySet() { var input = @"Property Set foo(value) End Property"; var vbe = MockVbeBuilder.BuildFromSingleModule(input, ComponentType.ClassModule, out _, Selection.Home); var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object); using (state) { var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null, rewritingManager); Assert.IsTrue(extractInterfaceCommand.CanExecute(null)); } }
public void ExtractInterface_CanExecute_Proc_StdModule() { var input = @"Sub foo() End Sub"; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(input, out _); var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object); using (state) { var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null, rewritingManager); Assert.IsFalse(extractInterfaceCommand.CanExecute(null)); } }
public void ExtractInterface_CanExecute_ClassWithMembers_SameNameAsClassWithMembers() { var input = @"Sub foo() End Sub"; var builder = new MockVbeBuilder(); var proj1 = builder.ProjectBuilder("TestProj1", ProjectProtection.Unprotected).AddComponent("Comp1", ComponentType.ClassModule, input, Selection.Home).Build(); var proj2 = builder.ProjectBuilder("TestProj2", ProjectProtection.Unprotected).AddComponent("Comp1", ComponentType.ClassModule, string.Empty).Build(); var vbe = builder .AddProject(proj1) .AddProject(proj2) .Build(); vbe.Setup(s => s.ActiveCodePane).Returns(proj1.Object.VBComponents[0].CodeModule.CodePane); using (var state = MockParser.CreateAndParse(vbe.Object)) { var extractInterfaceCommand = new RefactorExtractInterfaceCommand(vbe.Object, state, null); Assert.IsTrue(extractInterfaceCommand.CanExecute(null)); } }
public RefactorExtractInterfaceCommandMenuItem(RefactorExtractInterfaceCommand command) : base(command) { }