public static void AddFulfilmentApi(this IServiceCollection services, IConfiguration configuration) { services.AddSingleton <IColourMatch, ConfigurationBasedColourMatch>(); var settings = new ColourMatchMappings(); configuration.Bind("ColourMatchMappings", settings); services.AddSingleton(settings); }
public void SubmitReturnsMatchedColour() { var order = new Order("MyId"); order.AddOrderItem("1234", "https://pwintyimages.blob.core.windows.net/samples/stars/test-sample-black.png", 1); var mappings = new ColourMatchMappings(); var colourMapping = new ColourMapping { Blue = 69, Green = 69, Red = 69, Key = "black" }; mappings.Mappings = new ColourMapping[] { colourMapping }; order.Submit(new ConfigurationBasedColourMatch(mappings)); Assert.IsTrue(order.result.ColourMatches.Any()); }
public void SubmitDoesNotReturnMatchedColour() { var order = new Order("MyId"); order.AddOrderItem("1234", "https://pwintyimages.blob.core.windows.net/samples/stars/test-sample-grey.png", 1); var mappings = new ColourMatchMappings(); var colourMapping = new ColourMapping { Blue = 7, Green = -3, Red = 13, Key = "Black", Keywords = new string[] { "Black" } }; mappings.Mappings = new ColourMapping[] { colourMapping }; order.Submit(new ConfigurationBasedColourMatch(mappings)); Assert.IsFalse(order.result.ColourMatches.Any()); }
public ConfigurationBasedColourMatch(ColourMatchMappings mappings) { this.mappings = mappings; }