Expanded Unit Tests

This commit is contained in:
Brychan Dempsey 2021-09-27 10:44:54 +13:00
parent 4f8e6314c4
commit 555632321d
2 changed files with 51 additions and 6 deletions

View File

@ -8,20 +8,29 @@ namespace Week_10___Account_Library
{
public class Account
{
private decimal _balance;
private decimal _overdraftLimit;
public decimal Balance => _balance;
public decimal OverdraftLimit => _overdraftLimit;
public AccountState StateOfAccount { get; }
void Deposit(decimal amount)
private bool ValidateAmount(decimal amount)
{
_balance += amount;
return amount >= 0;
}
void Withdraw(decimal amount)
public void Deposit(decimal amount)
{
_balance -= amount;
if (ValidateAmount(amount))
_balance += amount;
}
public void Withdraw(decimal amount)
{
if (ValidateAmount(amount))
_balance -= amount;
}
public Account(decimal balance, decimal overdraftLimit)
@ -30,4 +39,12 @@ namespace Week_10___Account_Library
_overdraftLimit = overdraftLimit;
}
}
public enum AccountState
{
Safe,
InOD,
ODLimit,
None
}
}

View File

@ -1,15 +1,43 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using Week_10___Account_Library;
namespace Week_10___TDD_Tests
{
[TestClass]
public class TDDTests
{
[TestMethod]
public void TestMethod1()
private Account account;
[TestInitialize]
public void InitTests()
{
account = new Account(1000, 500);
}
[TestMethod]
public void DepositAmount()
{
account.Deposit(200);
Assert.AreEqual(1200, account.Balance);
}
[TestMethod]
public void WithdrawAmount()
{
account.Withdraw(200);
Assert.AreEqual(800, account.Balance);
}
[TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))]
public void WithdrawNegative()
{
account.Withdraw(-200);
}
[TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))]
public void DepositNegative()
{
account.Deposit(-200);
}
}
}