Skip to content

Commit 47d59dd

Browse files
authored
Merge pull request #3309 from Vogel612/quickfix-tests
Extracts QuickFix unit tests out of inspections test classes.
2 parents 4bfe08e + 3aae32f commit 47d59dd

File tree

83 files changed

+6912
-6358
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+6912
-6358
lines changed

RubberduckTests/Inspections/ApplicationWorksheetFunctionInspectionTests.cs

Lines changed: 0 additions & 172 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Threading;
33
using Microsoft.VisualStudio.TestTools.UnitTesting;
44
using Rubberduck.Inspections.Concrete;
5-
using Rubberduck.Inspections.QuickFixes;
65
using Rubberduck.Parsing.VBA;
76
using Rubberduck.VBEditor.SafeComWrappers;
87
using RubberduckTests.Mocks;
@@ -227,176 +226,5 @@ End Sub
227226

228227
Assert.IsFalse(inspectionResults.Any());
229228
}
230-
231-
[TestMethod]
232-
[DeploymentItem(@"Testfiles\")]
233-
[TestCategory("Inspections")]
234-
public void ApplicationWorksheetFunction_IgnoreQuickFixWorks()
235-
{
236-
const string inputCode =
237-
@"Sub ExcelSub()
238-
Dim foo As Double
239-
foo = Application.Pi
240-
End Sub
241-
";
242-
243-
const string expectedCode =
244-
@"Sub ExcelSub()
245-
Dim foo As Double
246-
'@Ignore ApplicationWorksheetFunction
247-
foo = Application.Pi
248-
End Sub
249-
";
250-
251-
var builder = new MockVbeBuilder();
252-
var project = builder.ProjectBuilder("VBAProject", ProjectProtection.Unprotected)
253-
.AddComponent("Module1", ComponentType.StandardModule, inputCode)
254-
.AddReference("Excel", MockVbeBuilder.LibraryPathMsExcel, 1, 8, true)
255-
.Build();
256-
257-
var vbe = builder.AddProject(project).Build();
258-
var component = vbe.Object.SelectedVBComponent;
259-
260-
var parser = MockParser.Create(vbe.Object);
261-
262-
parser.State.AddTestLibrary("Excel.1.8.xml");
263-
264-
parser.Parse(new CancellationTokenSource());
265-
if (parser.State.Status >= ParserState.Error) { Assert.Inconclusive("Parser Error"); }
266-
267-
var inspection = new ApplicationWorksheetFunctionInspection(parser.State);
268-
var inspectionResults = inspection.GetInspectionResults();
269-
270-
new IgnoreOnceQuickFix(parser.State, new[] {inspection}).Fix(inspectionResults.First());
271-
272-
Assert.AreEqual(expectedCode, parser.State.GetRewriter(component).GetText());
273-
}
274-
275-
[TestMethod]
276-
[DeploymentItem(@"Testfiles\")]
277-
[TestCategory("Inspections")]
278-
public void ApplicationWorksheetFunction_UseExplicitlyQuickFixWorks()
279-
{
280-
const string inputCode =
281-
@"Sub ExcelSub()
282-
Dim foo As Double
283-
foo = Application.Pi
284-
End Sub
285-
";
286-
287-
const string expectedCode =
288-
@"Sub ExcelSub()
289-
Dim foo As Double
290-
foo = Application.WorksheetFunction.Pi
291-
End Sub
292-
";
293-
294-
var builder = new MockVbeBuilder();
295-
var project = builder.ProjectBuilder("VBAProject", ProjectProtection.Unprotected)
296-
.AddComponent("Module1", ComponentType.StandardModule, inputCode)
297-
.AddReference("Excel", MockVbeBuilder.LibraryPathMsExcel, 1, 8, true)
298-
.Build();
299-
300-
var vbe = builder.AddProject(project).Build();
301-
302-
var parser = MockParser.Create(vbe.Object);
303-
304-
parser.State.AddTestLibrary("Excel.1.8.xml");
305-
306-
parser.Parse(new CancellationTokenSource());
307-
if (parser.State.Status >= ParserState.Error) { Assert.Inconclusive("Parser Error"); }
308-
309-
var inspection = new ApplicationWorksheetFunctionInspection(parser.State);
310-
var inspectionResults = inspection.GetInspectionResults();
311-
312-
new ApplicationWorksheetFunctionQuickFix(parser.State).Fix(inspectionResults.First());
313-
Assert.AreEqual(expectedCode, parser.State.GetRewriter(project.Object.VBComponents.First()).GetText());
314-
}
315-
316-
[TestMethod]
317-
[DeploymentItem(@"Testfiles\")]
318-
[TestCategory("Inspections")]
319-
public void ApplicationWorksheetFunction_UseExplicitlyQuickFixWorks_WithBlock()
320-
{
321-
const string inputCode =
322-
@"Sub ExcelSub()
323-
Dim foo As Double
324-
With Application
325-
foo = .Pi
326-
End With
327-
End Sub
328-
";
329-
330-
const string expectedCode =
331-
@"Sub ExcelSub()
332-
Dim foo As Double
333-
With Application
334-
foo = .WorksheetFunction.Pi
335-
End With
336-
End Sub
337-
";
338-
339-
var builder = new MockVbeBuilder();
340-
var project = builder.ProjectBuilder("VBAProject", ProjectProtection.Unprotected)
341-
.AddComponent("Module1", ComponentType.StandardModule, inputCode)
342-
.AddReference("Excel", MockVbeBuilder.LibraryPathMsExcel, 1, 8, true)
343-
.Build();
344-
345-
var vbe = builder.AddProject(project).Build();
346-
347-
var parser = MockParser.Create(vbe.Object);
348-
349-
parser.State.AddTestLibrary("Excel.1.8.xml");
350-
351-
parser.Parse(new CancellationTokenSource());
352-
if (parser.State.Status >= ParserState.Error) { Assert.Inconclusive("Parser Error"); }
353-
354-
var inspection = new ApplicationWorksheetFunctionInspection(parser.State);
355-
var inspectionResults = inspection.GetInspectionResults();
356-
357-
new ApplicationWorksheetFunctionQuickFix(parser.State).Fix(inspectionResults.First());
358-
Assert.AreEqual(expectedCode, parser.State.GetRewriter(project.Object.VBComponents.First()).GetText());
359-
}
360-
361-
[TestMethod]
362-
[DeploymentItem(@"Testfiles\")]
363-
[TestCategory("Inspections")]
364-
public void ApplicationWorksheetFunction_UseExplicitlyQuickFixWorks_HasParameters()
365-
{
366-
const string inputCode =
367-
@"Sub ExcelSub()
368-
Dim foo As String
369-
foo = Application.Proper(""foobar"")
370-
End Sub
371-
";
372-
373-
const string expectedCode =
374-
@"Sub ExcelSub()
375-
Dim foo As String
376-
foo = Application.WorksheetFunction.Proper(""foobar"")
377-
End Sub
378-
";
379-
380-
var builder = new MockVbeBuilder();
381-
var project = builder.ProjectBuilder("VBAProject", ProjectProtection.Unprotected)
382-
.AddComponent("Module1", ComponentType.StandardModule, inputCode)
383-
.AddReference("Excel", MockVbeBuilder.LibraryPathMsExcel, 1, 8, true)
384-
.Build();
385-
386-
var vbe = builder.AddProject(project).Build();
387-
388-
var parser = MockParser.Create(vbe.Object);
389-
390-
parser.State.AddTestLibrary("Excel.1.8.xml");
391-
392-
parser.Parse(new CancellationTokenSource());
393-
if (parser.State.Status >= ParserState.Error) { Assert.Inconclusive("Parser Error"); }
394-
395-
var inspection = new ApplicationWorksheetFunctionInspection(parser.State);
396-
var inspectionResults = inspection.GetInspectionResults();
397-
398-
new ApplicationWorksheetFunctionQuickFix(parser.State).Fix(inspectionResults.First());
399-
Assert.AreEqual(expectedCode, parser.State.GetRewriter(project.Object.VBComponents.First()).GetText());
400-
}
401229
}
402230
}

RubberduckTests/Inspections/AssignedByValParameterInspectionTests.cs

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System.Linq;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
3-
using Rubberduck.Inspections.QuickFixes;
43
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
54
using RubberduckTests.Mocks;
65
using Rubberduck.Inspections.Concrete;
@@ -164,32 +163,6 @@ End Sub
164163
Assert.IsFalse(inspectionResults.Any());
165164
}
166165

167-
[TestMethod]
168-
[TestCategory("Inspections")]
169-
public void AssignedByValParameter_IgnoreQuickFixWorks()
170-
{
171-
const string inputCode =
172-
@"Public Sub Foo(ByVal arg1 As String)
173-
Let arg1 = ""test""
174-
End Sub";
175-
176-
const string expectedCode =
177-
@"'@Ignore AssignedByValParameter
178-
Public Sub Foo(ByVal arg1 As String)
179-
Let arg1 = ""test""
180-
End Sub";
181-
182-
IVBComponent component;
183-
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
184-
185-
var state = MockParser.CreateAndParse(vbe.Object);
186-
var inspection = new AssignedByValParameterInspection(state);
187-
var inspectionResults = inspection.GetInspectionResults();
188-
189-
new IgnoreOnceQuickFix(state, new[] {inspection}).Fix(inspectionResults.First());
190-
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
191-
}
192-
193166
[TestMethod]
194167
[TestCategory("Inspections")]
195168
public void InspectionType()

RubberduckTests/Inspections/ConstantNotUsedInspectionTests.cs

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -181,60 +181,6 @@ public void ConstantNotUsed_Ignored_DoesNotReturnResult()
181181
Assert.IsFalse(inspectionResults.Any());
182182
}
183183

184-
[TestMethod]
185-
[TestCategory("Inspections")]
186-
public void ConstantNotUsed_QuickFixWorks()
187-
{
188-
const string inputCode =
189-
@"Public Sub Foo()
190-
Const const1 As Integer = 9
191-
End Sub";
192-
193-
const string expectedCode =
194-
@"Public Sub Foo()
195-
End Sub";
196-
197-
IVBComponent component;
198-
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
199-
var state = MockParser.CreateAndParse(vbe.Object);
200-
201-
var inspection = new ConstantNotUsedInspection(state);
202-
var inspectionResults = inspection.GetInspectionResults();
203-
204-
new RemoveUnusedDeclarationQuickFix(state).Fix(inspectionResults.First());
205-
206-
var rewriter = state.GetRewriter(component);
207-
var rewrittenCode = rewriter.GetText();
208-
Assert.AreEqual(expectedCode, rewrittenCode);
209-
}
210-
211-
[TestMethod]
212-
[TestCategory("Inspections")]
213-
public void ConstantNotUsed_IgnoreQuickFixWorks()
214-
{
215-
const string inputCode =
216-
@"Public Sub Foo()
217-
Const const1 As Integer = 9
218-
End Sub";
219-
220-
const string expectedCode =
221-
@"Public Sub Foo()
222-
'@Ignore ConstantNotUsed
223-
Const const1 As Integer = 9
224-
End Sub";
225-
226-
IVBComponent component;
227-
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
228-
var state = MockParser.CreateAndParse(vbe.Object);
229-
230-
var inspection = new ConstantNotUsedInspection(state);
231-
var inspectionResults = inspection.GetInspectionResults();
232-
233-
new IgnoreOnceQuickFix(state, new[] {inspection}).Fix(inspectionResults.First());
234-
235-
Assert.AreEqual(expectedCode, state.GetRewriter(component).GetText());
236-
}
237-
238184
[TestMethod]
239185
[TestCategory("Inspections")]
240186
public void InspectionType()

RubberduckTests/Inspections/EmptyElseBlockInspectionTests.cs

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
55
using RubberduckTests.Mocks;
66
using Rubberduck.Inspections.Concrete;
7-
using Rubberduck.Inspections.QuickFixes;
87
using Rubberduck.Parsing.Inspections.Resources;
98

109
namespace RubberduckTests.Inspections
@@ -244,37 +243,5 @@ End If
244243

245244
Assert.AreEqual(expectedCount, actualResults.Count());
246245
}
247-
248-
[TestMethod]
249-
[TestCategory("Inspections")]
250-
public void EmptyElseBlock_QuickFixRemovesElse()
251-
{
252-
const string inputCode =
253-
@"Sub Foo()
254-
If True Then
255-
Else
256-
End If
257-
End Sub";
258-
259-
const string expectedCode =
260-
@"Sub Foo()
261-
If True Then
262-
End If
263-
End Sub";
264-
265-
IVBComponent component;
266-
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out component);
267-
var state = MockParser.CreateAndParse(vbe.Object);
268-
269-
var inspection = new EmptyElseBlockInspection(state);
270-
var inspector = InspectionsHelper.GetInspector(inspection);
271-
var actualResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;
272-
273-
new RemoveEmptyElseBlockQuickFix(state).Fix(actualResults.First());
274-
275-
string actualRewrite = state.GetRewriter(component).GetText();
276-
277-
Assert.AreEqual(expectedCode, actualRewrite);
278-
}
279246
}
280247
}

0 commit comments

Comments
 (0)