public void TextView_MouseHover_TriggersQuickInfo() { // Arrange textSnapshotMock .Setup(x => x.CreateTrackingPoint(pointPosition, PointTrackingMode.Positive)) .Returns(trackingPointMock.Object); bufferGraphMock .Setup(x => x.MapDownToFirstMatch(It.IsAny <SnapshotPoint>(), PointTrackingMode.Positive, It.IsAny <Predicate <ITextSnapshot> >(), PositionAffinity.Predecessor)) .Returns(new SnapshotPoint(textSnapshotMock.Object, pointPosition)); quickInfoBrokerMock .Setup(x => x.IsQuickInfoActive(textView)) .Returns(false); quickInfoBrokerMock .Setup(x => x.TriggerQuickInfo(textView, trackingPointMock.Object, true)) .Returns((IQuickInfoSession)null); var controller = new SonarLintQuickInfoController(textView, new List <ITextBuffer>(), provider); // Act textViewMock.Raise(x => x.MouseHover += null, new MouseHoverEventArgs(textView, snapshotPosition, new Mock <IMappingPoint>().Object)); // Assert Mock.VerifyAll(textSnapshotMock, bufferGraphMock, textViewMock, quickInfoBrokerMock); }
public void Detach_Turns_Off_EventHandling() { // Arrange var controller = new SonarLintQuickInfoController(textViewMock.Object, new List <ITextBuffer>(), provider); // Act controller.Detach(textViewMock.Object); // Assert Mock.VerifyAll(quickInfoBrokerMock); // Do not verify textViewMock, the setup properties are not called // nothing really to verify here }
public void ConnectSubjectBuffer_Adds_Buffer() { // Arrange var buffers = new List <ITextBuffer>(); var controller = new SonarLintQuickInfoController( new Mock <ITextView>().Object, buffers, new SonarLintQuickInfoControllerProvider()); // Act controller.ConnectSubjectBuffer(new Mock <ITextBuffer>().Object); // Assert buffers.Should().HaveCount(1); }
public void TextView_MouseHover_No_SnapshotPoint() { // Arrange bufferGraphMock .Setup(x => x.MapDownToFirstMatch(It.IsAny <SnapshotPoint>(), PointTrackingMode.Positive, It.IsAny <Predicate <ITextSnapshot> >(), PositionAffinity.Predecessor)) .Returns((SnapshotPoint?)null); var controller = new SonarLintQuickInfoController(textView, new List <ITextBuffer>(), provider); // Act textViewMock.Raise(x => x.MouseHover += null, new MouseHoverEventArgs(textView, snapshotPosition, new Mock <IMappingPoint>().Object)); // Assert Mock.VerifyAll(textSnapshotMock, bufferGraphMock, textViewMock, quickInfoBrokerMock); }
public void DisconnectSubjectBuffer_Removes_Buffer() { // Arrange var subjectBuffer = new Mock <ITextBuffer>().Object; var buffers = new List <ITextBuffer> { subjectBuffer }; var controller = new SonarLintQuickInfoController( new Mock <ITextView>().Object, buffers, new SonarLintQuickInfoControllerProvider()); // Act controller.DisconnectSubjectBuffer(subjectBuffer); // Assert buffers.Should().BeEmpty(); }