public void TestSmartContext_RetrieveMultipleUsersWithCondition_AllUsersShouldBeSavedToOffline() { using (SmartContext sCtx = new SmartContext()) { int usersInOfflineCountBefore = this.offlineContext.Users.Count(); IEnumerable<User> users = sCtx.GetMultiple<User>((u) => u.UserId > 1); IList<int> userIds = new List<int>(); foreach (User user in users) { userIds.Add(user.UserId); } int usersInOfflineCountAfter = this.offlineContext.Users.Count(); IEnumerable<User> usersFromOfflineStorage = this.offlineContext.Users.Where(usr => userIds.Contains(usr.UserId)).ToList(); Assert.AreNotEqual(0, users.Count()); Assert.AreNotEqual(usersInOfflineCountBefore, usersInOfflineCountAfter); Assert.AreEqual(users.Count(), usersFromOfflineStorage.Count()); } }
public void TestSmartContext_RetrieveMultipleUsers_AllUsersShouldBeSavedToOffline() { using (SmartContext sCtx = new SmartContext()) { int usersInOfflineCountBefore = this.offlineContext.Users.Count(); IEnumerable<User> users = sCtx.GetMultiple<User>(); IList<int> userIds = users.Select(usr => usr.UserId).ToList(); int usersInOfflineCountAfter = this.offlineContext.Users.Count(); IEnumerable<User> usersFromOfflineStorage = this.offlineContext.Users.Where(usr => userIds.Contains(usr.UserId)).ToList(); Assert.AreNotEqual(0, users.Count()); Assert.AreNotEqual(usersInOfflineCountBefore, usersInOfflineCountAfter); Assert.AreEqual(users.Count(), usersFromOfflineStorage.Count()); } }
public void TestSmartContext_RetrieveMultipleUsersAndRelatedGroups_AllUsersAndGroupsShouldBeSavedToOffline() { using (SmartContext sCtx = new SmartContext()) { int usersInOfflineCountBefore = this.offlineContext.Users.Count(); int groupsInOfflineCountBefore = this.offlineContext.Groups.Count(); FetchStrategy loadWithGroup = new FetchStrategy(); loadWithGroup.LoadWith<User>(u => u.Group); IEnumerable<User> users = sCtx.GetMultiple<User>(fetchStrategy: loadWithGroup); IList<int> userIds = users.Select(usr => usr.UserId).ToList(); IList<int> groupIds = users.Select(usr => usr.GroupId).Distinct().ToList(); int usersInOfflineCountAfter = this.offlineContext.Users.Count(); int groupsInOfflineCountAfter = this.offlineContext.Groups.Count(); IEnumerable<User> usersFromOfflineStorage = this.offlineContext.Users.Where(usr => userIds.Contains(usr.UserId)).ToList(); IEnumerable<Group> groupsFromOfflineStorage = this.offlineContext.Groups.Where(grp => groupIds.Contains(grp.GroupId)).ToList(); Assert.AreNotEqual(0, users.Count()); Assert.AreNotEqual(usersInOfflineCountBefore, usersInOfflineCountAfter); Assert.AreNotEqual(groupsInOfflineCountBefore, groupsInOfflineCountAfter); Assert.AreEqual(users.Count(), usersFromOfflineStorage.Count()); Assert.AreEqual(groupIds.Count, groupsFromOfflineStorage.Count()); } }