Skip to content

Commit

Permalink
Unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
IvenBach committed Jan 11, 2018
1 parent 6b7dbe9 commit a063a07
Show file tree
Hide file tree
Showing 2 changed files with 327 additions and 0 deletions.
326 changes: 326 additions & 0 deletions RubberduckTests/Inspections/DefTypeStatementInspectionTests.cs
@@ -0,0 +1,326 @@
using NUnit.Framework;
using Rubberduck.Parsing.Inspections.Resources;
using Rubberduck.Inspections.Concrete;
using RubberduckTests.Mocks;
using System.Threading;
using System.Linq;

namespace RubberduckTests.Inspections
{
[TestFixture]
public class DefTypeStatementInspectionTests
{
[Test]
[Category("Inspections")]
public void DefType_InspectionType()
{
var inspection = new DefTypeStatementInspection(null);
const CodeInspectionType expectedInspection = CodeInspectionType.LanguageOpportunities;

Assert.AreEqual(expectedInspection, inspection.InspectionType);
}

[Test]
[Category("Inspections")]
public void DefType_Bool()
{
const string inputCode =
@"DefBool A
Public Function aFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_Byte()
{
const string inputCode =
@"DefByte B
Public Function bFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_Integer()
{
const string inputCode =
@"DefInt C
Public Function cFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_Long()
{
const string inputCode =
@"DefLng D
Public Function dFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_Currency()
{
const string inputCode =
@"DefCur E
Public Function eFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_Single()
{
const string inputCode =
@"DefSng F
Public Function fFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_Double()
{
const string inputCode =
@"DefDbl G
Public Function gFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_Date()
{
const string inputCode =
@"DefDate H
Public Function hFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_String()
{
const string inputCode =
@"DefStr I
Public Function iFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_Object()
{
const string inputCode =
@"DefObj J
Public Function jFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_Variant()
{
const string inputCode =
@"DefVar K
Public Function kFoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_SingleResultIgnored()
{
const string inputCode =
@"'@Ignore DefTypeStatement
DefInt F
Public Function FunctionWontBeFoundInResult()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_AllDefTypeAreFound()
{
const string inputCode =
@"DefBool A
DefByte B
DefInt C
DefLng D
DefCur E
DefSng F
DefDbl G
DefDate H
DefStr I
DefObj J
DefVar K
Public Function Zoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

[Test]
[Category("Inspections")]
public void DefType_AllDefTypeAreIgnored()
{
const string inputCode =
@"'@Ignore DefTypeStatement
DefBool A
DefByte B
DefInt C
DefLng D
DefCur E
DefSng F
DefDbl G
DefDate H
DefStr I
DefObj J
DefVar K
Public Function Zoo()
End Function";

var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _);
using (var state = MockParser.CreateAndParse(vbe.Object))
{
var inspection = new DefTypeStatementInspection(state);
var inspector = InspectionsHelper.GetInspector(inspection);
var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result;

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

}
}
1 change: 1 addition & 0 deletions RubberduckTests/RubberduckTests.csproj
Expand Up @@ -104,6 +104,7 @@
<Compile Include="Binding\SimpleNameDefaultBindingTests.cs" />
<Compile Include="Binding\SimpleNameTypeBindingTests.cs" />
<Compile Include="CodeExplorer\CodeExplorerTests.cs" />
<Compile Include="Inspections\DefTypeStatementInspectionTests.cs" />
<Compile Include="VBEditor\ComSafeManagerTests.cs" />
<Compile Include="VBEditor\ReferenceEqualityComparerTests.cs" />
<Compile Include="VBEditor\ComSafeTests.cs" />
Expand Down

0 comments on commit a063a07

Please sign in to comment.