public void JsonSerializationTest() { File.Delete(@"..\..\products.json"); CollectionProductModel model = new CollectionProductModel(new JsonProductSerializer()); Product product1 = new Product("p1", "Dog Dinner", 1.30); //serializes product collection bool created = model.Create(product1); //deserializes product collection model = new CollectionProductModel(new JsonProductSerializer()); //assert Assert.True(model.Products.Contains(product1)); }
public void SelectById_ProductId_ReturnsProduct() { //arrange CollectionProductModel model = new CollectionProductModel(); Product product = new Product("p1", "Dog Dinner", 1.20); model.Create(product); //act Product retrievedProduct = model.SelectById("p1"); //assert Assert.NotNull(retrievedProduct); Assert.Equal(product, retrievedProduct); }
public void Delete_IdOfProduct_RemovesProductFromCollection() { //arrange CollectionProductModel model = new CollectionProductModel(); Product product = new Product("p1", "Dog Dinner", 1.20); model.Create(product); //act bool deleted = model.Delete("p1"); //assert Product retrievedProduct = model.SelectById("p1"); Assert.Null(retrievedProduct); Assert.True(deleted); }
public void CreateProductCallsWriteProductMethodOfSerializer() { //arrange Mock <IProductSerializer> serializer = new Mock <IProductSerializer>(); serializer.Setup(s => s.ReadProducts()).Returns(new List <Product>()); CollectionProductModel model = new CollectionProductModel(serializer.Object); Product product1 = new Product("p1", "Dog Dinner", 1.20); //act bool created = model.Create(product1); //assert serializer.Verify(s => s.WriteProducts(It.IsAny <ICollection <Product> >())); }
public void Create_Product_AddsProductToCollectionn() { //arrange CollectionProductModel model = new CollectionProductModel(); Product product = new Product("p1", "Dog Dinner", 1.20); //act bool added = model.Create(product); //assert ICollection <Product> products = model.Products; Assert.NotNull(products); Assert.Equal(1, products.Count); Assert.True(products.Contains(product)); Assert.True(added); }
public void Update_Product_ModifiesProductInCollection() { //arrange CollectionProductModel model = new CollectionProductModel(); Product product = new Product("p1", "Dog Dinner", 1.20); Product updatedProduct = new Product("p1", "Dog Dinner", 1.40); model.Create(product); //act bool updated = model.Update(updatedProduct); //assert Product retrievedProduct = model.SelectById("p1"); Assert.NotNull(retrievedProduct); Assert.Equal(1.40, retrievedProduct.CostPrice); Assert.True(updated); }
public void SelectByName_PartOfProductName_ReturnsMatchingProducts() { //arrange CollectionProductModel model = new CollectionProductModel(); Product product1 = new Product("p1", "Dog Dinner", 1.20); Product product2 = new Product("p2", "Fork", 0.4); model.Create(product1); model.Create(product2); //act ICollection <Product> products = model.SelectByName("Dog"); //assert Assert.NotNull(products); Assert.Equal(1, products.Count); Assert.True(products.Contains(product1)); }