예제 #1
0
        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));
        }
예제 #2
0
 public BudgetController(BudgetBusiness business, BasicInfoWrapper basicInfoWrapper)
 {
     this._business    = business;
     _basicInfoWrapper = basicInfoWrapper;
 }