Ejemplo n.º 1
0
        public void Error_WhenRestockTotal_GreaterThan_20()
        {
            var TransferDto = new TransferDto
            {
                TotalCansLeft        = 18,
                TotalCansSold        = 2,
                TotalCashCollected   = 4.5,
                TotalCreditCollected = 4.5,
                RestockNumber        = 3
            };

            var ops    = new VendingMachineOperations();
            var answer = ops.Restock(TransferDto);

            Assert.True(answer.ErrorMessage == "Error: Only 20 cans can be inserted in vending machine at a time");
        }
Ejemplo n.º 2
0
        public void Error_WhenRestockAmount_Null()
        {
            var TransferDto = new TransferDto
            {
                TotalCansLeft        = 18,
                TotalCansSold        = 2,
                TotalCashCollected   = 4.5,
                TotalCreditCollected = 4.5,
                RestockNumber        = null
            };

            var ops    = new VendingMachineOperations();
            var answer = ops.Restock(TransferDto);

            Assert.True(answer.ErrorMessage == "Error: Please enter number of cans to restock and Try Again!!");
        }
Ejemplo n.º 3
0
        public void ErrorMessage_When_Amountlessthan_Required()
        {
            var TransferDto = new TransferDto
            {
                TotalCansLeft        = 20,
                TotalCansSold        = 0,
                TotalCashCollected   = 0,
                TotalCreditCollected = 0,
                CashEntered          = 3,
            };

            var ops    = new VendingMachineOperations();
            var answer = ops.TakeMoneyAndRefund(TransferDto);

            Assert.True(answer.ErrorMessage == "Money entered was not enough. Please enter atleast 4.5$ in the machine. Please collect your change and try again!!");
        }
Ejemplo n.º 4
0
        public void ErrorMessage_When_NoCansLeft()
        {
            var TransferDto = new TransferDto
            {
                TotalCansLeft        = 0,
                TotalCansSold        = 0,
                TotalCashCollected   = 0,
                TotalCreditCollected = 0,
                CashEntered          = 5,
            };

            var ops    = new VendingMachineOperations();
            var answer = ops.TakeMoneyAndRefund(TransferDto);

            Assert.True(answer.ErrorMessage == "Sorry for inconvenience!! We have no cans left in machine anymore.");
        }
Ejemplo n.º 5
0
        public void ErrorMessage_When_Amount_Null()
        {
            var TransferDto = new TransferDto
            {
                TotalCansLeft        = 20,
                TotalCansSold        = 0,
                TotalCashCollected   = 0,
                TotalCreditCollected = 0,
                CashEntered          = null,
            };

            var ops    = new VendingMachineOperations();
            var answer = ops.TakeMoneyAndRefund(TransferDto);

            Assert.True(answer.ErrorMessage == "Please enter an amount to buy a can.");
        }
Ejemplo n.º 6
0
        public void Success_WhenAllDataCorrect()
        {
            var TransferDto = new TransferDto
            {
                TotalCansLeft        = 18,
                TotalCansSold        = 2,
                TotalCashCollected   = 4.5,
                TotalCreditCollected = 4.5,
                RestockNumber        = 2
            };

            var ops    = new VendingMachineOperations();
            var answer = ops.Restock(TransferDto);

            Assert.True(answer.RefundMessage == $"{TransferDto.RestockNumber} can/cans successfully restocked in the machine. Have a good day!!");
            Assert.True(answer.TotalCansLeft == 20);
            Assert.True(answer.TotalCansSold == 0);
            Assert.True(answer.TotalCashCollected == 0);
            Assert.True(answer.TotalCreditCollected == 0);
        }
Ejemplo n.º 7
0
        public void Success_OnRightAmount_WithRefund_Credit()
        {
            var TransferDto = new TransferDto
            {
                TotalCansLeft        = 20,
                TotalCansSold        = 0,
                TotalCashCollected   = 0,
                TotalCreditCollected = 0,
                CashEntered          = 6,
                CashCredit           = Core.Shared.Enums.CashCreditEnum.credit
            };

            var ops    = new VendingMachineOperations();
            var answer = ops.TakeMoneyAndRefund(TransferDto);

            Assert.True(answer.RefundMessage == "Payment Successful. Please Collect your can and change " + (TransferDto.CashEntered - 4.5).ToString() + "$ from the machine. Thanks for your purchase!!");
            Assert.True(answer.TotalCansLeft == 19);
            Assert.True(answer.TotalCashCollected == 0);
            Assert.True(answer.TotalCreditCollected == 4.5);
        }