public void TestTotalPrice_NoProductsInCart_ShouldReturnZero() { var cart = new MockedShoppingCart(); decimal price = 0; Assert.AreEqual(cart.TotalPrice(), price); }
public void TotalPrice_WhenThereAreNoProductsInList_ShouldReturnZero() { // Arrange var shoppingCart = new MockedShoppingCart(); // Act var executionResult = shoppingCart.TotalPrice(); // Assert Assert.AreEqual(0M, executionResult); }
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); }
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); }