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