Skip to content

Commit 70edc91

Browse files
committed
Address #5556 Review comments
Renaming per suggestions. Also, clean-up of commented code and removal of non-required 'using' directives.
1 parent 1b9073d commit 70edc91

File tree

11 files changed

+126
-114
lines changed

11 files changed

+126
-114
lines changed

Rubberduck.Refactorings/Common/CodeBuilder.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,12 @@ bool TryBuildPropertySetCodeBlock(Declaration prototype,
7272
/// Generates a default RHS property parameter IdentifierName
7373
/// </summary>
7474
/// <param name="propertyIdentifier">Let/Set Property IdentifierName</param>
75-
string DefaultPropertyValueParamIdentifier(string propertyIdentifier);
75+
string BuildPropertyRhsParameterName(string propertyIdentifier);
7676
}
7777

7878
public class CodeBuilder : ICodeBuilder
7979
{
80-
public string DefaultPropertyValueParamIdentifier(string propertyIdentifier)
80+
public string BuildPropertyRhsParameterName(string propertyIdentifier)
8181
=> string.Format(Resources.Refactorings.Refactorings.CodeBuilder_DefaultPropertyRHSParamFormat, propertyIdentifier.ToLowerCaseFirstLetter());
8282

8383
public string BuildMemberBlockFromPrototype(ModuleBodyElementDeclaration declaration,
@@ -119,7 +119,7 @@ private bool TryBuildPropertyBlockFromTarget<T>(T prototype, DeclarationType let
119119
return false;
120120
}
121121

122-
var propertyValueParam = parameterIdentifier ?? DefaultPropertyValueParamIdentifier(propertyIdentifier);
122+
var propertyValueParam = parameterIdentifier ?? BuildPropertyRhsParameterName(propertyIdentifier);
123123

124124
var asType = prototype.IsArray
125125
? $"{Tokens.Variant}"

Rubberduck.Refactorings/EncapsulateField/EncapsulateFieldElementsBuilder.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ private IEncapsulateFieldCandidate CreateCandidate(Declaration target, IValidate
111111
if (target.IsUserDefinedType())
112112
{
113113
var udtValidator = EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedType);
114-
var udtField = new UserDefinedTypeCandidate(target, udtValidator, _codeBuilder.DefaultPropertyValueParamIdentifier) as IUserDefinedTypeCandidate;
114+
var udtField = new UserDefinedTypeCandidate(target, udtValidator, _codeBuilder.BuildPropertyRhsParameterName) as IUserDefinedTypeCandidate;
115115

116116
(Declaration udtDeclaration, IEnumerable<Declaration> udtMembers) = GetUDTAndMembersForField(udtField);
117117

@@ -126,7 +126,7 @@ private IEncapsulateFieldCandidate CreateCandidate(Declaration target, IValidate
126126
{
127127
udtMemberValidator = EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedTypeMemberArray);
128128
}
129-
var candidateUDTMember = new UserDefinedTypeMemberCandidate(CreateCandidate(udtMemberDeclaration, udtMemberValidator), udtField, _codeBuilder.DefaultPropertyValueParamIdentifier) as IUserDefinedTypeMemberCandidate;
129+
var candidateUDTMember = new UserDefinedTypeMemberCandidate(CreateCandidate(udtMemberDeclaration, udtMemberValidator), udtField, _codeBuilder.BuildPropertyRhsParameterName) as IUserDefinedTypeMemberCandidate;
130130

131131
udtField.AddMember(candidateUDTMember);
132132
}
@@ -142,10 +142,10 @@ private IEncapsulateFieldCandidate CreateCandidate(Declaration target, IValidate
142142
}
143143
else if (target.IsArray)
144144
{
145-
return new ArrayCandidate(target, validator, _codeBuilder.DefaultPropertyValueParamIdentifier);
145+
return new ArrayCandidate(target, validator, _codeBuilder.BuildPropertyRhsParameterName);
146146
}
147147

148-
var candidate = new EncapsulateFieldCandidate(target, validator, _codeBuilder.DefaultPropertyValueParamIdentifier);
148+
var candidate = new EncapsulateFieldCandidate(target, validator, _codeBuilder.BuildPropertyRhsParameterName);
149149
return candidate;
150150
}
151151

Rubberduck.Refactorings/EncapsulateField/FieldCandidates/ArrayCandidate.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using Antlr4.Runtime;
2-
using Rubberduck.Parsing;
1+
using Rubberduck.Parsing;
32
using Rubberduck.Parsing.Grammar;
43
using Rubberduck.Parsing.Symbols;
54
using Rubberduck.Resources;
@@ -17,8 +16,8 @@ public interface IArrayCandidate : IEncapsulateFieldCandidate
1716
public class ArrayCandidate : EncapsulateFieldCandidate, IArrayCandidate
1817
{
1918
private string _subscripts;
20-
public ArrayCandidate(Declaration declaration, IValidateVBAIdentifiers validator, Func<string,string> paramNameBuilder)
21-
:base(declaration, validator, paramNameBuilder)
19+
public ArrayCandidate(Declaration declaration, IValidateVBAIdentifiers validator, Func<string,string> parameterNameBuilder)
20+
:base(declaration, validator, parameterNameBuilder)
2221
{
2322
ImplementLet = false;
2423
ImplementSet = false;

Rubberduck.Refactorings/EncapsulateField/FieldCandidates/EncapsulateFieldCandidate.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ public class EncapsulateFieldCandidate : IEncapsulateFieldCandidate
4545
protected int _hashCode;
4646
private string _identifierName;
4747
protected EncapsulationIdentifiers _fieldAndProperty;
48-
private Func<string, string> _paramNameBuilder;
48+
private Func<string, string> _parameterNameBuilder;
4949

50-
public EncapsulateFieldCandidate(Declaration declaration, IValidateVBAIdentifiers identifierValidator, Func<string, string> paramNameBuilder)
50+
public EncapsulateFieldCandidate(Declaration declaration, IValidateVBAIdentifiers identifierValidator, Func<string, string> parameterNameBuilder)
5151
{
5252
_target = declaration;
5353
NameValidator = identifierValidator;
54-
_paramNameBuilder = paramNameBuilder;
54+
_parameterNameBuilder = parameterNameBuilder;
5555

5656
_fieldAndProperty = new EncapsulationIdentifiers(declaration.IdentifierName, identifierValidator);
5757
IdentifierName = declaration.IdentifierName;
@@ -202,7 +202,7 @@ public string IdentifierName
202202

203203
public virtual string ReferenceQualifier { set; get; }
204204

205-
public string ParameterName => _paramNameBuilder(PropertyIdentifier);
205+
public string ParameterName => _parameterNameBuilder(PropertyIdentifier);
206206

207207
private bool _implLet;
208208
public bool ImplementLet { get => !IsReadOnly && _implLet; set => _implLet = value; }

Rubberduck.Refactorings/EncapsulateField/FieldCandidates/UserDefinedTypeCandidate.cs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
using Antlr4.Runtime;
2-
using Rubberduck.Common;
3-
using Rubberduck.Parsing;
4-
using Rubberduck.Parsing.Grammar;
1+
using Rubberduck.Parsing.Grammar;
52
using Rubberduck.Parsing.Symbols;
63
using Rubberduck.Refactorings.Common;
74
using System;
85
using System.Collections.Generic;
9-
using System.Linq;
106

117
namespace Rubberduck.Refactorings.EncapsulateField
128
{
@@ -21,8 +17,8 @@ public interface IUserDefinedTypeCandidate : IEncapsulateFieldCandidate
2117

2218
public class UserDefinedTypeCandidate : EncapsulateFieldCandidate, IUserDefinedTypeCandidate
2319
{
24-
public UserDefinedTypeCandidate(Declaration declaration, IValidateVBAIdentifiers identifierValidator, Func<string,string> paramNameBuilder)
25-
: base(declaration, identifierValidator, paramNameBuilder)
20+
public UserDefinedTypeCandidate(Declaration declaration, IValidateVBAIdentifiers identifierValidator, Func<string,string> parameterNameBuilder)
21+
: base(declaration, identifierValidator, parameterNameBuilder)
2622
{
2723
}
2824

Rubberduck.Refactorings/EncapsulateField/FieldCandidates/UserDefinedTypeMemberCandidate.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ public class UserDefinedTypeMemberCandidate : IUserDefinedTypeMemberCandidate
2020
{
2121
private int _hashCode;
2222
private readonly string _uniqueID;
23-
private Func<string, string> _paramNameBuilder;
24-
public UserDefinedTypeMemberCandidate(IEncapsulateFieldCandidate candidate, IUserDefinedTypeCandidate udtField, Func<string,string> paramNameBuilder)
23+
private Func<string, string> _parameterNameBuilder;
24+
public UserDefinedTypeMemberCandidate(IEncapsulateFieldCandidate candidate, IUserDefinedTypeCandidate udtField, Func<string,string> parameterNameBuilder)
2525
{
2626
_wrappedCandidate = candidate;
27-
_paramNameBuilder = paramNameBuilder;
27+
_parameterNameBuilder = parameterNameBuilder;
2828
UDTField = udtField;
2929
PropertyIdentifier = IdentifierName;
3030
BackingIdentifier = IdentifierName;
@@ -203,7 +203,7 @@ public QualifiedModuleName QualifiedModuleName
203203

204204
public string PropertyAsTypeName => _wrappedCandidate.PropertyAsTypeName;
205205

206-
public string ParameterName => _paramNameBuilder(PropertyIdentifier);
206+
public string ParameterName => _parameterNameBuilder(PropertyIdentifier);
207207

208208
public bool ImplementLet => _wrappedCandidate.ImplementLet;
209209

RubberduckTests/CodeBuilderTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ private string ParseAndTest<T>(string inputCode, string targetIdentifier, Declar
339339

340340
private static string PropertyGetBlockFromPrototypeTest<T>(T target, PropertyBlockFromPrototypeParams testParams) where T : Declaration
341341
{
342-
new CodeBuilder().TryBuildPropertyGetCodeBlock(target, testParams.Identifier, out string result, testParams.Accessibility, testParams.Content); //, testParams.WriteParam);
342+
new CodeBuilder().TryBuildPropertyGetCodeBlock(target, testParams.Identifier, out string result, testParams.Accessibility, testParams.Content);
343343
return result;
344344
}
345345

RubberduckTests/Refactoring/EncapsulateField/EncapsulateFIeldTestSupport.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ namespace RubberduckTests.Refactoring.EncapsulateField
1919
{
2020
public class EncapsulateFieldTestSupport : InteractiveRefactoringTestBase<IEncapsulateFieldPresenter, EncapsulateFieldModel>
2121
{
22-
public static string ParamNameBuilder(string property) => $"{property.ToLowerCaseFirstLetter()}Value";
22+
public string RhsParameterNameBuilder(string property) => $"{property.ToLowerCaseFirstLetter()}Value";
2323

2424
public string StateUDTDefaultType => $"T{MockVbeBuilder.TestModuleName}";
2525

RubberduckTests/Refactoring/EncapsulateField/EncapsulateFieldTests.cs

Lines changed: 28 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ public class EncapsulateFieldTests : InteractiveRefactoringTestBase<IEncapsulate
2121
{
2222
private EncapsulateFieldTestSupport Support { get; } = new EncapsulateFieldTestSupport();
2323

24-
private static Func<string, string> Param = EncapsulateFieldTestSupport.ParamNameBuilder;
25-
2624
[TestCase("fizz", true, "baz", true, "buzz", true)]
2725
[TestCase("fizz", false, "baz", true, "buzz", true)]
2826
[TestCase("fizz", false, "baz", false, "buzz", true)]
@@ -69,10 +67,12 @@ public void EncapsulateMultipleFields(
6967

7068
foreach (var variable in encapsulated)
7169
{
70+
var rhsParameterName = Support.RhsParameterNameBuilder($"{variable}Prop");
71+
7272
StringAssert.Contains($"Private {variable} As", actualCode);
7373
StringAssert.Contains($"{variable}Prop = {variable}", actualCode);
74-
StringAssert.Contains($"{variable} = {Param($"{variable}Prop")}", actualCode);
75-
StringAssert.Contains($"Let {variable}Prop(ByVal {Param($"{variable}Prop")} As", actualCode);
74+
StringAssert.Contains($"{variable} = {rhsParameterName}", actualCode);
75+
StringAssert.Contains($"Let {variable}Prop(ByVal {rhsParameterName} As", actualCode);
7676
StringAssert.Contains($"Property Get {variable}Prop()", actualCode);
7777
}
7878
}
@@ -133,10 +133,12 @@ public void EncapsulateMultipleFieldsInList(
133133
{
134134
if (flags[key])
135135
{
136+
var rhsParameterName = Support.RhsParameterNameBuilder($"{key}Prop");
137+
136138
StringAssert.Contains($"Private {key} As", actualCode);
137139
StringAssert.Contains($"{key}Prop = {key}", actualCode);
138-
StringAssert.Contains($"{key} = {Param($"{key}Prop")}", actualCode);
139-
StringAssert.Contains($"Let {key}Prop(ByVal {Param($"{key}Prop")} As", actualCode);
140+
StringAssert.Contains($"{key} = {rhsParameterName}", actualCode);
141+
StringAssert.Contains($"Let {key}Prop(ByVal {rhsParameterName} As", actualCode);
140142
StringAssert.Contains($"Property Get {key}Prop()", actualCode);
141143
}
142144
}
@@ -232,10 +234,11 @@ Property Set Foo(ByVal vall As Variant)
232234
End Property";
233235

234236
var presenterAction = Support.SetParametersForSingleTarget("fizz", "Name");
237+
var rhsParameterName = Support.RhsParameterNameBuilder("Name");
235238

236239
var actualCode = Support.RefactoredCode(inputCode.ToCodeString(), presenterAction);
237-
Assert.Greater(actualCode.IndexOf($"fizz = {Param("Name")}"), actualCode.IndexOf("fizz As Integer"));
238-
Assert.Less(actualCode.IndexOf($"fizz = {Param("Name")}"), actualCode.IndexOf("Get Foo"));
240+
Assert.Greater(actualCode.IndexOf($"fizz = {rhsParameterName}"), actualCode.IndexOf("fizz As Integer"));
241+
Assert.Less(actualCode.IndexOf($"fizz = {rhsParameterName}"), actualCode.IndexOf("Get Foo"));
239242
}
240243

241244
[TestCase("|Public fizz As Integer\r\nPublic buzz As Boolean", "Private fizz As Integer\r\nPublic buzz As Boolean")]
@@ -294,12 +297,14 @@ public void EncapsulatePrivateField()
294297
@"|Private fizz As Integer";
295298

296299
var presenterAction = Support.SetParametersForSingleTarget("fizz", "Name");
300+
var rhsParameterName = Support.RhsParameterNameBuilder("Name");
301+
297302
var actualCode = Support.RefactoredCode(inputCode.ToCodeString(), presenterAction);
298303
StringAssert.Contains("Public Property Get Name() As Integer", actualCode);
299304
StringAssert.Contains("Public Property Let Name(", actualCode);
300-
StringAssert.Contains($"(ByVal {Param("Name")} As Integer)", actualCode);
305+
StringAssert.Contains($"(ByVal {rhsParameterName} As Integer)", actualCode);
301306
StringAssert.Contains("Name = fizz", actualCode);
302-
StringAssert.Contains($"fizz = {Param("Name")}", actualCode);
307+
StringAssert.Contains($"fizz = {rhsParameterName}", actualCode);
303308
StringAssert.Contains("End Property", actualCode);
304309
}
305310

@@ -365,28 +370,17 @@ public void EncapsulatePrivateFieldInList()
365370
const string inputCode =
366371
@"Private fi|zz As Integer, fuzz As Integer, fazz As Integer";
367372

368-
// const string expectedCode =
369-
// @"
370-
//Private fizz_1 As Integer, fuzz As Integer, fazz As Integer
371-
372-
//Public Property Get Fizz() As Integer
373-
// Fizz = fizz_1
374-
//End Property
375-
376-
//Public Property Let Fizz(ByVal value As Integer)
377-
// fizz_1 = value
378-
//End Property
379-
//";
380373
var presenterAction = Support.SetParametersForSingleTarget("fizz");
374+
var rhsParameterName = Support.RhsParameterNameBuilder("Fizz");
375+
381376
var actualCode = Support.RefactoredCode(inputCode.ToCodeString(), presenterAction);
382377
StringAssert.Contains("Private fizz_1 As Integer, fuzz As Integer,", actualCode);
383378
StringAssert.Contains("Public Property Get Fizz() As Integer", actualCode);
384379
StringAssert.Contains("Public Property Let Fizz(", actualCode);
385-
StringAssert.Contains($"(ByVal {Param("Fizz")} As Integer)", actualCode);
380+
StringAssert.Contains($"(ByVal {rhsParameterName} As Integer)", actualCode);
386381
StringAssert.Contains("Fizz = fizz_1", actualCode);
387-
StringAssert.Contains($"fizz_1 = {Param("Fizz")}", actualCode);
382+
StringAssert.Contains($"fizz_1 = {rhsParameterName}", actualCode);
388383
StringAssert.Contains("End Property", actualCode);
389-
//Assert.AreEqual(expectedCode.Trim(), actualCode);
390384
}
391385

392386
[Test]
@@ -397,26 +391,16 @@ public void EncapsulatePrivateField_Defaults()
397391
const string inputCode =
398392
@"|Private fizz As Integer";
399393

400-
// const string expectedCode =
401-
// @"Private fizz_1 As Integer
402-
403-
//Public Property Get Fizz() As Integer
404-
// Fizz = fizz_1
405-
//End Property
406-
407-
//Public Property Let Fizz(ByVal value As Integer)
408-
// fizz_1 = value
409-
//End Property
410-
//";
411394
var presenterAction = Support.UserAcceptsDefaults();
395+
var rhsParameterName = Support.RhsParameterNameBuilder("Fizz");
396+
412397
var actualCode = Support.RefactoredCode(inputCode.ToCodeString(), presenterAction);
413398
StringAssert.Contains("Public Property Get Fizz() As Integer", actualCode);
414399
StringAssert.Contains("Public Property Let Fizz(", actualCode);
415-
StringAssert.Contains($"(ByVal {Param("Fizz")} As Integer)", actualCode);
400+
StringAssert.Contains($"(ByVal {rhsParameterName} As Integer)", actualCode);
416401
StringAssert.Contains("Fizz = fizz_1", actualCode);
417-
StringAssert.Contains($"fizz_1 = {Param("Fizz")}", actualCode);
402+
StringAssert.Contains($"fizz_1 = {rhsParameterName}", actualCode);
418403
StringAssert.Contains("End Property", actualCode);
419-
//Assert.AreEqual(expectedCode.Trim(), actualCode);
420404
}
421405

422406
[Test]
@@ -428,10 +412,12 @@ public void EncapsulatePrivateField_DefaultsAsUDT()
428412
@"|Private fizz As Integer";
429413

430414
var presenterAction = Support.UserAcceptsDefaults(convertFieldToUDTMember: true);
415+
var rhsParameterName = Support.RhsParameterNameBuilder("Fizz");
416+
431417
var actualCode = Support.RefactoredCode(inputCode.ToCodeString(), presenterAction);
432418
StringAssert.Contains("Fizz As Integer", actualCode);
433419
StringAssert.Contains($"this As {Support.StateUDTDefaultType}", actualCode);
434-
StringAssert.Contains($"this.Fizz = {Param("Fizz")}", actualCode);
420+
StringAssert.Contains($"this.Fizz = {rhsParameterName}", actualCode);
435421
}
436422

437423
[Test]
@@ -454,14 +440,15 @@ Sub Bar(ByVal name As Integer)
454440

455441
var validator = EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.Default);
456442
var enapsulationIdentifiers = new EncapsulationIdentifiers("fizz", validator) { Property = "Name" };
443+
var rhsParameterName = Support.RhsParameterNameBuilder("Name");
457444

458445
var actualCode = Support.RefactoredCode(inputCode.ToCodeString(), presenterAction);
459446
StringAssert.AreEqualIgnoringCase(enapsulationIdentifiers.TargetFieldName, "fizz");
460447
StringAssert.Contains($"Private {enapsulationIdentifiers.TargetFieldName} As Integer", actualCode);
461448
StringAssert.Contains("Property Get Name", actualCode);
462449
StringAssert.Contains("Property Let Name", actualCode);
463450
StringAssert.Contains($"Name = {enapsulationIdentifiers.TargetFieldName}", actualCode);
464-
StringAssert.Contains($"{enapsulationIdentifiers.TargetFieldName} = {Param("Name")}", actualCode);
451+
StringAssert.Contains($"{enapsulationIdentifiers.TargetFieldName} = {rhsParameterName}", actualCode);
465452
}
466453

467454
[Test]

0 commit comments

Comments
 (0)