public ReservationDBRepositoryTests()
        {
            data  = new List <Reservation>();
            users = new List <User>();

            mockReservationSet = new Mock <DbSet <Reservation> >();
            mockReservationSet.As <IQueryable <Reservation> >().Setup(m => m.Provider).Returns(() => data.AsQueryable().Provider);
            mockReservationSet.As <IQueryable <Reservation> >().Setup(m => m.Expression).Returns(() => data.AsQueryable().Expression);
            mockReservationSet.As <IQueryable <Reservation> >().Setup(m => m.ElementType).Returns(() => data.AsQueryable().ElementType);
            mockReservationSet.As <IQueryable <Reservation> >().Setup(m => m.GetEnumerator()).Returns(() => data.GetEnumerator());
            mockReservationSet.Setup(m => m.Add(It.IsAny <Reservation>())).Callback <Reservation>((Reservation r) => data.Add(r));
            mockReservationSet.Setup(m => m.Remove(It.IsAny <Reservation>())).Callback <Reservation>((Reservation r) => data.Remove(r));

            mockUserSet = new Mock <DbSet <User> >();
            mockUserSet.As <IQueryable <User> >().Setup(m => m.Provider).Returns(() => users.AsQueryable().Provider);
            mockUserSet.As <IQueryable <User> >().Setup(m => m.Expression).Returns(() => users.AsQueryable().Expression);
            mockUserSet.As <IQueryable <User> >().Setup(m => m.ElementType).Returns(() => users.AsQueryable().ElementType);
            mockUserSet.As <IQueryable <User> >().Setup(m => m.GetEnumerator()).Returns(() => users.GetEnumerator());
            mockUserSet.Setup(m => m.Add(It.IsAny <User>())).Callback <User>((User u) => users.Add(u)).Returns((User u) => { u.Id = users.IndexOf(u); return(u); });

            mockContext = new Mock <LibraryContext>();
            mockContext.Setup(m => m.Reservations).Returns(mockReservationSet.Object);
            mockContext.Setup(m => m.Users).Returns(mockUserSet.Object);
            repo = new ReservationDBRepository(mockContext.Object);
        }
 public void Dispose()
 {
     data = null;
     mockReservationSet = null;
     users       = null;
     mockUserSet = null;
     mockContext = null;
     repo        = null;
 }