public void CalculateReturnChangeTest()
        {
            var calculator = new ChangeReturnCalculator();
            var request    = new ChangeReturnRequest()
            {
                UserCash = 2.00M, ItemCost = 1.32M
            };
            var result = calculator.CalculateChange(request);

            Assert.AreEqual(result.Quarters, 2);
            Assert.AreEqual(result.Dimes, 1);
            Assert.AreEqual(result.Nickels, 1);
            Assert.AreEqual(result.Pennies, 3);
        }
Exemple #2
0
        public ActionResult ChangeReturnInput(ChangeReturnModel request)
        {
            if (ModelState.IsValid)
            {
                var changeFind = new ChangeReturnCalculator();
                var changeData = new ChangeReturnRequest();
                changeData.UserCash = request.UserCash;
                changeData.ItemCost = (decimal)(request.ItemCost);


                var result = changeFind.CalculateChange(changeData);
                return(View("ChangeReturnOutput", result));
            }
            else
            {
                return(View(request));
            }
        }
Exemple #3
0
        public ChangeReturnResponse CalculateChange(ChangeReturnRequest request)
        {
            var response = new ChangeReturnResponse();

            response.UserCash = (decimal)(request.UserCash);
            response.ItemCost = request.ItemCost;
            response.Change   = (decimal)((request.UserCash - request.ItemCost) * 100);

            response.Cents    = (int)response.Change;
            response.Quarters = response.Cents / 25;
            response.Cents   -= response.Quarters * 25;
            response.Dimes    = response.Cents / 10;
            response.Cents   -= response.Dimes * 10;
            response.Nickels  = response.Cents / 5;
            response.Cents   -= response.Nickels * 5;
            response.Pennies  = response.Cents / 1;
            response.Cents   -= response.Pennies * 1;

            return(response);
        }