Пример #1
0
        public void TestApplesOfferBasket()
        {
            Basket         basket   = BasketController.CreateBasket("apples");
            IList <string> messages = BasketController.GetDiscountApplyedMessages(basket);

            Assert.AreEqual("Apples 10% off: -10p", messages[0]);
        }
Пример #2
0
        public void TestNoOfferBasket()
        {
            Basket         basket   = BasketController.CreateBasket("milk bread beans");
            IList <string> messages = BasketController.GetDiscountApplyedMessages(basket);

            Assert.AreEqual("(No offers available)", messages[0]);
        }
Пример #3
0
        public void CreateBasket_RepoCalled()
        {
            // arrange

            // act
            var actionResult = _basketController.CreateBasket() as OkObjectResult;
            var response     = actionResult?.Value as RepositoryReturnType <Basket>;

            // assert
            Assert.That(response.IsTransactionSuccess, Is.True);
        }
Пример #4
0
        public void TestOneBredOneBeansBasketCost()
        {
            Basket basket = BasketController.CreateBasket("bread beans");

            decimal totalCostBasket = BasketController.CalculateBasketCost(basket);
            decimal discountApplyed = BasketController.CalculateDiscountApplyedCost(basket);

            IList <string> messages = BasketController.GetDiscountApplyedMessages(basket);

            Assert.AreEqual(1.45m, totalCostBasket);
            Assert.AreEqual(0, discountApplyed);
            Assert.AreEqual("(No offers available)", messages[0]);
        }
Пример #5
0
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8; // to show pound sign in console
            try
            {
                StoreController stroreController = new StoreController();
                stroreController.CreateStore();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

            Console.WriteLine("Type exit to finish");
            Console.WriteLine("Products in store: ");
            foreach (var product in Store.AllProducts())
            {
                Console.WriteLine(product.Name + " " + product.Price.ToUkFormat() + "/" + product.Unit);
            }
            Console.WriteLine();
            Console.WriteLine("To create a basket type the products you want to have it,separate by space.");
            Console.WriteLine("If you want a product several times, write it as many times as you want.");
            Console.WriteLine();

            while (true)
            {
                Console.Write("PriceCalculator ");
                string input = Console.ReadLine();
                if (input == "exit")
                {
                    return;
                }
                else
                {
                    Console.WriteLine();
                    ShoppingBasket.Model.Basket basket = BasketController.CreateBasket(input);
                    decimal totalCostBasket            = BasketController.CalculateBasketCost(basket);
                    decimal discountApplyed            = BasketController.CalculateDiscountApplyedCost(basket);

                    Console.WriteLine(String.Format("Subtotal: {0}", totalCostBasket.ToUkFormat()));
                    IList <string> discountMessages = BasketController.GetDiscountApplyedMessages(basket);
                    foreach (string message in discountMessages)
                    {
                        Console.WriteLine(message);
                    }
                    Console.WriteLine(String.Format("Total: {0}", (totalCostBasket - discountApplyed).ToUkFormat()));

                    Console.WriteLine();
                }
            }
        }
Пример #6
0
        public void TestOneBredTwoBeansBasketCost()
        {
            Basket basket = BasketController.CreateBasket("bread beans beans");

            decimal totalCostBasket = BasketController.CalculateBasketCost(basket);
            decimal discountApplyed = BasketController.CalculateDiscountApplyedCost(basket);

            IList <string> messages = BasketController.GetDiscountApplyedMessages(basket);

            Assert.AreEqual(2.10m, totalCostBasket);
            Assert.AreEqual(0.4m, discountApplyed);
            Assert.AreEqual(1, messages.Count);
            Assert.AreEqual("Bread 50% off: -40p", messages[0]);
        }
Пример #7
0
        public void TestApplesBasketCost()
        {
            Basket basket = BasketController.CreateBasket("apples apples apples");

            decimal totalCostBasket = BasketController.CalculateBasketCost(basket);
            decimal discountApplyed = BasketController.CalculateDiscountApplyedCost(basket);

            IList <string> messages = BasketController.GetDiscountApplyedMessages(basket);

            Assert.AreEqual(3, totalCostBasket);
            Assert.AreEqual(0.3m, discountApplyed);
            Assert.AreEqual("Apples 10% off: -10p", messages[0]);
            Assert.AreEqual("Apples 10% off: -10p", messages[1]);
            Assert.AreEqual("Apples 10% off: -10p", messages[2]);
        }
Пример #8
0
        public void TestCreateBasket()
        {
            Basket basket = BasketController.CreateBasket("milk bread beans");

            Assert.AreEqual(3, basket.Products.Count);
        }