public void IsTaggable_NoDetectedLanguages_False()
        {
            var buffer = TaggerTestHelper.CreateBufferMock(filePath: FilePath);

            SetupDetectedLanguages(buffer, Enumerable.Empty <AnalysisLanguage>());

            var result = testSubject.IsTaggable(buffer.Object);

            result.Should().BeFalse();
        }
        public void IsTaggable_NoFilePath_False()
        {
            var buffer = TaggerTestHelper.CreateBufferMock(filePath: null);

            using (new AssertIgnoreScope())
            {
                var result = testSubject.IsTaggable(buffer.Object);
                result.Should().BeFalse();
            }
        }
        public void IsTaggable_HasDetectedLanguage_True()
        {
            var buffer = TaggerTestHelper.CreateBufferMock(filePath: FilePath);

            SetupDetectedLanguages(buffer, new List <AnalysisLanguage> {
                AnalysisLanguage.Javascript
            });

            var result = testSubject.IsTaggable(buffer.Object);

            result.Should().BeTrue();
        }
        public void LineNumber_CurrentIssueHasValidSpan_OneBasedLineNumber()
        {
            const int zeroBasedLineNumber = 10;
            var       textLine            = new Mock <ITextSnapshotLine>();

            textLine.Setup(x => x.LineNumber).Returns(zeroBasedLineNumber);

            const int mockPosition = 5;
            var       textSnapshot = Mock.Get(TaggerTestHelper.CreateSnapshot());

            textSnapshot.Setup(x => x.GetLineFromPosition(mockPosition)).Returns(textLine.Object);

            var snapshotSpan = new SnapshotSpan(textSnapshot.Object, new Span(mockPosition, 1));

            var issueViz = CreateIssue(span: snapshotSpan);

            RaiseSelectionChangedEvent(SelectionChangeLevel.Issue, issueViz);

            var expectedOneBasedLineNumber = zeroBasedLineNumber + 1;

            testSubject.LineNumber.Should().Be(expectedOneBasedLineNumber);
        }