public void ProcessChange_ShouldThrowArgumentException_WhenProvidedInvalidInputString() { var cashRegister = new Core.CashRegister(); const string input = "3.27,"; Assert.ThrowsException <ArgumentException>(() => cashRegister.ProcessChange(input)); }
public void ProcessChange_ShouldThrowArgumentException_WhenProvidedHigherAmountOwedThanAmountPaid() { var cashRegister = new Core.CashRegister(); const string input = "3.27,1.25"; Assert.ThrowsException <ArgumentException>(() => cashRegister.ProcessChange(input)); }
public void ProcessChange_ShouldReturnLowestAmountOfChange_WhenProvidedCostAndPaidDecimals() { var cashRegister = new Core.CashRegister(); const string input = "1.12,3.00"; var result = cashRegister.ProcessChange(input); Assert.AreEqual("1 dollar,3 quarters,1 dime,3 pennies", result); }
public void ProcessChange_ShouldReturnRandomResult_WhenProvidedPriceDivisibleByThree() { var cashRegister = new Core.CashRegister(); const string input = "3.33,5.00"; var result = cashRegister.ProcessChange(input); Assert.AreNotEqual("1 dollar,2 quarters,1 dime,1 nickel,2 pennies", result); }
public void ProcessChange_ShouldThrowArgumentException_WhenProvidedNull() { var cashRegister = new Core.CashRegister(); Assert.ThrowsException <ArgumentException>(() => cashRegister.ProcessChange(null)); }
public void ProcessChange_ShouldThrowArgumentException_WhenProvidedEmptyString() { var cashRegister = new Core.CashRegister(); Assert.ThrowsException <ArgumentException>(() => cashRegister.ProcessChange(string.Empty)); }