public async Task SetImageFromAsync_ErrorTest() { using (var picbox = new OTPictureBox()) { // Mono でのテスト実行時にデッドロックする問題の対策 SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); var tcs = new TaskCompletionSource <MemoryImage>(); var setImageTask = picbox.SetImageFromTask(() => tcs.Task); Assert.Equal(picbox.InitialImage, ((PictureBox)picbox).Image); tcs.SetException(new InvalidImageException()); await setImageTask; Assert.Equal(picbox.ErrorImage, ((PictureBox)picbox).Image); } }
public async Task SetImageFromAsync_Test() { using (var picbox = new OTPictureBox()) { // Mono でのテスト実行時にデッドロックする問題の対策 SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); var tcs = new TaskCompletionSource <MemoryImage>(); var setImageTask = picbox.SetImageFromTask(() => tcs.Task); Assert.Equal(picbox.InitialImage, ((PictureBox)picbox).Image); var image = TestUtils.CreateDummyImage(); tcs.SetResult(image); await setImageTask; Assert.Equal(image, picbox.Image); } }
public async Task SetImageFromAsync_Test() { using (var picbox = new OTPictureBox()) { // Mono でのテスト実行時にデッドロックする問題の対策 SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); var tcs = new TaskCompletionSource<MemoryImage>(); var setImageTask = picbox.SetImageFromTask(() => tcs.Task); Assert.Equal(picbox.InitialImage, ((PictureBox)picbox).Image); var image = TestUtils.CreateDummyImage(); tcs.SetResult(image); await setImageTask; Assert.Equal(image, picbox.Image); } }
public async Task SetImageFromAsync_ErrorTest() { using (var picbox = new OTPictureBox()) { // Mono でのテスト実行時にデッドロックする問題の対策 SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); var tcs = new TaskCompletionSource<MemoryImage>(); var setImageTask = picbox.SetImageFromTask(() => tcs.Task); Assert.Equal(picbox.InitialImage, ((PictureBox)picbox).Image); tcs.SetException(new InvalidImageException()); await setImageTask; Assert.Equal(picbox.ErrorImage, ((PictureBox)picbox).Image); } }