Esempio n. 1
0
        public ActionResult CalcWeight(WeightData weightCalculation)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { Result = false, Calc = weightCalculation }));
            }

            weightCalc.Calculate(weightCalculation);

            return(Json(new { Result = true, Calc = weightCalculation }));
        }
Esempio n. 2
0
        /// <summary>
        /// A simple function that takes a string and does a ToUpper
        /// </summary>
        /// <param name="input"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        public object FunctionHandler(InputModel input, ILambdaContext context)
        {
            if (input == null)
            {
                return(new List <int> {
                    42
                });
            }

            if (input.WorkStart > input.BusiestHour || input.BusiestHour > input.WorkEnd)
            {
                return(new List <int>());
            }

            var weightCalculator = new WeightCalculator();
            var spreadCalculator = new SpreadCalculator();

            var weights = weightCalculator.Calculate(input);
            var spread  = spreadCalculator.Calculate(input, weights);

            return(spread);
        }
        public void WeightCalculateTest()
        {
            var calculator = new WeightCalculator();

            var input = new InputModel
            {
                AverageCustomersPerDay = 30,
                WorkStart   = 9,
                WorkEnd     = 18,
                BusiestHour = 16
            };
            var weights = calculator.Calculate(input);

            //hours: 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18
            //index: 0 - 1  - 2  - 3  - 4  - 5  - 6  - 7  - 8  - 9
            Assert.Equal(10, weights.Count);

            var busiestHourWeight = weights[7];

            Assert.Equal(busiestHourWeight, weights.Max());
            Assert.Equal(7.67, busiestHourWeight, 2);
            Assert.Equal(1, weights[0]);
            Assert.Equal(1, weights[9]);
        }