public void InspectionName() { const string inspectionName = "IllegalAnnotationInspection"; var inspection = new IllegalAnnotationInspection(null); Assert.AreEqual(inspectionName, inspection.Name); }
public void GeneralAnnotationOnLabel_NoResult() { const string inputCode = @" Option Explicit Option Private Module Public foo As Long Public Sub Test2() Dim a As Long '@Ignore label: a =15 End Sub "; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _); using (var state = MockParser.CreateAndParse(vbe.Object)) { var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.IsFalse(inspectionResults.Any()); } }
public void GivenOneIlegalModuleAnnotationAcrossModules_OneResult() { const string inputCode1 = @" Option Explicit '@Folder(""Legal"") Sub DoSomething() '@Folder(""Illegal"") End Sub "; const string inputCode2 = @" Option Explicit '@Folder(""Legal"") "; var vbe = MockVbeBuilder.BuildFromStdModules(("Module1", inputCode1), ("Module2", inputCode2)); using (var state = MockParser.CreateAndParse(vbe.Object)) { var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.AreEqual(1, inspectionResults.Count()); } }
public void VariableAnnotationAboveModuleAnnotationAboveVariableAnnotation_NoResult() { const string inputCode = @" Option Explicit Option Private Module '@Obsolete '@TestModule Public Sub Test1() End Sub Public Sub Test2() End Sub "; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _); using (var state = MockParser.CreateAndParse(vbe.Object)) { var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.AreEqual(0, inspectionResults.Count()); } }
public void ModuleAnnotationOnIdentifierBelowDeclarationsSection_OneResult() { const string inputCode = @" Option Explicit Option Private Module Public foo As Long Public Sub Test2() Dim a As Long '@TestModule a = foo End Sub "; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _); using (var state = MockParser.CreateAndParse(vbe.Object)) { var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.AreEqual(1, inspectionResults.Count()); } }
public void MemberAnnotationBelowLastMember_OneResult() { const string inputCode = @" Option Explicit Option Private Module '@TestModule _ '@TestMethod Public Sub Test1() End Sub Public Sub Test2() End Sub '@Description ""Test"" "; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _); using (var state = MockParser.CreateAndParse(vbe.Object)) { var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.AreEqual(1, inspectionResults.Count()); } }
public void MemberAnnotationAboveLaterMember_NoResult() { const string inputCode = @" Option Explicit Option Private Module Public Sub Test1() End Sub '@TestMethod _ Public Sub Test2() End Sub "; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _); using (var state = MockParser.CreateAndParse(vbe.Object)) { var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.IsFalse(inspectionResults.Any()); } }
public void FirstMemberAnnotation_IsNotIllegal_InMultipleModules() { const string inputCode1 = @"'@TestModule '@Folder(""Test"") Option Explicit '@ModuleInitialize Public Sub ModuleInitializeLegal() End Sub"; const string inputCode2 = @"'@TestModule '@Folder(""Test"") Option Explicit '@ModuleInitialize Public Sub ModuleInitializeAlsoLegal() End Sub"; var vbe = MockVbeBuilder.BuildFromStdModules(("Module1", inputCode1), ("Module2", inputCode2)); using (var state = MockParser.CreateAndParse(vbe.Object)) { var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.IsFalse(inspectionResults.Any()); } }
public void GivenTestModule_NoResult() { const string inputCode = @" Option Explicit Option Private Module '@TestModule '@Folder(""Tests"") Private Assert As Object Private Fakes As Object '@ModuleInitialize Public Sub ModuleInitialize() 'this method runs once per module. Set Assert = CreateObject(""Rubberduck.AssertClass"") Set Fakes = CreateObject(""Rubberduck.FakesProvider"") End Sub '@ModuleCleanup Public Sub ModuleCleanup() 'this method runs once per module. Set Assert = Nothing Set Fakes = Nothing End Sub '@TestInitialize Public Sub TestInitialize() 'this method runs before every test in the module. End Sub '@TestCleanup Public Sub TestCleanup() 'this method runs after every test in the module. End Sub "; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _); using (var state = MockParser.CreateAndParse(vbe.Object)) { var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.IsFalse(inspectionResults.Any()); } }
public void GivenLegalModuleAnnotation_NoResult() { const string inputCode = @" Option Explicit '@PredeclaredId "; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _); var state = MockParser.CreateAndParse(vbe.Object); var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.IsFalse(inspectionResults.Any()); }
public void NoAnnotation_NoResult() { const string inputCode = @"Public Sub Foo() Const const1 As Integer = 9 End Sub"; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _); var state = MockParser.CreateAndParse(vbe.Object); var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.IsFalse(inspectionResults.Any()); }
public void MultipleFolderAnnotations_ReturnsResult() { const string inputCode = @"Option Explicit '@Folder ""Foo.Bar"" '@Folder ""Biz.Buz"" Public Sub Foo() End Sub"; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _); var state = MockParser.CreateAndParse(vbe.Object); var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.AreEqual(1, inspectionResults.Count()); }
public void CorrectTestModuleAnnotation_NoResult() { const string inputCode = @" Option Explicit Option Private Module '@TestModule '@Folder(""Tests"") Private Assert As Object Private Fakes As Object Public Sub Test1() End Sub "; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out _); var state = MockParser.CreateAndParse(vbe.Object); var inspection = new IllegalAnnotationInspection(state); var inspector = InspectionsHelper.GetInspector(inspection); var inspectionResults = inspector.FindIssuesAsync(state, CancellationToken.None).Result; Assert.IsFalse(inspectionResults.Any()); }
public void InspectionType() { var inspection = new IllegalAnnotationInspection(null); Assert.AreEqual(CodeInspectionType.RubberduckOpportunities, inspection.InspectionType); }