Esempio n. 1
0
        public void VsAnalysisHelperConstructorTest()
        {
            IServiceProvider            serviceProvider = new MockServiceProvider();
            StyleCopCore                core            = new StyleCopCore();
            FileAnalysisHelper_Accessor specificTarget  = new FileAnalysisHelper_Accessor(serviceProvider, core);
            AnalysisHelper_Accessor     target          = FileAnalysisHelper_Accessor.AttachShadow(specificTarget.Target);

            Assert.IsNotNull(target, "Unable to instantiate the AnalysisHelper class");
            Assert.IsNotNull(target.Core, "AnalysisHelper.Core was null");
        }
Esempio n. 2
0
        public void OnNavigateEmptyDocumentTest()
        {
            bool eventFired = false;
            var  mockDte    = new Mock <DTE>();

            this.mockServiceProvider.ImplementExpr(sp => sp.GetService(typeof(EnvDTE.DTE)), mockDte.Instance);
            this.mockServiceProvider.ImplementExpr(sp => sp.GetService(typeof(SVsSolutionBuildManager)), new MockSolutionBuildManager());
            AnalysisHelper_Accessor analysisHelper = this.SetCoreNoUI();

            analysisHelper.core.OutputGenerated += (sender, args) => { eventFired = true; };

            // Does nothing - included for code coverage and to catch it if it starts doing something unexpectedly
            this.taskUnderTestShell.Document = string.Empty;
            this.taskUnderTest.OnNavigate(EventArgs.Empty);

            Assert.IsTrue(eventFired, "Core did not fire output event");
        }
Esempio n. 3
0
        public void VsOnNavigateToDocNotInProjectTest()
        {
            var mockDocumentEnumerator = new SequenceMock <IEnumerator>();
            var mockDte            = new Mock <EnvDTE.DTE>();
            var mockDocuments      = new Mock <EnvDTE.Documents>();
            var mockDocument       = new SequenceMock <EnvDTE.Document>();
            var mockActiveDocument = new Mock <EnvDTE.Document>();
            var mockTextSelection  = new SequenceMock <EnvDTE.TextSelection>();
            var mockVirtualPoint   = new SequenceMock <EnvDTE.VirtualPoint>();

            this.SetupProjectUtilities(mockDocumentEnumerator, mockDte, mockDocuments, mockDocument, mockActiveDocument, "DummyFile.txt");
            var mockSecondDocument = new SequenceMock <EnvDTE.Document>();

            mockDocumentEnumerator.AddExpectationExpr(docs => docs.MoveNext(), true);
            mockDocumentEnumerator.AddExpectationExpr(docs => docs.Current, mockSecondDocument.Instance);
            mockDocumentEnumerator.AddExpectationExpr(docs => docs.MoveNext(), false);

            mockSecondDocument.AddExpectationExpr(doc => doc.FullName, "DummyFile.txt");

            AnalysisHelper_Accessor analysisHelper = SetCoreNoUI();
            bool eventFired = false;

            analysisHelper.core.OutputGenerated += (sender, args) => { eventFired = true; };

            mockActiveDocument.ImplementExpr(doc => doc.Selection, mockTextSelection.Instance);

            mockTextSelection.ImplementExpr(sel => sel.GotoLine(this.violation.LineNumber, true));
            mockTextSelection.ImplementExpr(sel => sel.ActivePoint, mockVirtualPoint.Instance);

            mockVirtualPoint.ImplementExpr(vp => vp.TryToShow(EnvDTE.vsPaneShowHow.vsPaneShowCentered, 0));

            this.mockServiceProvider.ImplementExpr(sp => sp.GetService(typeof(EnvDTE.DTE)), mockDte.Instance);
            ProjectUtilities_Accessor.SetServiceProvider(this.mockServiceProvider.Instance);

            // Execute
            this.taskUnderTest.OnNavigate(EventArgs.Empty);

            // Verify the required methods are called to show the violation
            mockTextSelection.Verify();
            mockVirtualPoint.Verify();
            mockDocument.Verify();

            Assert.IsTrue(eventFired, "Core did not fire output event");
        }