public async Task GetImageProviderReturnsExpectedResultWhenCreatedWithLambdaReturningAsynchronousImageProvider() { var backgroundImage = new ColorImageSource(BackgroundLayerSize, Colors.AliceBlue); var backgroundLayer = new Layer(LayerStyle.Normal(), backgroundImage, BackgroundLayerSize); var layer = new AdjustmentLayer(LayerStyle.Normal(), context => CreateTestEffectAsync(context)); var imageProvider = layer.GetImageProvider(CreateFakeLayerContext(backgroundLayer, backgroundImage, layer)); ((IImageConsumer)await imageProvider.AsTask()).Source = backgroundImage; Assert.IsFalse(imageProvider.WasSynchronous); var imageProviderResult = await imageProvider.AsTask(); Assert.IsNotNull(imageProviderResult); var imageProviderInfo = await imageProvider.Result.GetInfoAsync(); Assert.AreEqual(BackgroundLayerSize, imageProviderInfo.ImageSize); }
public async Task GetImageProviderReturnsExpectedResultWhenCreatedWithAsynchronousImageProvider() { var backgroundImage = new ColorImageSource(BackgroundLayerSize, Colors.AliceBlue); var backgroundLayer = new Layer(LayerStyle.Normal(), backgroundImage, BackgroundLayerSize); var layer = new AdjustmentLayer(LayerStyle.Normal(), CreateTestEffectAsync()); var imageProvider = layer.GetImageProvider(CreateFakeLayerContext(backgroundLayer, backgroundImage, layer)); ((IImageConsumer)await imageProvider.AsTask()).Source = backgroundImage; Assert.IsFalse(imageProvider.WasSynchronous); var imageProviderResult = await imageProvider.AsTask(); Assert.IsNotNull(imageProviderResult); var bitmapRenderer = new BitmapRenderer(imageProvider.Result); var bitmap = await bitmapRenderer.RenderAsync(); Assert.AreEqual(BackgroundLayerSize, bitmap.Dimensions); }