public void get_overdue_books_returns_all_books_which_are_overdue() { //given var overDueBooksId = TestData.IssuedBooks.Where(i => DateTime.Now.Subtract(i.ReturnDate).Days > 0).Select(s => s.BookId).ToList(); var overDueBooks = TestData.Books.Where(b => overDueBooksId.Contains(b.BookId)); moqBookService.Setup(m => m.GetOverdueBooks()).Returns(overDueBooks); var sut = new BookStoreService(moqStudentService.Object, moqBookService.Object, moqBookAllocationService.Object); //when var result = sut.GetOverdueBooks(); //then Assert.IsInstanceOfType(result, typeof(IEnumerable <Book>)); moqBookService.Verify(v => v.GetOverdueBooks(), Times.Once); }