示例#1
0
        public void Main(string[] args)
        {
            ILogger logger = new Logger();
            BankAccount ba = new BankAccount("Mr. Bryan Walton", 11.99, logger);

            ba.Credit(5.77);
            ba.Debit(11.22);
            Console.WriteLine("Current balance is ${0}", ba.Balance);
        }
示例#2
0
        public void Debit_WithValidAmount_UpdatesBalance()
        {
            // Arrange
            double beginningBalance = 11.99;
            double debitAmount      = 4.55;
            double expected         = 7.44;

            BankAccount.BankAccount account = new BankAccount.BankAccount("Mr. Bryan Walton", beginningBalance);

            // Act
            account.Debit(debitAmount);

            // Assert
            double actual = account.Balance;

            Assert.AreEqual(expected, actual, 0.001, "Account not debited correctly");
        }
示例#3
0
        public void Debit_WithValidAmount_UpdatesBalance()
        {
            // Prepare
            // Mock<ILogger> mock = new Mock<ILogger>();
            // ILogger logger = mock.Object;
            ILogger logger = null;

            // arrange
            double beginningBalance = 11.99;
            double debitAmount = 4.55;
            double expected = 7.44;
            BankAccount account = new BankAccount("Mr. Bryan Walton", beginningBalance, logger);

            // act
            account.Debit(debitAmount);

            // assert
            double actual = account.Balance;
            Assert.True(actual.Equals(expected));
        }
示例#4
0
        public void Debit_WhenAmountIsMoreThanBalance_ShouldThrowArgumentOutOfRange()
        {
            // Arrange
            double beginningBalance = 10;
            double debitAmount      = 20;

            BankAccount.BankAccount account = new BankAccount.BankAccount("Mr. Matas", beginningBalance);

            // Act
            try
            {
                account.Debit(debitAmount);
            }
            catch (System.ArgumentOutOfRangeException e)
            {
                // Asssert
                StringAssert.Contains(e.Message, BankAccount.BankAccount.DebitAmountExceedsBalanceMessage);
                return;
            }

            Assert.Fail("The expected exception was not thrown.");
        }