public void TestContestGroupTeamsSorted()
{
using (_trans)
{
InitializeTestDBEntries();
Log("Creating 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);
ContestManager.AddGroup(id, _group1);
ContestManager.AddGroup(id, _group2);
Log("Locking initial values");
ContestManager.LockContest(id);
Log("Setting individual statistics such that group1 is winning");
StatisticManager.SetUserStatistic(_user1.UserID, Statistic.Steps, 100);
StatisticManager.SetUserStatistic(_user2.UserID, Statistic.Steps, 100);
StatisticManager.SetUserStatistic(_user3.UserID, Statistic.Steps, 50);
StatisticManager.SetUserStatistic(_user4.UserID, Statistic.Steps, 50);
Contest contest = ContestManager.GetContest(id, true, true);
Log("Verifying first team is group1");
Assert.AreEqual("Group 1", contest.Teams[0].Name);
Log("Verifying second team is group2");
Assert.AreEqual("Group 2", contest.Teams[1].Name);
Log("Setting individual statistics such that group2 is winning");
StatisticManager.SetUserStatistic(_user1.UserID, Statistic.Steps, 200);
StatisticManager.SetUserStatistic(_user2.UserID, Statistic.Steps, 200);
StatisticManager.SetUserStatistic(_user3.UserID, Statistic.Steps, 300);
StatisticManager.SetUserStatistic(_user4.UserID, Statistic.Steps, 300);
contest = ContestManager.GetContest(id, true, false);
Log("Verifying first team is group2");
Assert.AreEqual("Group 2", contest.Teams[0].Name);
Log("Verifying second team is group1");
Assert.AreEqual("Group 1", contest.Teams[1].Name);
}
}