public void TestContestIndividualTeamsRemainSorted()
{
using (_trans)
{
InitializeTestDBEntries();
Log("Creating individual contest");
int id = ContestManager.CreateContest(ContestType.Individual, "Test Contest 1",
"This is a test time-based contest.", DateTime.Now, DateTime.Now.AddDays(7),
true, Statistic.Steps, _user1.UserID);
Log("Retrieving Contest");
Contest contest = ContestManager.GetContest(id, true, true);
Log("Verifying 0 ActivityScore Reward");
Assert.AreEqual(0, contest.Reward);
ContestManager.AddUser(id, _user1);
ContestManager.AddUser(id, _user2);
ContestManager.AddUser(id, _user3);
ContestManager.AddUser(id, _user4);
Log("Locking initial values");
ContestManager.LockContest(id);
Log("Setting individual statistics");
StatisticManager.SetUserStatistic(_user1.UserID, Statistic.Steps, 25);
StatisticManager.SetUserStatistic(_user2.UserID, Statistic.Steps, 75);
StatisticManager.SetUserStatistic(_user3.UserID, Statistic.Steps, 50);
StatisticManager.SetUserStatistic(_user4.UserID, Statistic.Steps, 100);
contest = ContestManager.GetContest(id, true, true);
Log(String.Format("Verifying nonzero ActivityScore Reward (Actual = {0})", contest.Reward));
Assert.AreNotEqual(0, contest.Reward);
Log("Verifying team order");
Assert.IsTrue(contest.Teams[0].ContainsMember(_user4.UserID));
Assert.IsTrue(contest.Teams[1].ContainsMember(_user2.UserID));
Assert.IsTrue(contest.Teams[2].ContainsMember(_user3.UserID));
Assert.IsTrue(contest.Teams[3].ContainsMember(_user1.UserID));
}
}