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 })); }
/// <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]); }