public void TestMakeTransfer_debit() { var operationsList = new List <Operation>(); StubIOperationRepository opRepository = new StubIOperationRepository(); opRepository.CreateOperationOperation = (x) => { operationsList.Add(x); }; StubIAccountRepository acRepository = new StubIAccountRepository(); acRepository.UpdateAccountAccount = (x) => { var acc1 = _accounts.SingleOrDefault(y => y.Id == x.Id); acc1.Operations = x.Operations; }; AccountService service = new AccountService(acRepository, opRepository); service.MakeTransfer(_accounts[1], _accounts[0], 200); Assert.AreEqual(_accounts[1].Balance, 200); Assert.AreEqual(_accounts[0].Balance, 100); Assert.AreEqual(operationsList.Count, 2); Assert.AreEqual(_accounts[1].Operations.Count, 2); Assert.AreEqual(_accounts[0].Operations.Count, 3); }
public void GetOperationsForAccount_AccountFound() { StubIAccountRepository accountRepository = new StubIAccountRepository(); accountRepository.GetAccountInt32 = (x) => { return(_accounts.SingleOrDefault(a => a.Id == x)); }; StubIOperationRepository operationRepository = new StubIOperationRepository(); AccountService service = new AccountService(accountRepository, operationRepository); List <Operation> result = service.GetOperationsForAccount(1); Assert.AreEqual(result.Count, 2); }