コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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);
        }