Unit testing concurrent code using custom TaskScheduler

Today I had a need to test an action that runs inside a Task: [code lang="csharp"] public class ClassToTest { private readonly IMessageBus _messageBus; private CancellationTokenSource _cancellationTokenSource; public event EventHandler OnNewMessage;</pre> public ClassToTest(IMessageBus messageBus) { _messageBus = messageBus; } public void Start() { _cancellationTokenSource = new CancellationTokenSource(); Task.Run(() => { var message = _messageBus.GetNextMessage(); // … Continue reading Unit testing concurrent code using custom TaskScheduler