public void ReturnLatestTrips_FromTheRepo(int countToTake) { // Arrange var mockedTripRepo = new Mock <IProjectableRepositoryEf <Trip> >(); var mockedUserTripRepo = new Mock <IProjectableRepositoryEf <UsersTrips> >(); var mockedCityService = new Mock <ICityService>(); var mockedTagService = new Mock <ITagService>(); var mockedDateTimpeProvider = new Mock <IDateTimeProvider>(); var mockedMappingProvider = new Mock <IMappingProvider>(); var mockedUnitOfWork = new Mock <IUnitOfWorkEF>(); var tripService = new TripService( () => mockedUnitOfWork.Object, mockedUserTripRepo.Object, mockedCityService.Object, mockedMappingProvider.Object, mockedTagService.Object, mockedTripRepo.Object, mockedDateTimpeProvider.Object); IEnumerable <TripBasicInfo> expected = new List <TripBasicInfo>() { new TripBasicInfo(), new TripBasicInfo(), new TripBasicInfo(), new TripBasicInfo() }; expected = expected.Take(countToTake); var data = new List <Trip>(); mockedTripRepo.Setup(x => x.GetAllMappedWithDescSort <DateTime, TripBasicInfo>(It.IsAny <Expression <Func <Trip, bool> > >(), It.IsAny <Expression <Func <Trip, DateTime> > >(), It.IsAny <int>(), It.IsAny <int>())) .Returns(expected); // Act var result = tripService.GetLatestTripsBasicInfo(countToTake); // Assert CollectionAssert.AreEquivalent(expected, result); }