Skip to content

Commit

Permalink
Add a few tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Hosch250 committed Jun 6, 2016
1 parent 47ca544 commit f32c499
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,36 @@ Sub IClass1_Foo(arg1 As Integer)
Assert.AreEqual(1, inspectionResults.Count());
}

[TestMethod]
[TestCategory("Inspections")]
public void ImplicitByRefParameter_DoesNotReturnResult_BuiltInEvent()
{
//Input
const string inputCode =
@"Private Sub UserForm_Zoom(Percent As Integer)
End Sub";

//Arrange
var builder = new MockVbeBuilder();
var project = builder.ProjectBuilder("TestProject1", vbext_ProjectProtection.vbext_pp_none)
.AddComponent("Class1", vbext_ComponentType.vbext_ct_MSForm, inputCode)
.Build();
var vbe = builder.AddProject(project).Build();

var mockHost = new Mock<IHostApplication>();
mockHost.SetupAllProperties();
var parser = MockParser.Create(vbe.Object, new RubberduckParserState());

parser.Parse();
if (parser.State.Status >= ParserState.Error) { Assert.Inconclusive("Parser Error"); }

var inspection = new ImplicitByRefParameterInspection(parser.State);
var inspectionResults = inspection.GetInspectionResults();

Assert.AreEqual(0, inspectionResults.Count());
}

[TestMethod]
[TestCategory("Inspections")]
public void ImplicitByRefParameter_QuickFixWorks_PassByRef()
Expand Down
26 changes: 26 additions & 0 deletions RubberduckTests/Inspections/ParameterCanBeByValInspectionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,32 @@ public void ParameterCanByByVal_DoesNotReturnResult_PassedByRefAndAssigned()
Assert.AreEqual(0, inspectionResults.Count());
}

[TestMethod]
[TestCategory("Inspections")]
public void ParameterCanByByVal_DoesNotReturnResult_BuiltInEventParam()
{
const string inputCode =
@"Sub Foo(ByRef arg1 As String)
arg1 = ""test""
End Sub";

//Arrange
var builder = new MockVbeBuilder();
VBComponent component;
var vbe = builder.BuildFromSingleStandardModule(inputCode, out component);
var mockHost = new Mock<IHostApplication>();
mockHost.SetupAllProperties();
var parser = MockParser.Create(vbe.Object, new RubberduckParserState());

parser.Parse();
if (parser.State.Status >= ParserState.Error) { Assert.Inconclusive("Parser Error"); }

var inspection = new ParameterCanBeByValInspection(parser.State);
var inspectionResults = inspection.GetInspectionResults();

Assert.AreEqual(0, inspectionResults.Count());
}

[TestMethod]
[TestCategory("Inspections")]
public void ParameterCanByByVal_ReturnsResult_SomeParams()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,42 @@ public void ProcedureShouldBeFunction_DoesNotReturnResult_EventImplementation()
Assert.AreEqual(0, inspectionResults.Count());
}

[TestMethod]
[TestCategory("Inspections")]
public void ProcedureShouldBeFunction_DoesNotReturnResult_BuiltInEventImplementation()
{
//Input
const string inputCode =
@"Private Sub UserForm_Zoom(Percent As Integer)
End Sub";

//Arrange
var settings = new Mock<IGeneralConfigService>();
var config = GetTestConfig();
settings.Setup(x => x.LoadConfiguration()).Returns(config);

var builder = new MockVbeBuilder();
var project = builder.ProjectBuilder("TestProject1", vbext_ProjectProtection.vbext_pp_none)
.AddComponent("Class1", vbext_ComponentType.vbext_ct_MSForm, inputCode)
.Build();
var vbe = builder.AddProject(project).Build();

var mockHost = new Mock<IHostApplication>();
mockHost.SetupAllProperties();
var parser = MockParser.Create(vbe.Object, new RubberduckParserState());

parser.Parse();
if (parser.State.Status >= ParserState.Error) { Assert.Inconclusive("Parser Error"); }

var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });

var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;

Assert.AreEqual(0, inspectionResults.Count());
}

[TestMethod]
[TestCategory("Inspections")]
public void ProcedureShouldBeFunction_QuickFixWorks()
Expand Down

0 comments on commit f32c499

Please sign in to comment.