public void WaitsForTheWorkerToComplete() { using var target = new PooledWorker(cache.Object, worker.Object); target.WaitForCompletion(); worker.Verify(o => o.WaitForCompletion(), Times.Once); }
public void RunTheWorkerSynchronouslyAsExpected() { using var target = new PooledWorker(cache.Object, worker.Object); target.Run(); worker.Verify(o => o.Run(), Times.Once); }
public void ThrowsAnExceptionWhenAfterDispose() { var target = new PooledWorker(cache.Object, worker.Object); target.Dispose(); Assert.Throws <ObjectDisposedException>(() => target.Run()); }
public async Task WaitsForTheWorkerToCompleteAsynchronously() { worker.Setup(o => o.WaitForCompletionAsync()).Returns(Task.CompletedTask); using var target = new PooledWorker(cache.Object, worker.Object); await target.WaitForCompletionAsync(); worker.Verify(o => o.WaitForCompletionAsync(), Times.Once); }