public void ExceptionTest() { var queue = new TaskSingleton(); AssertThrow<ArgumentNullException>( () => queue.Execute(null), () => queue.Execute((Func<Task<string>>)null)); }
public void MainTest() { AsyncPump.Run( async () => { var singleton = new TaskSingleton(); var task1 = singleton.Execute(() => Task.Delay(250)); await AssertThrowAsync<InvalidOperationException>(() => singleton.Execute(() => Task.Delay(250))); await task1; var value = this.Random.Next(); Assert.AreEqual(value, await singleton.Execute(() => Task.FromResult(value))); }); }