Beispiel #1
0
        public void When_Instantiating_Account_Must_Start_Transactions_Correctly()
        {
            var accountMock = AccountMock.AccountModelFaker.Generate();
            var account     = new Account.Domain.Models.Account(accountMock.AccountNumber, accountMock.AgencyNumber, accountMock.AccountHolder, accountMock.AccountBalance);

            Assert.IsType <List <Account.Domain.Models.Transaction> >(account.Transactions);
        }
Beispiel #2
0
        public void Give_A_Value_If_Have_False_Return_Balance(decimal value)
        {
            var accountMock = AccountMock.AccountModelFaker.Generate();
            var account     = new Account.Domain.Models.Account(accountMock.AccountNumber, accountMock.AgencyNumber, accountMock.AccountHolder, accountMock.AccountBalance);

            var result = account.HasBalance(value);

            Assert.False(result);
        }
Beispiel #3
0
        public void Must_Transfer_The_Balance(decimal value)
        {
            var accountMock = AccountMock.AccountModelFaker.Generate();
            var account     = new Account.Domain.Models.Account(accountMock.AccountNumber, accountMock.AgencyNumber, accountMock.AccountHolder, accountMock.AccountBalance);

            account.Debit(value);

            Assert.True(account.AccountBalance < accountMock.AccountBalance);
        }
Beispiel #4
0
            public void AffectsBalance()
            {
                //Arrange
                decimal amount  = 20;
                decimal amount2 = 70;
                var     account = new Account.Domain.Models.Account("10");

                //Act
                account.Withdraw(amount);
                account.Withdraw(amount2);

                //Assert
                Assert.AreEqual(-amount - amount2, account.Balance);
            }
Beispiel #5
0
            public void AddsTransaction()
            {
                //Arrange
                decimal amount  = 50;
                var     account = new Account.Domain.Models.Account("10");

                //Act
                account.Withdraw(amount);

                //Assert
                var transaction = account.Transactions.OfType <WithdrawTransaction>().First();

                Assert.IsNotNull(transaction);
                Assert.AreEqual(-amount, transaction.Amount);
            }
Beispiel #6
0
            public void AffectsBalance()
            {
                //Arrange
                decimal amount1     = 50;
                decimal amount2     = 40;
                var     origin      = new Account.Domain.Models.Account("10");
                var     destination = new Account.Domain.Models.Account("11");

                //Act
                origin.Transfer(destination, amount1);
                destination.Transfer(origin, amount2);

                //Assert
                Assert.AreEqual(-10, origin.Balance);
                Assert.AreEqual(10, destination.Balance);
            }
Beispiel #7
0
            public void ReturnsAccountBalance()
            {
                //Arrange
                string  id      = "10";
                decimal value   = 60;
                var     repo    = new AccountRepository();
                var     service = new AccountService(repo);
                var     account = new Account.Domain.Models.Account(id);

                repo.Add(account);
                account.Deposit(value);

                //Act
                var result = service.GetBalance(id);

                //Assert
                Assert.IsTrue(result.IsOK);
                Assert.AreEqual(value, result.Data);
            }
Beispiel #8
0
            public void AddsTransaction()
            {
                //Arrange
                decimal amount      = 50;
                var     origin      = new Account.Domain.Models.Account("10");
                var     destination = new Account.Domain.Models.Account("11");

                //Act
                origin.Transfer(destination, amount);

                //Assert
                var transaction1 = origin.Transactions.OfType <TransferTransaction>().First();

                Assert.IsNotNull(transaction1);
                Assert.AreEqual(-amount, transaction1.Amount);

                var transaction2 = destination.Transactions.OfType <TransferTransaction>().First();

                Assert.IsNotNull(transaction2);
                Assert.AreEqual(amount, transaction2.Amount);
            }