Пример #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);
        }
Пример #2
0
        public void PostAccount_ReturnsCreatedStatusCode()
        {
            // Arrange
            var bAcct = new BrokerageAccount {
                AccountNumber = "1234"
            };
            var acctStub = new StubIAccountRepository
            {
                InsertAccountBrokerageAccount = (ba) =>
                {
                    return(new OperationStatus {
                        Status = true
                    });
                }
            };
            var controller = GetDataServiceController(acct: acctStub);

            SetupController(controller);

            // Act
            var result = controller.PostAccount(bAcct) as CreatedAtRouteNegotiatedContentResult <BrokerageAccount>;

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(bAcct.AccountNumber, result.Content.AccountNumber);
        }
Пример #3
0
        public void DataServiceController_AccountReturnedWithoutModification()
        {
            //Ensure that Web API method doesn't modify the brokerage account object
            //Arrange
            var acctNumber       = "1234";
            var brokerageAccount = new BrokerageAccount {
                AccountNumber = "1234"
            };
            var acctRepo = new StubIAccountRepository
            {
                GetAccountString = (an) =>
                {
                    brokerageAccount.AccountNumber = an;
                    return(brokerageAccount);
                }
            };

            var controller = GetDataServiceController(acct: acctRepo);

            //Act
            var result = controller.Account(acctNumber);

            //Assert
            Assert.AreSame(brokerageAccount, result);
            Assert.AreSame(acctNumber, result.AccountNumber);
        }
Пример #4
0
 public void TestInitialize()
 {
     Console.WriteLine("TestInitialize");
     shimAccount    = new ShimAccount();
     stubAccount    = new StubAccount();
     stubRepository = new StubIAccountRepository();
     sut            = new AccountService(stubRepository);
 }
Пример #5
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);
        }
Пример #6
0
        public void DataServiceController_AccountReturnedWithoutModification()
        {
            //Ensure that Web API method doesn't modify the brokerage account object
            //Arrange
            var acctNumber = "1234";
            var brokerageAccount = new BrokerageAccount { AccountNumber = "1234" };
            var acctRepo = new StubIAccountRepository
            {
                GetAccountString = (an) =>
                {
                    brokerageAccount.AccountNumber = an;
                    return brokerageAccount;
                }
            };

            var controller = GetDataServiceController(acct: acctRepo);

            //Act
            var result = controller.Account(acctNumber);

            //Assert
            Assert.AreSame(brokerageAccount, result);
            Assert.AreSame(acctNumber, result.AccountNumber);
        }
Пример #7
0
        public void PostAccount_ReturnsCreatedStatusCode()
        {
            // Arrange
            var bAcct = new BrokerageAccount { AccountNumber = "1234" };
            var acctStub = new StubIAccountRepository
            {
                InsertAccountBrokerageAccount = (ba) =>
                {
                    return new OperationStatus { Status = true };
                }
            };
            var controller = GetDataServiceController(acct: acctStub);
            SetupController(controller);

            // Act
            var result = controller.PostAccount(bAcct) as CreatedAtRouteNegotiatedContentResult<BrokerageAccount>;

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(bAcct.AccountNumber, result.Content.AccountNumber);
        }