public void Create_Product_AddsProductToCollection()
        {
            //arrange
            var     productRepository = new JsonProductRepository(set);
            Product product           = new Product("p11", "Sofa", 120);
            //act
            bool added = productRepository.Create(product);

            //assert
            Assert.Equal(11, set.Count);
        }
예제 #2
0
        public void JsonSerializationTest()
        {
            //arrange
            string path = @"C:\Users\Public\Documents\products.json";

            File.Delete(path); //If the file to be deleted does not exist, no exception is thrown.
            JsonProductRepository productRepository = new JsonProductRepository();
            Product product1 = new Product("p1", "Pedigree Chum", 0.70, 1.42);
            Product product2 = new Product("p2", "Fork", 0.60, 1.31);

            //serializes product collection
            bool created1 = productRepository.Create(product1);
            bool created2 = productRepository.Create(product2);

            //deserializes product collection
            productRepository = new JsonProductRepository();
            //assert
            Assert.True(productRepository.SelectAll().Contains(product1));
            Assert.Equal(2, productRepository.SelectAll().Count);
        }
        public void Create_CallsWriteProductMethodOfSerializer()
        {
            //arrange
            Mock <IProductSerializer> serializer = new Mock <IProductSerializer>();
            HashSet <Product>         set        = new HashSet <Product> {
                new Product("p1", "Pedigree Chum", 0.70, 1.42),
                new Product("p2", "Knife", 0.60, 1.31)
            };

            serializer.Setup(s => s.ReadProducts()).Returns(set);

            var     productRepository = new JsonProductRepository(serializer.Object);
            Product product           = new Product("p11", "Shark cage", 400);

            //act
            bool created = productRepository.Create(product);

            //assert
            serializer.Verify(s => s.WriteProducts(It.IsAny <ISet <Product> >()));
        }