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 TestCointainsProduct_ShouldReturnTrue() { var mockedProduct = new Mock <IProduct>(); var cart = new MockedShoppingCart(); cart.AddProduct(mockedProduct.Object); Assert.IsTrue(cart.ContainsProduct(mockedProduct.Object)); }
public void TestRemoveProduct_ShouldRemoveCorrectly() { var mockedProduct = new Mock <IProduct>(); var cart = new MockedShoppingCart(); cart.AddProduct(mockedProduct.Object); cart.RemoveProduct(mockedProduct.Object); Assert.IsFalse(cart.ContainsProduct(mockedProduct.Object)); }
public void AddProduct_WhenAddingValidProduct_ShouldAddResepctiveProductCorrectly() { // arrange var productStub = new Mock <IProduct>(); var mockedCart = new MockedShoppingCart(); mockedCart.AddProduct(productStub.Object); var expected = mockedCart.Products.First(); Assert.AreSame(expected, productStub.Object); }
public void AddProduct_WhenProductParamIsValid_ShouldAddProductToList() { // Arrange var mockedProduct = new Mock <IProduct>(); var shoppingCart = new MockedShoppingCart(); // Act shoppingCart.AddProduct(mockedProduct.Object); // Assert Assert.AreEqual(true, shoppingCart.Products.Contains(mockedProduct.Object)); }