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);
            }
        }
示例#3
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 Add(DrinkCanDTO recDTO)
        {
            if (recDTO == null)
            {
                throw new ArgumentNullException(string.Format(ValidationConstants.SDataNotFoundWithValue, "DrinkCan"));
            }

            DrinkCan rec = DrinkCanMapper.Map(recDTO);

            _drinkCanRepository.Add(rec);
        }
        public static DrinkCanDTO Map(DrinkCan source, DrinkCanDTO target = null)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }

            if (target == null)
            {
                target = new DrinkCanDTO();
            }

            target.Flavour = source.Flavour;
            target.Price   = source.Price;
            target.IsSold  = source.IsSold;

            return(target);
        }
        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);
            }
        }
        public void Delete(DrinkCan can)
        {
            var rec = Query().Where(c => c.Flavour == can.Flavour && c.IsSold == false).FirstOrDefault();

            rec.IsSold = true;
        }
 public void Update(DrinkCan can)
 {
 }
 public void Add(DrinkCan can)
 {
     _inMemoryDb.Add(can);
 }