public static void AddFulfilmentApi(this IServiceCollection services, IConfiguration configuration)
        {
            services.AddSingleton <IColourMatch, ConfigurationBasedColourMatch>();

            var settings = new ColourMatchMappings();

            configuration.Bind("ColourMatchMappings", settings);
            services.AddSingleton(settings);
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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());
        }
Exemple #4
0
 public ConfigurationBasedColourMatch(ColourMatchMappings mappings)
 {
     this.mappings = mappings;
 }