public void GetUsersTest() { FelBookDBEntities DBEntities = new FelBookDBEntities(); IWallService wallService = null; GroupService target = new GroupService(DBEntities, wallService); User creator = User.CreateUser(0, "group", "creator", DateTime.Now, "mail", "groupCreator", "1234"); DBEntities.UserSet.AddObject(creator); User member = User.CreateUser(0, "group", "member", DateTime.Now, "mail", "groupMember", "1234"); DBEntities.UserSet.AddObject(member); Group group = Group.CreateGroup(0, "newGroup", "groupDescription"); creator.CreatedGroups.Add(group); creator.AdminedGroups.Add(group); creator.JoinedGroups.Add(group); DBEntities.GroupSet.AddObject(group); DBEntities.SaveChanges(); List<User> actual = target.GetUsers(group).ToList(); Assert.AreEqual(1, actual.Count); Assert.IsTrue(actual.Contains(creator)); Assert.IsFalse(actual.Contains(member)); group.Users.Add(member); DBEntities.SaveChanges(); actual = target.GetUsers(group).ToList(); Assert.AreEqual(2, actual.Count); Assert.IsTrue(actual.Contains(creator)); Assert.IsTrue(actual.Contains(member)); group.Users.Remove(member); group.Users.Remove(creator); DBEntities.SaveChanges(); actual = target.GetUsers(group).ToList(); Assert.AreEqual(0, actual.Count); Assert.IsFalse(actual.Contains(creator)); Assert.IsFalse(actual.Contains(member)); DBEntities.GroupSet.DeleteObject(group); DBEntities.UserSet.DeleteObject(member); DBEntities.UserSet.DeleteObject(creator); DBEntities.SaveChanges(); }