예제 #1
0
        public void TestTotalPrice_NoProductsInCart_ShouldReturnZero()
        {
            var     cart  = new MockedShoppingCart();
            decimal price = 0;

            Assert.AreEqual(cart.TotalPrice(), price);
        }
예제 #2
0
        public void TotalPrice_WhenThereAreNoProductsInList_ShouldReturnZero()
        {
            // Arrange
            var shoppingCart = new MockedShoppingCart();

            // Act
            var executionResult = shoppingCart.TotalPrice();

            // Assert
            Assert.AreEqual(0M, executionResult);
        }
예제 #3
0
        public void TestTotalPrice_WithProductsInCart_ShouldCalculateCorrectly(decimal firstPrice, decimal secondPrice)
        {
            var cart             = new MockedShoppingCart();
            var mockedProductOne = new Mock <IProduct>();
            var mockedProductTwo = new Mock <IProduct>();

            mockedProductOne.SetupGet(x => x.Price).Returns(firstPrice);
            mockedProductTwo.SetupGet(x => x.Price).Returns(secondPrice);

            cart.AddProduct(mockedProductOne.Object);
            cart.AddProduct(mockedProductTwo.Object);

            var result = firstPrice + secondPrice;

            Assert.AreEqual(cart.TotalPrice(), result);
        }
        public void TotalPrice_WhenProductsPresentInCart_ShouldREturnCorrectSumOfAllProductPrices()
        {
            var firstProductStub  = new Mock <IProduct>();
            var secondProductStub = new Mock <IProduct>();
            var mockedCart        = new MockedShoppingCart();

            firstProductStub.SetupGet(x => x.Price).Returns(5.25M);
            secondProductStub.SetupGet(x => x.Price).Returns(10.25M);

            mockedCart.Products.Add(firstProductStub.Object);
            mockedCart.Products.Add(secondProductStub.Object);

            decimal totalPriceReturned = mockedCart.TotalPrice();
            decimal expected           = 15.5M;

            Assert.AreEqual(expected, totalPriceReturned);
        }
예제 #5
0
        public void TotalPrice_WhenThereAreProductsInList_ShouldReturnTheTotalSumOfTheirPrices()
        {
            // Arrange
            var mockedProductOne = new Mock <IProduct>();
            var mockedProductTwo = new Mock <IProduct>();
            var shoppingCart     = new MockedShoppingCart();

            mockedProductOne.SetupGet(x => x.Price).Returns(10M);
            mockedProductTwo.SetupGet(x => x.Price).Returns(20M);

            shoppingCart.Products.Add(mockedProductOne.Object);
            shoppingCart.Products.Add(mockedProductTwo.Object);

            // Act
            var executionResult = shoppingCart.TotalPrice();

            // Assert
            Assert.AreEqual(30M, executionResult);
        }