コード例 #1
0
        public void GetPriceAmountWithExistingPriceReturnsRightPriceAmount()
        {
            Mock <IRepository <Product> > mockPriceRepository = new Mock <IRepository <Product> >();

            mockPriceRepository.Setup(x => x.GetByProductName("Can of soup")).Returns(validProduct);

            PriceDataAccessor priceDataAccessor = new PriceDataAccessor(mockPriceRepository.Object);
            var priceAmount = priceDataAccessor.GetAmountByProductName("Can of soup");

            Assert.AreEqual(priceAmount, validProduct.Price);
        }
コード例 #2
0
        public void GetPriceAmountWithNonExistentPriceReturnsZero()
        {
            Mock <IRepository <Product> > mockPriceRepository = new Mock <IRepository <Product> >();

            mockPriceRepository.Setup(x => x.GetByProductName("Bananas")).Returns((Product)null);

            PriceDataAccessor priceDataAccessor = new PriceDataAccessor(mockPriceRepository.Object);
            var priceAmount = priceDataAccessor.GetAmountByProductName("Bananas");

            Assert.AreEqual(priceAmount, 0);
        }
コード例 #3
0
        public void GetAllPricesReturnsListOfPrices()
        {
            Mock <IRepository <Product> > mockPriceRepository = new Mock <IRepository <Product> >();

            mockPriceRepository.Setup(x => x.GetAll()).Returns(productList);

            PriceDataAccessor priceDataAccessor = new PriceDataAccessor(mockPriceRepository.Object);
            var prices = priceDataAccessor.GetAll();

            Assert.NotNull(prices);
        }
コード例 #4
0
        public void GetByProductNameWithExistingPriceReturnsPrice()
        {
            Mock <IRepository <Product> > mockPriceRepository = new Mock <IRepository <Product> >();

            mockPriceRepository.Setup(x => x.GetByProductName("Can of soup")).Returns(validProduct);

            PriceDataAccessor priceDataAccessor = new PriceDataAccessor(mockPriceRepository.Object);
            var price = priceDataAccessor.GetByProductName("Can of soup");

            Assert.NotNull(price);
        }
コード例 #5
0
        public void UpdateInvalidExistingPriceReturnsError()
        {
            Mock <IRepository <Product> > mockPriceRepository = new Mock <IRepository <Product> >();

            mockPriceRepository.Setup(x => x.Update(invalidProduct)).Returns(true);

            PriceDataAccessor priceDataAccessor = new PriceDataAccessor(mockPriceRepository.Object);

            var updateResult = priceDataAccessor.Update(invalidProduct);

            Assert.AreEqual(updateResult, "Error: Price must be bigger than 0.");
        }
コード例 #6
0
        public void AddingInvalidPriceReturnsErrorMessage()
        {
            Mock <IRepository <Product> > mockPriceRepository = new Mock <IRepository <Product> >();

            mockPriceRepository.Setup(x => x.Save(invalidProduct));

            PriceDataAccessor priceDataAccessor = new PriceDataAccessor(mockPriceRepository.Object);

            var result = priceDataAccessor.Save(invalidProduct);

            Assert.AreEqual(result, "Error: Price must be bigger than 0.");
        }
コード例 #7
0
        public void AddingValidPriceReturnsSuccess()
        {
            Mock <IRepository <Product> > mockPriceRepository = new Mock <IRepository <Product> >();

            mockPriceRepository.Setup(x => x.Save(validProduct));

            PriceDataAccessor priceDataAccessor = new PriceDataAccessor(mockPriceRepository.Object);

            var result = priceDataAccessor.Save(validProduct);

            Assert.AreEqual(result, "Success.");
        }
コード例 #8
0
        public void UpdateNonExistentPriceReturnsError()
        {
            Mock <IRepository <Product> > mockPriceRepository = new Mock <IRepository <Product> >();

            mockPriceRepository.Setup(x => x.GetAll()).Returns(productList);
            mockPriceRepository.Setup(x => x.Update(nonExistentProduct)).Returns(false);

            PriceDataAccessor priceDataAccessor = new PriceDataAccessor(mockPriceRepository.Object);

            var updateResult = priceDataAccessor.Update(nonExistentProduct);

            Assert.AreEqual(updateResult, "Product does not exist, create product before updating price.");
        }
コード例 #9
0
        public void UpdateValidExistingPriceReturnsSuccess()
        {
            Mock <IRepository <Product> > mockPriceRepository = new Mock <IRepository <Product> >();

            mockPriceRepository.Setup(x => x.GetAll()).Returns(productList);
            mockPriceRepository.Setup(x => x.Update(validProduct)).Returns(true);

            PriceDataAccessor priceDataAccessor = new PriceDataAccessor(mockPriceRepository.Object);

            var updateResult = priceDataAccessor.Update(validProduct);

            Assert.AreEqual(updateResult, "Success.");
        }