Skip to content

Commit 290db7d

Browse files
committed
reworked applicable utilities tests to be parameterized
1 parent 276df8e commit 290db7d

File tree

2 files changed

+81
-105
lines changed

2 files changed

+81
-105
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
// Copyright (c) Microsoft Corporation.
2+
// Licensed under the MIT License.
3+
using Microsoft.PowerShell.EditorServices.Handlers;
4+
5+
namespace PowerShellEditorServices.Test.Shared.Refactoring.Utilities
6+
{
7+
internal static class RenameUtilitiesData
8+
{
9+
10+
public static readonly RenameSymbolParams GetVariableExpressionAst = new()
11+
{
12+
Column = 11,
13+
Line = 15,
14+
RenameTo = "Renamed",
15+
FileName = "TestDetection.ps1"
16+
};
17+
public static readonly RenameSymbolParams GetVariableExpressionStartAst = new()
18+
{
19+
Column = 1,
20+
Line = 15,
21+
RenameTo = "Renamed",
22+
FileName = "TestDetection.ps1"
23+
};
24+
public static readonly RenameSymbolParams GetVariableWithinParameterAst = new()
25+
{
26+
Column = 21,
27+
Line = 3,
28+
RenameTo = "Renamed",
29+
FileName = "TestDetection.ps1"
30+
};
31+
public static readonly RenameSymbolParams GetHashTableKey = new()
32+
{
33+
Column = 9,
34+
Line = 16,
35+
RenameTo = "Renamed",
36+
FileName = "TestDetection.ps1"
37+
};
38+
public static readonly RenameSymbolParams GetVariableWithinCommandAst = new()
39+
{
40+
Column = 29,
41+
Line = 6,
42+
RenameTo = "Renamed",
43+
FileName = "TestDetection.ps1"
44+
};
45+
public static readonly RenameSymbolParams GetCommandParameterAst = new()
46+
{
47+
Column = 12,
48+
Line = 21,
49+
RenameTo = "Renamed",
50+
FileName = "TestDetection.ps1"
51+
};
52+
public static readonly RenameSymbolParams GetFunctionDefinitionAst = new()
53+
{
54+
Column = 12,
55+
Line = 1,
56+
RenameTo = "Renamed",
57+
FileName = "TestDetection.ps1"
58+
};
59+
}
60+
}

test/PowerShellEditorServices.Test/Refactoring/RefactorUtilitiesTests.cs

Lines changed: 21 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
using Microsoft.PowerShell.EditorServices.Handlers;
1313
using Xunit;
1414
using System.Management.Automation.Language;
15+
using static PowerShellEditorServices.Test.Refactoring.RefactorUtilities;
1516
using Microsoft.PowerShell.EditorServices.Refactoring;
17+
using PowerShellEditorServices.Test.Shared.Refactoring.Utilities;
1618

1719
namespace 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

Comments
 (0)