public void CashRegisterThrowsFileNotFoundExceptionGivenNullPath() { currencyMock.Setup(p => p.AllDenominations).Returns(new List <Money>() { new Bill(1m, "testMoney", "testMonies") }); CashRegister register = new POSCashRegister(currencyMock.Object, tenderStrategyMock.Object); Assert.Throws <FileNotFoundException>(() => register.Tender(null)); }
public void CashRegisterThrowOverflowExceptionGivenInputLargerThanLargestDecimalValue() { currencyMock.Setup(p => p.AllDenominations).Returns(new List <Money>() { new Bill(1m, "testMoney", "testMonies") }); CashRegister register = new POSCashRegister(currencyMock.Object, tenderStrategyMock.Object); Assert.Throws <InvalidCurrencyException>(() => register.Tender(OverflowFile)); }
public void CashRegisterThrowsNotEnoughTenderExceptionWhenTenderIsLessThanPrice() { currencyMock.Setup(p => p.AllDenominations).Returns(new List <Money>() { new Bill(1m, "testMoney", "testMonies") }); CashRegister register = new POSCashRegister(currencyMock.Object, tenderStrategyMock.Object); Assert.Throws <NotEnoughTenderException>(() => register.Tender(NotEnoughTenderFile)); }
public void CashRegisterThrowsFormatExceptionWhenEmptyLineFoundInFileProvided() { currencyMock.Setup(p => p.AllDenominations).Returns(new List <Money>() { new Bill(1m, "testMoney", "testMonies") }); CashRegister register = new POSCashRegister(currencyMock.Object, tenderStrategyMock.Object); Assert.Throws <FormatException>(() => register.Tender(EmptyLineFile)); }
public void CashRegisterTenderValueIsAccuratelySetBasedOnTextFileInput() { // setup currencyMock.Setup(p => p.AllDenominations).Returns(new List <Money>() { new Coin(.25m, "testCoin", "testCoins") }); CashRegister register = new POSCashRegister(currencyMock.Object, tenderStrategyMock.Object); // setup excpeted decimal expected = 110.98m; // execute to a point where the actual can be tested var results = register.Tender(TenderValueTestFile); // are they equal???? Assert.Equal(expected, register.TenderValue); }