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 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); }
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); }
public void TestInitialize() { Console.WriteLine("TestInitialize"); shimAccount = new ShimAccount(); stubAccount = new StubAccount(); stubRepository = new StubIAccountRepository(); sut = new AccountService(stubRepository); }
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); }
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); }
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); }