public void TestContestGroupContestInitialization()
{
using (_trans)
{
InitializeTestDBEntries();
Log("Creating time-based group contest");
int id = ContestManager.CreateContest(ContestType.Group, "Test Contest 1",
"This is a test time-based contest.", DateTime.Now, DateTime.Now.AddDays(1),
true, Statistic.Steps, _user1.UserID);
Log("Adding groups to the contest");
ContestManager.AddGroup(id, _group1);
ContestManager.AddGroup(id, _group2);
Contest contest = ContestManager.GetContest(id, true, true);
Log("Verifying team count");
Assert.AreEqual(2, contest.Teams.Count);
Assert.IsTrue(ContestManager.UserCompetingInContest(_user1.UserID, id));
Assert.IsTrue(ContestManager.UserCompetingInContest(_user2.UserID, id));
Assert.IsTrue(ContestManager.UserCompetingInContest(_user3.UserID, id));
Assert.IsTrue(ContestManager.UserCompetingInContest(_user4.UserID, id));
Log("Verifying number of members per team");
Assert.AreEqual(2, contest.Teams[0].Members.Count);
Assert.AreEqual(2, contest.Teams[1].Members.Count);
Log("Locking team initialization");
ContestManager.LockContest(id);
contest = ContestManager.GetContest(id, true, false);
Log("Verifying initial team scores");
Assert.AreEqual(0, contest.Teams[0].Score);
Assert.AreEqual(0, contest.Teams[1].Score);
}
}