示例#1
0
        public void Get_Current_Holds()
        {
            var holds = GetCurrentHolds().AsQueryable();

            var mockDbSet = new Mock <DbSet <Hold> >();

            mockDbSet.As <IQueryable <Hold> >().Setup(p => p.Provider).Returns(holds.Provider);
            mockDbSet.As <IQueryable <Hold> >().Setup(p => p.Expression).Returns(holds.Expression);
            mockDbSet.As <IQueryable <Hold> >().Setup(p => p.ElementType).Returns(holds.ElementType);
            mockDbSet.As <IQueryable <Hold> >().Setup(p => p.GetEnumerator()).Returns(holds.GetEnumerator);

            var mockContext = new Mock <RentalContext>();

            mockContext.Setup(r => r.Holds).Returns(mockDbSet.Object);

            var service = new RentalService(mockContext.Object);
            var hold    = service.GetCurrentHolds(1);

            hold.Should().HaveCount(2);
            hold.Should().Contain(h => h.Subscriber.FirstName == "Mary");
            hold.Should().Contain(h => h.Subscriber.FirstName == "Brad");
        }