public void StartListening_AlreadyListening_DoesNothing() { // Arrange uint cookie = 100; var callCount = 0; var fileChangeService = new Mock <IVsFileChangeEx>(); fileChangeService .Setup(f => f.AdviseFileChange(It.IsAny <string>(), It.IsAny <uint>(), It.IsAny <IVsFileChangeEvents>(), out cookie)) .Returns(VSConstants.S_OK) .Callback(() => callCount++); var tracker = new DefaultFileChangeTracker("C:/_ViewImports.cshtml", Dispatcher, ErrorReporter, fileChangeService.Object); tracker.StartListening(); // Act tracker.StartListening(); // Assert Assert.Equal(1, callCount); }
public void StartListening_AdvisesForFileChange() { // Arrange uint cookie; var fileChangeService = new Mock <IVsFileChangeEx>(); fileChangeService .Setup(f => f.AdviseFileChange(It.IsAny <string>(), It.IsAny <uint>(), It.IsAny <IVsFileChangeEvents>(), out cookie)) .Returns(VSConstants.S_OK) .Verifiable(); var tracker = new DefaultFileChangeTracker("C:/_ViewImports.cshtml", Dispatcher, ErrorReporter, fileChangeService.Object); // Act tracker.StartListening(); // Assert fileChangeService.Verify(); }