Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }