public void TestCreateGroup()
{
var owner = new User
{
UserName = "owner",
Age = 25, City = "Bleaksburg", Email = "[email protected]", FirstName = "I.C.", Gender = "M",
Height = 60, LastName = "Poorcode", State = "VA", Weight = 130
};
var member = new User
{
UserName = "member",
Age = 25, City = "Bleaksburg", Email = "[email protected]", FirstName = "I.C.", Gender = "M",
Height = 60, LastName = "Poorcode", State = "VA", Weight = 130
};
var notMember = new User
{
UserName = "notMember",
Age = 25, City = "Bleaksburg", Email = "[email protected]", FirstName = "I.C.", Gender = "M",
Height = 60, LastName = "Poorcode", State = "VA", Weight = 130
};
owner.UserID = UserDAO.CreateNewUser(owner, "password");
member.UserID = UserDAO.CreateNewUser(member, "password");
notMember.UserID = UserDAO.CreateNewUser(notMember, "password");
List<string> tags = new List<string>();
tags.Add("new");
tags.Add("searchable");
tags.Add("hashtags");
Group testGroup = new Group("Test", owner, "This is a Group", tags);
testGroup.Join(member);
int id = GroupDAO.CreateNewGroup(testGroup);
Assert.AreNotEqual(id, 0);
Group dbGroup = GroupDAO.GetGroupFromGroupId(id);
Assert.AreEqual("Test", dbGroup.Name);
Assert.AreEqual("owner", dbGroup.Owner.UserName);
Assert.AreEqual("This is a Group", dbGroup.Description);
for (int i = 0; i < tags.Count; i++)
{
Assert.AreEqual(tags.ElementAt(i), dbGroup.HashTags.ElementAt(i));
}
Assert.AreEqual(2, dbGroup.Members.Count);
foreach (User u in dbGroup.Members) {
Assert.IsNotNull(u);
Assert.AreNotEqual("notMember", u.UserName);
}
}