public void Setup() { visualActivities = (List <VisualActivity>)TestData.VisualActivitiesList(); users = new List <StravaUser> { new StravaUser { VisualActivities = visualActivities, UserId = 1, LastDownload = DateTime.Now }, new StravaUser { VisualActivities = visualActivities, UserId = 2, LastDownload = DateTime.Now }, new StravaUser { VisualActivities = visualActivities, UserId = 3, LastDownload = DateTime.Now }, }.AsQueryable(); visualActivities[0].Summary.StartLatlng.Add(30.0F); visualActivities[0].Summary.StartLatlng.Add(40.0F); visualActivities[1].Summary.StartLatlng.Add(30.6F); visualActivities[1].Summary.StartLatlng.Add(40.6F); var userMockSet = Substitute.For <DbSet <StravaUser>, IQueryable <StravaUser> >(); ((IQueryable <StravaUser>)userMockSet).Provider.Returns(users.Provider); ((IQueryable <StravaUser>)userMockSet).Expression.Returns(users.Expression); ((IQueryable <StravaUser>)userMockSet).ElementType.Returns(users.ElementType); ((IQueryable <StravaUser>)userMockSet).GetEnumerator().Returns(users.GetEnumerator()); userActivityDbContext = Substitute.For <IMtbVisualizerDbContext>(); userActivityDbContext.StravaUsers.Returns(userMockSet); var mockActivities = visualActivities.AsQueryable(); var activityMockSet = Substitute.For <DbSet <VisualActivity>, IQueryable <VisualActivity> >(); ((IQueryable <VisualActivity>)activityMockSet).Provider.Returns(mockActivities.Provider); ((IQueryable <VisualActivity>)activityMockSet).Expression.Returns(mockActivities.Expression); ((IQueryable <VisualActivity>)activityMockSet).ElementType.Returns(mockActivities.ElementType); ((IQueryable <VisualActivity>)activityMockSet).GetEnumerator().Returns(mockActivities.GetEnumerator()); //((IQueryable<VisualActivity>)activityMockSet).Contains(visualActivities[0]).Returns(true); userActivityDbContext.VisualActivities.Returns(activityMockSet); userActivityRepository = new StravaVisualizerRepository(userActivityDbContext); }
public StravaVisualizerRepository(IMtbVisualizerDbContext context) { this.stravaVisualizerDbContext = context; }