public void TestGetContestFromContestIdPresentWithTeams()
{
using (_trans)
{
InitializeTestDBEntries();
Log("Creating contest");
Contest contest = new Contest()
{
Name = "Test Contest1",
Description = "This is a test contest",
Mode = ContestEndMode.GoalBased,
Type = ContestType.Group,
StartTime = DateTime.Today,
EndValue = 500,
IsActive = true,
IsSearchable = true,
StatisticBinding = Statistic.Steps,
CreatorId = _user1.UserID
};
Log("Saving to DB");
int id = ContestDAO.CreateNewContest(contest);
Contest retrieved = ContestDAO.GetContestFromContestId(id, false, false);
Assert.AreEqual(0, retrieved.Reward);
Log("Adding groups to the contest");
ContestManager.AddGroup(id, _group1);
ContestManager.AddGroup(id, _group2);
Log("Reading back from DB");
retrieved = ContestDAO.GetContestFromContestId(id, true, true);
Log(String.Format("Verifying nonzero reward (Actual = {0})", retrieved.Reward));
Assert.AreNotEqual(0, retrieved.Reward);
Log("Verifying the correct number of teams");
Assert.AreEqual(2, retrieved.Teams.Count);
Log("Verifying that each member is found");
Assert.IsTrue(retrieved.Teams[0].ContainsMember(_user1.UserID) || retrieved.Teams[1].ContainsMember(_user1.UserID));
Assert.IsTrue(retrieved.Teams[0].ContainsMember(_user2.UserID) || retrieved.Teams[1].ContainsMember(_user2.UserID));
Assert.IsTrue(retrieved.Teams[1].ContainsMember(_user3.UserID) || retrieved.Teams[0].ContainsMember(_user3.UserID));
Assert.IsTrue(retrieved.Teams[1].ContainsMember(_user4.UserID) || retrieved.Teams[0].ContainsMember(_user4.UserID));
}
}