示例#1
0
        public void Get_WithNullProducts_ShouldThrowArgumentNullException()
        {
            //arrange
            var basketFactory = new BasketFactory(null);

            //act
            basketFactory.Get(null);

            //assert
        }
示例#2
0
        public void Get_CalledWith2Products_ShouldReturnBasketWith2Items()
        {
            //arrange
            var milk = new Product {
                Id = Guid.NewGuid(), Name = "Milk", Price = 0.40m, QuantityAvailable = 100
            };
            var soup = new Product {
                Id = Guid.NewGuid(), Name = "Soup", Price = 0.40m, QuantityAvailable = 100
            };
            var bread = new Product {
                Id = Guid.NewGuid(), Name = "Bread", Price = 0.40m, QuantityAvailable = 100
            };
            var apples = new Product {
                Id = Guid.NewGuid(), Name = "Apples", Price = 0.40m, QuantityAvailable = 100
            };

            var mockProductRepository = new Mock <IGenericRepository <Product> >();

            mockProductRepository.Setup(m => m.GetAll())
            .Returns(
                new List <Product>
            {
                milk, soup, bread, apples
            }.AsQueryable()
                );


            var basketFactory = new BasketFactory(mockProductRepository.Object);

            //act
            var basket = basketFactory.Get(new string[] { "Milk", "Soup" });

            //assert
            Assert.AreEqual(2, basket.Items.Count());
            Assert.IsNotNull(basket.Items.FirstOrDefault(i => i.Name == "Soup"));
            Assert.IsNotNull(basket.Items.FirstOrDefault(i => i.Name == "Milk"));
        }