public void GetDefaultOptionsFromProcessingContext_AlwaysReturnsInstanceEvenIfSetToNull() { var config = new Configuration(); var context = new FakeImageOperationsProvider.FakeImageOperations <Rgba32>(config, null, true); context.SetGraphicsOptions((GraphicsOptions)null); var ctxOptions = context.GetGraphicsOptions(); Assert.NotNull(ctxOptions); }
public void SetDefaultOptionsOnProcessingContext() { var option = new GraphicsOptions(); var config = new Configuration(); var context = new FakeImageOperationsProvider.FakeImageOperations <Rgba32>(config, null, true); context.SetGraphicsOptions(option); // sets the prop on the processing context not on the configuration Assert.Equal(option, context.Properties[typeof(GraphicsOptions)]); Assert.DoesNotContain(typeof(GraphicsOptions), config.Properties.Keys); }
public void UpdateDefaultOptionsOnProcessingContext_AlwaysNewInstance() { var option = new GraphicsOptions() { BlendPercentage = 0.9f }; var config = new Configuration(); var context = new FakeImageOperationsProvider.FakeImageOperations <Rgba32>(config, null, true); context.SetGraphicsOptions(option); context.SetGraphicsOptions(o => { Assert.Equal(0.9f, o.BlendPercentage); // has origional values o.BlendPercentage = 0.4f; }); var returnedOption = context.GetGraphicsOptions(); Assert.Equal(0.4f, returnedOption.BlendPercentage); Assert.Equal(0.9f, option.BlendPercentage); // hasn't been mutated }