コード例 #1
0
        public void IsProductAvailable_any_client()
        {
            Product product = new Product()
            {
                ProductId = 1,
                Stock = 5
            };

            Mock<IProductRepository> mockProductRepository = new Mock<IProductRepository>();
            mockProductRepository.Setup(obj => obj.Get(1)).Returns(product);

            Mock<IDataRepositoryFactory> mockRepositoryFactory = new Mock<IDataRepositoryFactory>();
            mockRepositoryFactory.Setup(obj => obj.GetDataRepository<IProductRepository>()).Returns(mockProductRepository.Object);

            ProductEngine engine = new ProductEngine(mockRepositoryFactory.Object);

            bool try1 = engine.isProductAvailable(2);

            Assert.IsFalse(try1);

            bool try2 = engine.isProductAvailable(1);

            Assert.IsTrue(try2);
        }
コード例 #2
0
ファイル: ProductManager.cs プロジェクト: oscarlagatta/HN.Pim
        public Product UpdateProdcut(Product product)
        {
            return ExecuteFaultHandledOperation(() =>
            {
                var productRepository = _dataRepositoryFactory.GetDataRepository<IProductRepository>();

                Product updatedProduct = null;

                if (product.AccountId == 0)
                    updatedProduct = productRepository.Add(product);
                else
                    updatedProduct = productRepository.Update(product);

                return updatedProduct;
            });
        }