Esempio n. 1
0
        public void MemberNotOnInterface_ReturnsResult_WithBlock()
        {
            const string inputCode =
                @"Sub Foo()
    Dim dict As New Dictionary
    With dict
        .NonMember
    End With
End Sub";

            var parser = ArrangeParser(inputCode);

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

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

            Assert.AreEqual(1, inspectionResults.Count());
        }
Esempio n. 2
0
        public void MemberNotOnInterface_DoesNotReturnResult_WithBlockBangNotation()
        {
            const string inputCode =
                @"Sub Foo()
    Dim dict As New Dictionary
    With dict
        !SomeIdentifier = 42
    End With
End Sub";

            var parser = ArrangeParser(inputCode);

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

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

            Assert.IsFalse(inspectionResults.Any());
        }
Esempio n. 3
0
        public void MemberNotOnInterface_DoesNotReturnResult_ControlObject()
        {
            const string inputCode =
                @"Sub Foo(bar as MSForms.TextBox)
    Debug.Print bar.Left
End Sub";

            var vbeBuilder     = new MockVbeBuilder();
            var projectBuilder = vbeBuilder.ProjectBuilder("testproject", ProjectProtection.Unprotected);

            projectBuilder.MockUserFormBuilder("UserForm1", inputCode).AddFormToProjectBuilder()
            .AddReference("MSForms", MockVbeBuilder.LibraryPathMsForms, 2, 0, true);

            vbeBuilder.AddProject(projectBuilder.Build());
            var vbe = vbeBuilder.Build();

            using (var state = MockParser.CreateAndParse(vbe.Object))
            {
                var inspection        = new MemberNotOnInterfaceInspection(state);
                var inspectionResults = inspection.GetInspectionResults(CancellationToken.None);

                Assert.IsTrue(!inspectionResults.Any());
            }
        }