public void DropAllFSEventsIfConfigured([Values(true, false)] bool dropAll)
        {
            var manager = new SyncEventManager();
            var handler = new Mock <SyncEventHandler>()
            {
                CallBase = true
            };

            handler.Setup(h => h.Priority).Returns(EventHandlerPriorities.CRITICAL);
            var underTest = new SingleStepEventQueue(manager);

            manager.AddEventHandler(handler.Object);

            underTest.DropAllLocalFileSystemEvents = dropAll;
            underTest.AddEvent(Mock.Of <IFSEvent>());
            underTest.AddEvent(Mock.Of <ISyncEvent>());
            underTest.Run();

            handler.Verify(h => h.Handle(It.IsAny <IFSEvent>()), dropAll ? Times.Never() : Times.Once());
            handler.Verify(h => h.Handle(It.IsAny <ISyncEvent>()), dropAll ? Times.Once() : Times.Exactly(2));
        }
        public void DropAllFSEventsIfConfigured([Values(true, false)]bool dropAll) {
            var manager = new SyncEventManager();
            var handler = new Mock<SyncEventHandler>() { CallBase = true };
            handler.Setup(h => h.Priority).Returns(EventHandlerPriorities.CRITICAL);
            var underTest = new SingleStepEventQueue(manager);
            manager.AddEventHandler(handler.Object);

            underTest.DropAllLocalFileSystemEvents = dropAll;
            underTest.AddEvent(Mock.Of<IFSEvent>());
            underTest.AddEvent(Mock.Of<ISyncEvent>());
            underTest.Run();

            handler.Verify(h => h.Handle(It.IsAny<IFSEvent>()), dropAll ? Times.Never() : Times.Once());
            handler.Verify(h => h.Handle(It.IsAny<ISyncEvent>()), dropAll ? Times.Once() : Times.Exactly(2));
        }