public void ShutDownTest() { LogItem message = new LogItem(category, level, msg, ids, GetException()); var qThread = new Mock <IQueued <LogItem> >(MockBehavior.Strict); var writer = new Mock <ILogWriter>(MockBehavior.Strict); qThread .Setup(s => s.Terminate()); writer .Setup(s => s.GetTimeout()) .Returns(timeout); qThread .Setup(s => s.SetTimeout(It.IsAny <int>())); LogCollector target = new LogCollector(qThread.Object, writer.Object); target.ShutDown(); qThread .Verify(s => s.Terminate(), Times.Once()); }