Exemple #1
0
        public void ProcessChange_ShouldThrowArgumentException_WhenProvidedInvalidInputString()
        {
            var          cashRegister = new Core.CashRegister();
            const string input        = "3.27,";

            Assert.ThrowsException <ArgumentException>(() => cashRegister.ProcessChange(input));
        }
Exemple #2
0
        public void ProcessChange_ShouldThrowArgumentException_WhenProvidedHigherAmountOwedThanAmountPaid()
        {
            var          cashRegister = new Core.CashRegister();
            const string input        = "3.27,1.25";

            Assert.ThrowsException <ArgumentException>(() => cashRegister.ProcessChange(input));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        public void ProcessChange_ShouldThrowArgumentException_WhenProvidedNull()
        {
            var cashRegister = new Core.CashRegister();

            Assert.ThrowsException <ArgumentException>(() => cashRegister.ProcessChange(null));
        }
Exemple #6
0
        public void ProcessChange_ShouldThrowArgumentException_WhenProvidedEmptyString()
        {
            var cashRegister = new Core.CashRegister();

            Assert.ThrowsException <ArgumentException>(() => cashRegister.ProcessChange(string.Empty));
        }