Skip to content

Commit 4266b5c

Browse files
committed
Move VariableNotDeclaredIsnpectionTests for QuickFixes into relevant files under RD.QuickFixes
1 parent a78c369 commit 4266b5c

File tree

4 files changed

+151
-135
lines changed

4 files changed

+151
-135
lines changed

RubberduckTests/Inspections/VariableTypeNotDeclaredInspectionTests.cs

Lines changed: 0 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -180,141 +180,6 @@ Sub Foo(arg1)
180180
Assert.IsFalse(inspectionResults.Any());
181181
}
182182

183-
[TestMethod]
184-
[TestCategory("Inspections")]
185-
public void VariableTypeNotDeclared_QuickFixWorks_Parameter()
186-
{
187-
const string inputCode =
188-
@"Sub Foo(arg1)
189-
End Sub";
190-
191-
const string expectedCode =
192-
@"Sub Foo(arg1 As Variant)
193-
End Sub";
194-
195-
IVBComponent component;
196-
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
197-
var state = MockParser.CreateAndParse(vbe.Object);
198-
199-
var inspection = new VariableTypeNotDeclaredInspection(state);
200-
new DeclareAsExplicitVariantQuickFix(state).Fix(inspection.GetInspectionResults().First());
201-
202-
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
203-
}
204-
205-
[TestMethod]
206-
[TestCategory("Inspections")]
207-
public void VariableTypeNotDeclared_QuickFixWorks_SubNameContainsParameterName()
208-
{
209-
const string inputCode =
210-
@"Sub Foo(Foo)
211-
End Sub";
212-
213-
const string expectedCode =
214-
@"Sub Foo(Foo As Variant)
215-
End Sub";
216-
217-
IVBComponent component;
218-
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
219-
var state = MockParser.CreateAndParse(vbe.Object);
220-
221-
var inspection = new VariableTypeNotDeclaredInspection(state);
222-
new DeclareAsExplicitVariantQuickFix(state).Fix(inspection.GetInspectionResults().First());
223-
224-
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
225-
}
226-
227-
[TestMethod]
228-
[TestCategory("Inspections")]
229-
public void VariableTypeNotDeclared_QuickFixWorks_Variable()
230-
{
231-
const string inputCode =
232-
@"Sub Foo()
233-
Dim var1
234-
End Sub";
235-
236-
const string expectedCode =
237-
@"Sub Foo()
238-
Dim var1 As Variant
239-
End Sub";
240-
241-
IVBComponent component;
242-
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
243-
var state = MockParser.CreateAndParse(vbe.Object);
244-
245-
var inspection = new VariableTypeNotDeclaredInspection(state);
246-
new DeclareAsExplicitVariantQuickFix(state).Fix(inspection.GetInspectionResults().First());
247-
248-
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
249-
}
250-
251-
[TestMethod]
252-
[TestCategory("Inspections")]
253-
public void VariableTypeNotDeclared_QuickFixWorks_ParameterWithoutDefaultValue()
254-
{
255-
const string inputCode =
256-
@"Sub Foo(ByVal Fizz)
257-
End Sub";
258-
259-
const string expectedCode =
260-
@"Sub Foo(ByVal Fizz As Variant)
261-
End Sub";
262-
263-
IVBComponent component;
264-
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
265-
var state = MockParser.CreateAndParse(vbe.Object);
266-
267-
var inspection = new VariableTypeNotDeclaredInspection(state);
268-
new DeclareAsExplicitVariantQuickFix(state).Fix(inspection.GetInspectionResults().First());
269-
270-
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
271-
}
272-
273-
[TestMethod]
274-
[TestCategory("Inspections")]
275-
public void VariableTypeNotDeclared_QuickFixWorks_ParameterWithDefaultValue()
276-
{
277-
const string inputCode =
278-
@"Sub Foo(ByVal Fizz = False)
279-
End Sub";
280-
281-
const string expectedCode =
282-
@"Sub Foo(ByVal Fizz As Variant = False)
283-
End Sub";
284-
285-
IVBComponent component;
286-
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
287-
var state = MockParser.CreateAndParse(vbe.Object);
288-
289-
var inspection = new VariableTypeNotDeclaredInspection(state);
290-
new DeclareAsExplicitVariantQuickFix(state).Fix(inspection.GetInspectionResults().First());
291-
292-
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
293-
}
294-
295-
[TestMethod]
296-
[TestCategory("Inspections")]
297-
public void VariableTypeNotDeclared_IgnoreQuickFixWorks()
298-
{
299-
const string inputCode =
300-
@"Sub Foo(arg1)
301-
End Sub";
302-
303-
const string expectedCode =
304-
@"'@Ignore VariableTypeNotDeclared
305-
Sub Foo(arg1)
306-
End Sub";
307-
308-
IVBComponent component;
309-
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
310-
var state = MockParser.CreateAndParse(vbe.Object);
311-
312-
var inspection = new VariableTypeNotDeclaredInspection(state);
313-
new IgnoreOnceQuickFix(state, new[] {inspection}).Fix(inspection.GetInspectionResults().First());
314-
315-
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
316-
}
317-
318183
[TestMethod]
319184
[TestCategory("Inspections")]
320185
public void InspectionType()
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
using System.Linq;
2+
using Microsoft.VisualStudio.TestTools.UnitTesting;
3+
using Rubberduck.Inspections.Concrete;
4+
using Rubberduck.Inspections.QuickFixes;
5+
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
6+
using RubberduckTests.Mocks;
7+
8+
namespace RubberduckTests.QuickFixes
9+
{
10+
[TestClass]
11+
public class DeclareAsExplicitVariantQuickFixTests
12+
{
13+
14+
[TestMethod]
15+
[TestCategory("QuickFixes")]
16+
public void VariableTypeNotDeclared_QuickFixWorks_Parameter()
17+
{
18+
const string inputCode =
19+
@"Sub Foo(arg1)
20+
End Sub";
21+
22+
const string expectedCode =
23+
@"Sub Foo(arg1 As Variant)
24+
End Sub";
25+
26+
IVBComponent component;
27+
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
28+
var state = MockParser.CreateAndParse(vbe.Object);
29+
30+
var inspection = new VariableTypeNotDeclaredInspection(state);
31+
new DeclareAsExplicitVariantQuickFix(state).Fix(inspection.GetInspectionResults().First());
32+
33+
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
34+
}
35+
36+
[TestMethod]
37+
[TestCategory("QuickFixes")]
38+
public void VariableTypeNotDeclared_QuickFixWorks_SubNameContainsParameterName()
39+
{
40+
const string inputCode =
41+
@"Sub Foo(Foo)
42+
End Sub";
43+
44+
const string expectedCode =
45+
@"Sub Foo(Foo As Variant)
46+
End Sub";
47+
48+
IVBComponent component;
49+
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
50+
var state = MockParser.CreateAndParse(vbe.Object);
51+
52+
var inspection = new VariableTypeNotDeclaredInspection(state);
53+
new DeclareAsExplicitVariantQuickFix(state).Fix(inspection.GetInspectionResults().First());
54+
55+
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
56+
}
57+
58+
[TestMethod]
59+
[TestCategory("QuickFixes")]
60+
public void VariableTypeNotDeclared_QuickFixWorks_Variable()
61+
{
62+
const string inputCode =
63+
@"Sub Foo()
64+
Dim var1
65+
End Sub";
66+
67+
const string expectedCode =
68+
@"Sub Foo()
69+
Dim var1 As Variant
70+
End Sub";
71+
72+
IVBComponent component;
73+
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
74+
var state = MockParser.CreateAndParse(vbe.Object);
75+
76+
var inspection = new VariableTypeNotDeclaredInspection(state);
77+
new DeclareAsExplicitVariantQuickFix(state).Fix(inspection.GetInspectionResults().First());
78+
79+
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
80+
}
81+
82+
[TestMethod]
83+
[TestCategory("QuickFixes")]
84+
public void VariableTypeNotDeclared_QuickFixWorks_ParameterWithoutDefaultValue()
85+
{
86+
const string inputCode =
87+
@"Sub Foo(ByVal Fizz)
88+
End Sub";
89+
90+
const string expectedCode =
91+
@"Sub Foo(ByVal Fizz As Variant)
92+
End Sub";
93+
94+
IVBComponent component;
95+
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
96+
var state = MockParser.CreateAndParse(vbe.Object);
97+
98+
var inspection = new VariableTypeNotDeclaredInspection(state);
99+
new DeclareAsExplicitVariantQuickFix(state).Fix(inspection.GetInspectionResults().First());
100+
101+
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
102+
}
103+
104+
[TestMethod]
105+
[TestCategory("QuickFixes")]
106+
public void VariableTypeNotDeclared_QuickFixWorks_ParameterWithDefaultValue()
107+
{
108+
const string inputCode =
109+
@"Sub Foo(ByVal Fizz = False)
110+
End Sub";
111+
112+
const string expectedCode =
113+
@"Sub Foo(ByVal Fizz As Variant = False)
114+
End Sub";
115+
116+
IVBComponent component;
117+
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
118+
var state = MockParser.CreateAndParse(vbe.Object);
119+
120+
var inspection = new VariableTypeNotDeclaredInspection(state);
121+
new DeclareAsExplicitVariantQuickFix(state).Fix(inspection.GetInspectionResults().First());
122+
123+
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
124+
}
125+
126+
}
127+
}

RubberduckTests/QuickFixes/IgnoreOnceQuickFixTests.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,6 +1084,29 @@ Dim var1 As String
10841084
}
10851085

10861086

1087+
[TestMethod]
1088+
[TestCategory("QuickFixes")]
1089+
public void VariableTypeNotDeclared_IgnoreQuickFixWorks()
1090+
{
1091+
const string inputCode =
1092+
@"Sub Foo(arg1)
1093+
End Sub";
1094+
1095+
const string expectedCode =
1096+
@"'@Ignore VariableTypeNotDeclared
1097+
Sub Foo(arg1)
1098+
End Sub";
1099+
1100+
IVBComponent component;
1101+
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
1102+
var state = MockParser.CreateAndParse(vbe.Object);
1103+
1104+
var inspection = new VariableTypeNotDeclaredInspection(state);
1105+
new IgnoreOnceQuickFix(state, new[] { inspection }).Fix(inspection.GetInspectionResults().First());
1106+
1107+
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
1108+
}
1109+
10871110

10881111
}
10891112
}

RubberduckTests/RubberduckTests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@
109109
<Compile Include="Inspections\StopKeywordInspectionTests.cs" />
110110
<Compile Include="Inspections\OptionBaseZeroInspectionTests.cs" />
111111
<Compile Include="QuickFixes\ChangeProcedureToFunctionQuickFixTests.cs" />
112+
<Compile Include="QuickFixes\DeclareAsExplicitVariantQuickFixTests.cs" />
112113
<Compile Include="QuickFixes\PassParameterByReferenceQuickFixTests.cs" />
113114
<Compile Include="QuickFixes\QuickFixProviderTests.cs" />
114115
<Compile Include="QuickFixes\RemoveUnassignedIdentifierQuickFixTests.cs" />

0 commit comments

Comments
 (0)