public async Task StartAsyncThenDisposeTriggersCancelledToken()
        {
            var service = new WaitForCancelledTokenService();

            await service.StartAsync(CancellationToken.None);

            service.Dispose();
        }
        public async Task StartAsyncThenCancelShouldCancelExecutingTask()
        {
            var tokenSource = new CancellationTokenSource();

            var service = new WaitForCancelledTokenService();

            await service.StartAsync(tokenSource.Token);

            tokenSource.Cancel();

            await Assert.ThrowsAsync <TaskCanceledException>(() => service.ExecutingTask);
        }
        public void CreateAndDisposeShouldNotThrow()
        {
            var service = new WaitForCancelledTokenService();

            service.Dispose();
        }