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();
}