コード例 #1
0
        public void Test_DrinkCanRepository_Reset()
        {
            using (IPaymentRepository repo = new PaymentRepository())
            {
                //Arrange
                var payment1 = new Payment {
                    PaymentID = 1, Amount = 3.50m, Type = PaymentType.Cash
                };
                repo.Add(payment1);

                var payment2 = new Payment {
                    PaymentID = 1, Amount = 1.50m, Type = PaymentType.CreditCard
                };
                repo.Add(payment2);

                //Act
                repo.Reset();

                var criteria = new PaymentFindCriteria();

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

                var updatedList = repo.FindByCriteria(criteria);

                //Assert
                Assert.AreEqual(0, updatedList.Count());
            }
        }
コード例 #2
0
        public void Test_PaymentRepository_Find()
        {
            using (IPaymentRepository repo = new PaymentRepository())
            {
                //Arrange
                var payment1 = new Payment {
                    PaymentID = 1, Amount = 3.50m, Type = PaymentType.Cash
                };
                repo.Add(payment1);

                var payment2 = new Payment {
                    PaymentID = 1, Amount = 1.50m, Type = PaymentType.CreditCard
                };
                repo.Add(payment2);

                //Act
                var criteria = new PaymentFindCriteria();
                criteria.Type = PaymentType.CreditCard;

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

                //Assert
                Assert.AreEqual(payment2, result);
            }
        }
コード例 #3
0
        public List <PaymentDTO> Get([FromUri] PaymentFindCriteria filter)
        {
            if (filter == null)
            {
                // allow null criteria and take defaults
                filter = new PaymentFindCriteria();
            }

            return(_paymentService.FindPayments(filter));
        }
コード例 #4
0
        public IEnumerable <Payment> FindByCriteria(PaymentFindCriteria criteria)
        {
            var query = Query();

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


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

            return(query.ToList());
        }
コード例 #5
0
        public List <PaymentDTO> FindPayments(PaymentFindCriteria criteria)
        {
            if (criteria == null)
            {
                throw new ArgumentNullException("criteria");
            }

            var payments = _paymentRepository.FindByCriteria(criteria);

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

            foreach (var payment in payments)
            {
                result.Add(PaymentMapper.Map(payment));
            }

            return(result);
        }
コード例 #6
0
        public void Test_PaymentService_Find()
        {
            using (var mock = AutoMock.GetLoose())
            {
                // Arrange - configure the mock
                var criteria = new PaymentFindCriteria();
                var dbSet    = TestData.DBSetPayment;

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

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

                //Asssert
                Assert.AreEqual(dbSet.Count(), result.Count());
            }
        }
コード例 #7
0
        public void Test_PaymentRepository_Add()
        {
            using (IPaymentRepository repo = new PaymentRepository())
            {
                //Arrange
                var payment = new Payment {
                    PaymentID = 1, Amount = 2.50m, Type = PaymentType.Cash
                };

                //Act
                repo.Add(payment);

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

                //Assert
                Assert.AreEqual(1, count);
            }
        }