public ActionResult Index() { ViewBag.Title = "Home Page"; var model = new NpvInputModel(); return(View(model)); }
public IEnumerable <NpvOutputModel> Post(NpvInputModel npvInputModel) { var outputs = new List <NpvOutputModel>(); for (var discountRate = npvInputModel.LowerBoundDiscountRate; discountRate <= npvInputModel.UpperBoundDiscountRate; discountRate += npvInputModel.DiscountRateIncrement) { discountRate = Math.Round(discountRate, 2); var npvOutput = new NpvOutputModel { DiscountRateLabel = $"{discountRate}%", NetPresentValue = _financeManager.CalculateNetPresentValue(npvInputModel.IntialInvestment, discountRate, npvInputModel.CashFlows.ToList()) }; outputs.Add(npvOutput); } return(outputs); }
public void FinanceControllerReturnsCorrectDiscountRates() { // Arrange var npvInputModel = new NpvInputModel { CashFlows = new List <double> { 100, 200 }, LowerBoundDiscountRate = 1, UpperBoundDiscountRate = 5, DiscountRateIncrement = 0.5 }; var financeManager = new FinanceManager(); var financeController = new FinanceController(financeManager); // Act var output = financeController.Post(npvInputModel); // Assert Assert.IsNotNull(output); Assert.AreEqual(9, output.Count()); }