public async void GetAvgExpenseDeviation_Should_Return_Correct_Value(int[] months, int[] expenses, int[] budget, decimal epectedResult) { _unitOfWorkMock.Setup(e => e.GetRepository <IExpenseRepository>()).Returns(_expenseRepositoryMock.Object); _unitOfWorkMock.Setup(e => e.GetRepository <IBudgetExpenseRepository>()).Returns(_budgetRepositoryMock.Object); _expenseRepositoryMock.Setup(e => e.GetExpenseAggregates()).Returns( Task.FromResult(expenses.Select(e => new TransactionAggregates { Year = 2016, Month = months[expenses.ToList().IndexOf(e)], Sum = e }).ToList())); _budgetRepositoryMock.Setup(e => e.GetExpenseAggregates()).Returns( Task.FromResult(budget.Select(e => new TransactionAggregates { Year = 2016, Month = months[budget.ToList().IndexOf(e)], Sum = e }).ToList())); var business = new BudgetBusiness(_unitOfWorkFactoryMock.Object, _dateHelperMock.Object); var result = await business.GetAvgExpenseDeviation(); Assert.AreEqual(epectedResult, Math.Round(result, 2)); }
public BudgetController(BudgetBusiness business, BasicInfoWrapper basicInfoWrapper) { this._business = business; _basicInfoWrapper = basicInfoWrapper; }