1212using Microsoft . PowerShell . EditorServices . Handlers ;
1313using Xunit ;
1414using System . Management . Automation . Language ;
15+ using static PowerShellEditorServices . Test . Refactoring . RefactorUtilities ;
1516using Microsoft . PowerShell . EditorServices . Refactoring ;
17+ using PowerShellEditorServices . Test . Shared . Refactoring . Utilities ;
1618
1719namespace PowerShellEditorServices . Test . Refactoring
1820{
@@ -31,118 +33,32 @@ public async Task InitializeAsync()
3133 public async Task DisposeAsync ( ) => await Task . Run ( psesHost . StopAsync ) ;
3234 private ScriptFile GetTestScript ( string fileName ) => workspace . GetFile ( TestUtilities . GetSharedPath ( Path . Combine ( "Refactoring" , "Utilities" , fileName ) ) ) ;
3335
34- [ Fact ]
35- public void GetVariableExpressionAst ( )
36- {
37- RenameSymbolParams request = new ( ) {
38- Column = 11 ,
39- Line = 15 ,
40- RenameTo = "Renamed" ,
41- FileName = "TestDetection.ps1"
42- } ;
43- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
44-
45- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
46- Assert . Equal ( 15 , symbol . Extent . StartLineNumber ) ;
47- Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
48-
49- }
50- [ Fact ]
51- public void GetVariableExpressionStartAst ( )
52- {
53- RenameSymbolParams request = new ( ) {
54- Column = 1 ,
55- Line = 15 ,
56- RenameTo = "Renamed" ,
57- FileName = "TestDetection.ps1"
58- } ;
59- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
6036
61- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
62- Assert . Equal ( 15 , symbol . Extent . StartLineNumber ) ;
63- Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
64-
65- }
66- [ Fact ]
67- public void GetVariableWithinParameterAst ( )
68- {
69- RenameSymbolParams request = new ( ) {
70- Column = 21 ,
71- Line = 3 ,
72- RenameTo = "Renamed" ,
73- FileName = "TestDetection.ps1"
74- } ;
75- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
76-
77- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
78- Assert . Equal ( 3 , symbol . Extent . StartLineNumber ) ;
79- Assert . Equal ( 17 , symbol . Extent . StartColumnNumber ) ;
80-
81- }
82- [ Fact ]
83- public void GetHashTableKey ( )
37+ public class GetAstShouldDetectTestData : TheoryData < RenameSymbolParamsSerialized , int , int >
8438 {
85- RenameSymbolParams request = new ( ) {
86- Column = 9 ,
87- Line = 16 ,
88- RenameTo = "Renamed" ,
89- FileName = "TestDetection.ps1"
90- } ;
91- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
92-
93- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
94- Assert . Equal ( 16 , symbol . Extent . StartLineNumber ) ;
95- Assert . Equal ( 5 , symbol . Extent . StartColumnNumber ) ;
96-
39+ public GetAstShouldDetectTestData ( )
40+ {
41+ Add ( new RenameSymbolParamsSerialized ( RenameUtilitiesData . GetVariableExpressionAst ) , 15 , 1 ) ;
42+ Add ( new RenameSymbolParamsSerialized ( RenameUtilitiesData . GetVariableExpressionStartAst ) , 15 , 1 ) ;
43+ Add ( new RenameSymbolParamsSerialized ( RenameUtilitiesData . GetVariableWithinParameterAst ) , 3 , 17 ) ;
44+ Add ( new RenameSymbolParamsSerialized ( RenameUtilitiesData . GetHashTableKey ) , 16 , 5 ) ;
45+ Add ( new RenameSymbolParamsSerialized ( RenameUtilitiesData . GetVariableWithinCommandAst ) , 6 , 28 ) ;
46+ Add ( new RenameSymbolParamsSerialized ( RenameUtilitiesData . GetCommandParameterAst ) , 21 , 10 ) ;
47+ Add ( new RenameSymbolParamsSerialized ( RenameUtilitiesData . GetFunctionDefinitionAst ) , 1 , 1 ) ;
48+ }
9749 }
98- [ Fact ]
99- public void GetVariableWithinCommandAst ( )
100- {
101- RenameSymbolParams request = new ( ) {
102- Column = 29 ,
103- Line = 6 ,
104- RenameTo = "Renamed" ,
105- FileName = "TestDetection.ps1"
106- } ;
107- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
10850
109- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
110- Assert . Equal ( 6 , symbol . Extent . StartLineNumber ) ;
111- Assert . Equal ( 28 , symbol . Extent . StartColumnNumber ) ;
112-
113- }
114- [ Fact ]
115- public void GetCommandParameterAst ( )
51+ [ Theory ]
52+ [ ClassData ( typeof ( GetAstShouldDetectTestData ) ) ]
53+ public void GetAstShouldDetect ( RenameSymbolParamsSerialized s , int l , int c )
11654 {
117- RenameSymbolParams request = new ( ) {
118- Column = 12 ,
119- Line = 21 ,
120- RenameTo = "Renamed" ,
121- FileName = "TestDetection.ps1"
122- } ;
123- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
124-
125- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
126- Assert . Equal ( 21 , symbol . Extent . StartLineNumber ) ;
127- Assert . Equal ( 10 , symbol . Extent . StartColumnNumber ) ;
128-
55+ ScriptFile scriptFile = GetTestScript ( s . FileName ) ;
56+ Ast symbol = Utilities . GetAst ( s . Line , s . Column , scriptFile . ScriptAst ) ;
57+ // Assert the Line and Column is what is expected
58+ Assert . Equal ( l , symbol . Extent . StartLineNumber ) ;
59+ Assert . Equal ( c , symbol . Extent . StartColumnNumber ) ;
12960 }
130- [ Fact ]
131- public void GetFunctionDefinitionAst ( )
132- {
133- RenameSymbolParams request = new ( ) {
134- Column = 12 ,
135- Line = 1 ,
136- RenameTo = "Renamed" ,
137- FileName = "TestDetection.ps1"
138- } ;
139- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
140-
141- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
142- Assert . Equal ( 1 , symbol . Extent . StartLineNumber ) ;
143- Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
14461
145- }
14662 [ Fact ]
14763 public void GetVariableUnderFunctionDef ( )
14864 {
0 commit comments