1212using Microsoft . PowerShell . EditorServices . Handlers ;
1313using Xunit ;
1414using System . Management . Automation . Language ;
15+ using static PowerShellEditorServices . Test . Refactoring . RefactorUtilities ;
1516using Microsoft . PowerShell . EditorServices . Refactoring ;
16- using System . Management . Automation . Language ;
17- using System . Collections . Generic ;
18- using System . Linq ;
17+ using PowerShellEditorServices . Test . Shared . Refactoring . Utilities ;
1918
2019namespace PowerShellEditorServices . Test . Refactoring
2120{
@@ -34,140 +33,48 @@ public async Task InitializeAsync()
3433 public async Task DisposeAsync ( ) => await Task . Run ( psesHost . StopAsync ) ;
3534 private ScriptFile GetTestScript ( string fileName ) => workspace . GetFile ( TestUtilities . GetSharedPath ( Path . Combine ( "Refactoring" , "Utilities" , fileName ) ) ) ;
3635
37- [ Fact ]
38- public void GetVariableExpressionAst ( )
39- {
40- RenameSymbolParams request = new ( )
41- {
42- Column = 11 ,
43- Line = 15 ,
44- RenameTo = "Renamed" ,
45- FileName = "TestDetection.ps1"
46- } ;
47- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
48-
49- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
50- Assert . Equal ( 15 , symbol . Extent . StartLineNumber ) ;
51- Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
5236
53- }
54- [ Fact ]
55- public void GetVariableExpressionStartAst ( )
37+ public class GetAstShouldDetectTestData : TheoryData < RenameSymbolParamsSerialized , int , int >
5638 {
57- RenameSymbolParams request = new ( )
39+ public GetAstShouldDetectTestData ( )
5840 {
59- Column = 1 ,
60- Line = 15 ,
61- RenameTo = "Renamed" ,
62- FileName = "TestDetection.ps1"
63- } ;
64- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
65-
66- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
67- Assert . Equal ( 15 , symbol . Extent . StartLineNumber ) ;
68- Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
69-
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+ }
7049 }
71- [ Fact ]
72- public void GetVariableWithinParameterAst ( )
73- {
74- RenameSymbolParams request = new ( )
75- {
76- Column = 21 ,
77- Line = 3 ,
78- RenameTo = "Renamed" ,
79- FileName = "TestDetection.ps1"
80- } ;
81- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
82-
83- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
84- Assert . Equal ( 3 , symbol . Extent . StartLineNumber ) ;
85- Assert . Equal ( 17 , symbol . Extent . StartColumnNumber ) ;
86-
87- }
88- [ Fact ]
89- public void GetHashTableKey ( )
90- {
91- RenameSymbolParams request = new ( )
92- {
93- Column = 9 ,
94- Line = 16 ,
95- RenameTo = "Renamed" ,
96- FileName = "TestDetection.ps1"
97- } ;
98- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
99-
100- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
101- Assert . Equal ( 16 , symbol . Extent . StartLineNumber ) ;
102- Assert . Equal ( 5 , symbol . Extent . StartColumnNumber ) ;
10350
104- }
105- [ Fact ]
106- public void GetVariableWithinCommandAst ( )
51+ [ Theory ]
52+ [ ClassData ( typeof ( GetAstShouldDetectTestData ) ) ]
53+ public void GetAstShouldDetect ( RenameSymbolParamsSerialized s , int l , int c )
10754 {
108- RenameSymbolParams request = new ( )
109- {
110- Column = 29 ,
111- Line = 6 ,
112- RenameTo = "Renamed" ,
113- FileName = "TestDetection.ps1"
114- } ;
115- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
116-
117- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
118- Assert . Equal ( 6 , symbol . Extent . StartLineNumber ) ;
119- Assert . Equal ( 28 , symbol . Extent . StartColumnNumber ) ;
120-
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 ) ;
12160 }
122- [ Fact ]
123- public void GetCommandParameterAst ( )
124- {
125- RenameSymbolParams request = new ( )
126- {
127- Column = 12 ,
128- Line = 21 ,
129- RenameTo = "Renamed" ,
130- FileName = "TestDetection.ps1"
131- } ;
132- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
13361
134- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
135- Assert . Equal ( 21 , symbol . Extent . StartLineNumber ) ;
136- Assert . Equal ( 10 , symbol . Extent . StartColumnNumber ) ;
137-
138- }
13962 [ Fact ]
140- public void GetFunctionDefinitionAst ( )
63+ public void GetVariableUnderFunctionDef ( )
14164 {
14265 RenameSymbolParams request = new ( )
14366 {
144- Column = 12 ,
145- Line = 1 ,
67+ Column = 5 ,
68+ Line = 2 ,
14669 RenameTo = "Renamed" ,
147- FileName = "TestDetection .ps1"
70+ FileName = "TestDetectionUnderFunctionDef .ps1"
14871 } ;
14972 ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
15073
15174 Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
152- Assert . Equal ( 1 , symbol . Extent . StartLineNumber ) ;
153- Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
154-
155- }
156- [ Fact ]
157- public void GetVariableUnderFunctionDef ( )
158- {
159- RenameSymbolParams request = new ( ) {
160- Column = 5 ,
161- Line = 2 ,
162- RenameTo = "Renamed" ,
163- FileName = "TestDetectionUnderFunctionDef.ps1"
164- } ;
165- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
166-
167- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
16875 Assert . IsType < VariableExpressionAst > ( symbol ) ;
169- Assert . Equal ( 2 , symbol . Extent . StartLineNumber ) ;
170- Assert . Equal ( 5 , symbol . Extent . StartColumnNumber ) ;
76+ Assert . Equal ( 2 , symbol . Extent . StartLineNumber ) ;
77+ Assert . Equal ( 5 , symbol . Extent . StartColumnNumber ) ;
17178
17279 }
17380 [ Fact ]
0 commit comments