コード例 #1
0
        public void SelectAll_Should_Return_All_Products()
        {
            var productRepository          = new JsonProductRepository(set);
            ICollection <Product> products = productRepository.SelectAll();

            Assert.Equal(10, products.Count);
        }
コード例 #2
0
        public void Delete_IdOfProduct_RemovesProductFromCollection()
        {
            //arrange
            var productRepository = new JsonProductRepository(set);
            //act
            bool deleted = productRepository.Delete("p1");

            //assert
            Assert.True(deleted);
            Assert.Equal(9, set.Count);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        public void Update_Product_ModifiesProductInCollection()
        {
            //arrange
            var     productRepository = new JsonProductRepository(set);
            Product updatedProduct    = new Product("p1", "Pedigree Chum", 0.75, 1.50);
            //act
            bool updated = productRepository.Update(updatedProduct);

            //assert
            Assert.True(updated);
            Assert.Equal(1.50, set.First(p => p.Id == "p1").RetailPrice);
        }
コード例 #5
0
        public void SelectById_ProductId_ReturnsProduct()
        {
            //arrange
            var     productRepository = new JsonProductRepository(set);
            Product product           = new Product("p1", "Pedigree Chum", 0.70, 1.42);

            //act
            Product retrievedProduct = productRepository.SelectById("p1");

            //assert
            Assert.NotNull(retrievedProduct);
            Assert.Equal(product, retrievedProduct);
        }
コード例 #6
0
        public void SelectAll_ShouldReturnCollectionOfProducts()
        {
            //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);

            //act
            ICollection <Product> products = productRepository.SelectAll();

            //assert
            serializer.Verify(s => s.ReadProducts());
            Assert.Equal(set, products);
        }
コード例 #7
0
        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> >()));
        }
コード例 #8
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);
        }