Exemple #1
0
        public void Vend(VendDTO vend)
        {
            if (vend == null)
            {
                throw new ArgumentNullException("vend");
            }

            if (vend.payment == null)
            {
                throw new ArgumentNullException("payment");
            }

            if (vend.flavour == 0)
            {
                throw new ArgumentException("flavour");
            }

            //if we have db then we should perfrm all actions in this function under transaction
            Payment payment = PaymentMapper.Map(vend.payment);

            _paymentRepository.Add(payment);

            var criteria = new DrinkCanFindCriteria();

            criteria.Flavour = vend.flavour;

            DrinkCan can = _drinkCanRepository.FindByCriteria(criteria).FirstOrDefault();

            _drinkCanRepository.Delete(can);
        }
        public void Test_DrinkCanRepository_Reset()
        {
            using (IDrinkCanRepository repo = new DrinkCanRepository())
            {
                //Arrange
                var can1 = new DrinkCan {
                    Flavour = Flavour.Apple, Price = 2.50m, IsSold = false
                };
                repo.Add(can1);

                var can2 = new DrinkCan {
                    Flavour = Flavour.Banana, Price = 2.50m, IsSold = false
                };
                repo.Add(can2);

                //Act
                repo.Reset();

                var criteria = new DrinkCanFindCriteria();
                var result   = repo.FindByCriteria(criteria);

                //Assert
                Assert.AreEqual(0, result.Count());
            }
        }
        public void Test_DrinkCanRepository_Find()
        {
            using (IDrinkCanRepository repo = new DrinkCanRepository())
            {
                //Arrange
                var can1 = new DrinkCan {
                    Flavour = Flavour.Apple, Price = 2.50m
                };
                repo.Add(can1);

                var can2 = new DrinkCan {
                    Flavour = Flavour.Banana, Price = 2.50m
                };
                repo.Add(can2);

                //Act
                var criteria = new DrinkCanFindCriteria();
                criteria.Flavour = Flavour.Banana;

                var result = repo.FindByCriteria(criteria).FirstOrDefault();

                //Assert
                Assert.AreEqual(can2, result);
            }
        }
Exemple #4
0
        public List <DrinkCanDTO> Get([FromUri] DrinkCanFindCriteria filter)
        {
            if (filter == null)
            {
                // allow null criteria and take defaults
                filter = new DrinkCanFindCriteria();
            }

            return(_drinkCanService.FindDrinkCans(filter));
        }
        public IEnumerable <DrinkCan> FindByCriteria(DrinkCanFindCriteria criteria)
        {
            var query = Query();

            if (criteria.Flavour.HasValue)
            {
                query = query.Where(c => c.Flavour == criteria.Flavour.Value);
            }


            if (criteria.IsSold.HasValue)
            {
                query = query.Where(c => c.IsSold == criteria.IsSold.Value);
            }

            return(query.ToList());
        }
        public void Test_DrinkCanService_Find()
        {
            using (var mock = AutoMock.GetLoose())
            {
                // Arrange - configure the mock
                var criteria = new DrinkCanFindCriteria();
                var dbSet    = TestData.DBSetDrinkCan;

                mock.Mock <IDrinkCanRepository>().Setup(x => x.FindByCriteria(criteria)).Returns(dbSet);
                var service = mock.Create <DrinkCanService>();

                // Act
                var result = service.FindDrinkCans(criteria);

                //Asssert
                Assert.AreEqual(dbSet.Count(), result.Count());
            }
        }
        public List <DrinkCanDTO> FindDrinkCans(DrinkCanFindCriteria criteria)
        {
            if (criteria == null)
            {
                throw new ArgumentNullException("criteria");
            }

            var recs = _drinkCanRepository.FindByCriteria(criteria);

            List <DrinkCanDTO> result = new List <DrinkCanDTO>();

            foreach (var rec in recs)
            {
                result.Add(DrinkCanMapper.Map(rec));
            }

            return(result);
        }
        public void Test_DrinkCanRepository_Add()
        {
            using (IDrinkCanRepository repo = new DrinkCanRepository())
            {
                //Arrange
                var can = new DrinkCan {
                    Flavour = Flavour.Apple, Price = 2.50m
                };

                //Act
                repo.Add(can);

                var criteria = new DrinkCanFindCriteria();
                var count    = repo.FindByCriteria(criteria).Count();

                //Assert
                Assert.AreEqual(1, count);
            }
        }
        public void Test_DrinkCanRepository_Delete()
        {
            using (IDrinkCanRepository repo = new DrinkCanRepository())
            {
                //Arrange
                var can1 = new DrinkCan {
                    Flavour = Flavour.Apple, Price = 2.50m, IsSold = false
                };
                repo.Add(can1);

                //Act
                var criteria = new DrinkCanFindCriteria();
                criteria.Flavour = Flavour.Apple;


                var result = repo.FindByCriteria(criteria).FirstOrDefault();
                repo.Delete(result);

                result = repo.FindByCriteria(criteria).FirstOrDefault();
                //initCount.
                Assert.AreEqual(true, result.IsSold);
            }
        }