@@ -155,8 +155,7 @@ End Property
155
155
156
156
var presenterAction = Support . SetParameters ( userInput ) ;
157
157
158
- var vbe = MockVbeBuilder . BuildFromSingleStandardModule ( inputCode , out _ ) . Object ;
159
- var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( vbe , fieldUT , DeclarationType . Variable , presenterAction ) ;
158
+ var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( inputCode , fieldUT , DeclarationType . Variable , presenterAction ) ;
160
159
161
160
Assert . IsFalse ( model [ "fizz" ] . TryValidateEncapsulationAttributes ( out _ ) ) ;
162
161
}
@@ -188,8 +187,7 @@ Public Property Get Test() As Integer
188
187
189
188
var presenterAction = Support . SetParameters ( userInput ) ;
190
189
191
- var vbe = MockVbeBuilder . BuildFromSingleStandardModule ( inputCode , out _ ) . Object ;
192
- var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( vbe , fieldUT , DeclarationType . Variable , presenterAction ) ;
190
+ var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( inputCode , fieldUT , DeclarationType . Variable , presenterAction ) ;
193
191
194
192
Assert . AreEqual ( fizz_expectedResult , model [ "fizz" ] . TryValidateEncapsulationAttributes ( out _ ) , "fizz failed" ) ;
195
193
Assert . AreEqual ( bazz_expectedResult , model [ "bazz" ] . TryValidateEncapsulationAttributes ( out _ ) , "bazz failed" ) ;
@@ -221,8 +219,7 @@ End Type
221
219
222
220
var presenterAction = Support . SetParameters ( userInput ) ;
223
221
224
- var vbe = MockVbeBuilder . BuildFromSingleStandardModule ( inputCode , out _ ) . Object ;
225
- var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( vbe , fieldUT , DeclarationType . Variable , presenterAction ) ;
222
+ var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( inputCode , fieldUT , DeclarationType . Variable , presenterAction ) ;
226
223
227
224
Assert . AreEqual ( true , model [ fieldUT ] . TryValidateEncapsulationAttributes ( out var message ) , message ) ;
228
225
}
@@ -244,8 +241,7 @@ Public wholeNumber As String
244
241
245
242
var presenterAction = Support . SetParameters ( userInput ) ;
246
243
247
- var vbe = MockVbeBuilder . BuildFromSingleStandardModule ( inputCode , out _ ) . Object ;
248
- var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( vbe , fieldUT , DeclarationType . Variable , presenterAction ) ;
244
+ var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( inputCode , fieldUT , DeclarationType . Variable , presenterAction ) ;
249
245
250
246
Assert . AreEqual ( false , model [ fieldUT ] . TryValidateEncapsulationAttributes ( out _ ) ) ;
251
247
}
@@ -310,8 +306,7 @@ public void DefaultPropertyNameConflictsResolved()
310
306
311
307
var presenterAction = Support . UserAcceptsDefaults ( fieldUT , "strTest" ) ;
312
308
313
- var vbe = MockVbeBuilder . BuildFromSingleStandardModule ( inputCode , out _ ) . Object ;
314
- var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( vbe , fieldUT , DeclarationType . Variable , presenterAction ) ;
309
+ var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( inputCode , fieldUT , DeclarationType . Variable , presenterAction ) ;
315
310
316
311
Assert . AreEqual ( true , model [ fieldUT ] . TryValidateEncapsulationAttributes ( out var errorMsg ) , errorMsg ) ;
317
312
}
@@ -363,8 +358,7 @@ End Function
363
358
364
359
var presenterAction = Support . SetParameters ( userInput ) ;
365
360
366
- var vbe = MockVbeBuilder . BuildFromSingleStandardModule ( inputCode , out _ ) . Object ;
367
- var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( vbe , fieldUT , DeclarationType . Variable , presenterAction ) ;
361
+ var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( inputCode , fieldUT , DeclarationType . Variable , presenterAction ) ;
368
362
369
363
Assert . AreEqual ( false , model [ fieldUT ] . TryValidateEncapsulationAttributes ( out _ ) ) ;
370
364
}
@@ -521,6 +515,71 @@ public void UDTReservedMemberArrayIdentifier()
521
515
Assert . AreEqual ( false , model [ fieldName ] . TryValidateEncapsulationAttributes ( out var message ) , message ) ;
522
516
}
523
517
518
+ [ Test ]
519
+ [ Category ( "Refactorings" ) ]
520
+ [ Category ( "Encapsulate Field" ) ]
521
+ public void UserEntersUDTMemberPropertyNameInConflictWithExistingField ( )
522
+ {
523
+ const string inputCode =
524
+ @"
525
+
526
+ Private Type TVehicle
527
+ Wheels As Integer
528
+ MPG As Double
529
+ End Type
530
+
531
+ Private vehicle As TVehicle
532
+
533
+ Private seats As Integer
534
+
535
+ Private foo As String
536
+ " ;
537
+ var userInput = new UserInputDataObject ( )
538
+ . UserSelectsField ( "seats" , "Foo" ) ;
539
+
540
+ userInput . ConvertFieldsToUDTMembers = true ;
541
+ userInput . ObjectStateUDTTargetID = "TVehicle" ;
542
+
543
+ var presenterAction = Support . SetParameters ( userInput ) ;
544
+
545
+ var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( inputCode , "seats" , DeclarationType . Variable , presenterAction ) ;
546
+ Assert . AreEqual ( false , model [ "seats" ] . TryValidateEncapsulationAttributes ( out var errorMessage ) , errorMessage ) ;
547
+ }
548
+
549
+ [ Test ]
550
+ [ Category ( "Refactorings" ) ]
551
+ [ Category ( "Encapsulate Field" ) ]
552
+ public void UserClearsConflictingNameByEncapsulatingConflictingVariable ( )
553
+ {
554
+ const string inputCode =
555
+ @"
556
+
557
+ Private Type TVehicle
558
+ Wheels As Integer
559
+ MPG As Double
560
+ End Type
561
+
562
+ Private mVehicle As TVehicle
563
+
564
+ Private seats As Integer
565
+
566
+ Private foo As String
567
+ " ;
568
+ //By encapsulating variable mVehicle, the variable disappears and
569
+ //is converted to UDTMember name "Vehicle" and "Vehicle" properties
570
+ // - thus removing the conflict created by the user editing the "seats" property
571
+ var userInput = new UserInputDataObject ( )
572
+ . UserSelectsField ( "seats" , "MVehicle" )
573
+ . UserSelectsField ( "mVehicle" ) ;
574
+
575
+ userInput . ConvertFieldsToUDTMembers = true ;
576
+
577
+ var presenterAction = Support . SetParameters ( userInput ) ;
578
+
579
+ var model = Support . RetrieveUserModifiedModelPriorToRefactoring ( inputCode , "seats" , DeclarationType . Variable , presenterAction ) ;
580
+ Assert . AreEqual ( true , model [ "seats" ] . TryValidateEncapsulationAttributes ( out var errorMessage ) , errorMessage ) ;
581
+ }
582
+
524
583
protected override IRefactoring TestRefactoring ( IRewritingManager rewritingManager , RubberduckParserState state , IRefactoringPresenterFactory factory , ISelectionService selectionService )
525
584
{
526
585
return Support . SupportTestRefactoring ( rewritingManager , state , factory , selectionService ) ;
0 commit comments