public void Preview_EditPropertyIdentifier(EncapsulateFieldStrategy strategy) { var inputCode = $@"Option Explicit Public mTest As Long "; var vbe = MockVbeBuilder.BuildFromSingleModule(inputCode, ComponentType.StandardModule, out _); (RubberduckParserState state, IRewritingManager rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object); using (state) { var resolver = Support.SetupResolver(state, rewritingManager); var target = state.DeclarationFinder.MatchName("mTest").First(); var modelfactory = resolver.Resolve <IEncapsulateFieldModelFactory>(); var model = modelfactory.Create(target); model.EncapsulateFieldStrategy = strategy; var field = model["mTest"]; field.PropertyIdentifier = "ATest"; var previewProvider = resolver.Resolve <EncapsulateFieldPreviewProvider>(); var firstPreview = previewProvider.Preview(model); StringAssert.Contains("Property Get ATest", firstPreview); field.PropertyIdentifier = "BTest"; var secondPreview = previewProvider.Preview(model); StringAssert.Contains("Property Get BTest", secondPreview); StringAssert.DoesNotContain("Property Get ATest", secondPreview); } }
public void Preview_IncludeEndOfChangesMarker(EncapsulateFieldStrategy strategy) { var inputCode = $@"Option Explicit Public mTest As Long "; var vbe = MockVbeBuilder.BuildFromSingleModule(inputCode, ComponentType.StandardModule, out _); (RubberduckParserState state, IRewritingManager rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object); using (state) { var target = state.DeclarationFinder.MatchName("mTest").First(); var resolver = Support.SetupResolver(state, rewritingManager, null); var modelfactory = resolver.Resolve <IEncapsulateFieldModelFactory>(); var previewProvider = resolver.Resolve <EncapsulateFieldPreviewProvider>(); var model = modelfactory.Create(target); model.EncapsulateFieldStrategy = strategy; var previewResult = previewProvider.Preview(model); StringAssert.Contains(RubberduckUI.EncapsulateField_PreviewMarker, previewResult); } }
public IEncapsulateFieldConflictFinder ConflictDetector(EncapsulateFieldStrategy strategy, IDeclarationFinderProvider declarationFinderProvider) { if (strategy == EncapsulateFieldStrategy.UseBackingFields) { return(new UseBackingFieldsStrategyConflictFinder(declarationFinderProvider, _candidates, _udtMemberCandidates)); } return(new ConvertFieldsToUDTMembersStrategyConflictFinder(declarationFinderProvider, _candidates, _udtMemberCandidates, _objectStateUDTs)); }