예제 #1
0
        public void Should_Return_Total_Cost_When_Invalid_Item_Is_Added_In_Cart()
        {
            // Arrange
            const int expectedPrice = 0;
            var       main          = new MainProgram();
            var       myCart        = new InitialiseCart();

            // Act
            myCart.ItemsInCart.Add("Mango", 10);
            var actualPrice = main.PurchaseItems(myCart);

            // Assert
            Assert.AreEqual(expectedPrice, actualPrice, $"Actaul price does not match with expected price");
        }
예제 #2
0
        public void Should_Return_Total_Cost_As_Zero_When_No_Items_Added_To_Cart()
        {
            // Arrange
            const double expectedPrice = 0.0;
            var          main          = new MainProgram();
            var          myCart        = new InitialiseCart();

            // Act
            new CartOperations(myCart.ItemsInCart);
            var actualPrice = main.PurchaseItems(myCart);

            // Assert
            Assert.AreEqual(expectedPrice, actualPrice, $"Actaul price does not match with expected price");
        }
예제 #3
0
        public void Should_Return_Total_Cost_When_Valid_Item_And_Price_Is_Added_To_Cart()
        {
            // Arrange
            var expectedPrice = 675;
            var main          = new MainProgram();
            var myCart        = new InitialiseCart();

            // Act
            myCart.ItemsInCart.Add("Apple", 10);
            myCart.ItemsInCart.Add("Orange", 3);
            var actualPrice = main.PurchaseItems(myCart);

            // Assert
            Assert.AreEqual(expectedPrice, actualPrice, $"Actaul price does not match with expected price");
        }
예제 #4
0
        public void Should_Return_Total_Cost_When_Items_Added_To_Existing_Cart()
        {
            // Arrange
            const int expectedPrice = 675;
            var       main          = new MainProgram();
            var       myCart        = new InitialiseCart();

            // Act
            myCart.ItemsInCart.Add("Apple", 10);
            new CartOperations(myCart.ItemsInCart).AddItem("Orange", 3);
            var actualPrice = main.PurchaseItems(myCart);

            // Assert
            Assert.AreEqual(expectedPrice, actualPrice, $"Actual price does not match with expected price");
        }
예제 #5
0
        public void Should_Return_Total_Cost_When_Item_Quantity_Updated_From_Existing_Cart()
        {
            // Arrange
            var expectedPrice = 750;
            var main          = new MainProgram();
            var myCart        = new InitialiseCart();

            // Act
            myCart.ItemsInCart.Add("Apple", 10);
            myCart.ItemsInCart.Add("Orange", 3);
            new CartOperations(myCart.ItemsInCart).UpdateItem("Orange", 3);
            var actualPrice = main.PurchaseItems(myCart);

            // Assert
            Assert.AreEqual(expectedPrice, actualPrice, $"Actaul price does not match with expected price");
        }
예제 #6
0
 public double PurchaseItems(InitialiseCart purchaseRequest)
 {
     return(Calculate.CalculateTotalCost(purchaseRequest.ItemsInCart));
 }