public void ConflictFinder_GenerateNoConflictName() { var testModuleName = "TargetModule"; var testModuleCode = @"Option Explicit Public Sub MySub() End Sub"; var otherModuleName = testModuleName; var otherModuleCode = @"Option Explicit "; var vbe = MockVbeBuilder.BuildFromModules((MockVbeBuilder.TestModuleName, testModuleCode, ComponentType.ClassModule), (otherModuleName, otherModuleCode, ComponentType.StandardModule)); using (var state = MockParser.CreateAndParse(vbe.Object)) { var module = state.DeclarationFinder.MatchName(MockVbeBuilder.TestModuleName).OfType <ClassModuleDeclaration>().Single(); var conflictFinder = new TestConflictFinderFactory().Create(state, module.ProjectId); var interfaceModuleName = conflictFinder.GenerateNoConflictModuleName(otherModuleName); Assert.AreEqual($"{testModuleName}1", interfaceModuleName); } }
protected override IRefactoring TestRefactoring( IRewritingManager rewritingManager, RubberduckParserState state, RefactoringUserInteraction <IExtractInterfacePresenter, ExtractInterfaceModel> userInteraction, ISelectionService selectionService) { var addImplementationsBaseRefactoring = new AddInterfaceImplementationsRefactoringAction(rewritingManager, CreateCodeBuilder()); var addComponentService = TestAddComponentService(state?.ProjectsProvider); var baseRefactoring = new ExtractInterfaceRefactoringAction(addImplementationsBaseRefactoring, state, state, rewritingManager, state?.ProjectsProvider, addComponentService); var conflictFinderFactory = new TestConflictFinderFactory() as IExtractInterfaceConflictFinderFactory; return(new ExtractInterfaceRefactoring(baseRefactoring, state, userInteraction, selectionService, conflictFinderFactory, CreateCodeBuilder())); }
public void ConflictFinder_IsNonConflictInterfaceName(string interfaceName, bool expectedResult) { var testModuleCode = @"Option Explicit Public Sub MySub() End Sub"; var otherModuleName = "AnotherModule"; var otherModuleCode = @"Option Explicit Public Type TestType FirstMember As Long End Type Public Enum TestEnum FirstEnum End Enum Private Type TestType2 FirstMember As Long End Type Private Enum TestEnum2 FirstEnum End Enum "; var vbe = MockVbeBuilder.BuildFromModules((MockVbeBuilder.TestModuleName, testModuleCode, ComponentType.ClassModule), (otherModuleName, otherModuleCode, ComponentType.StandardModule)); using (var state = MockParser.CreateAndParse(vbe.Object)) { var module = state.DeclarationFinder.MatchName(MockVbeBuilder.TestModuleName).OfType <ClassModuleDeclaration>().Single(); var conflictFinder = new TestConflictFinderFactory().Create(state, module.ProjectId); Assert.AreEqual(expectedResult, !conflictFinder.IsConflictingModuleName(interfaceName)); } }