public void TestBadgeUpdateUpMultipleLevels()
{
using (_trans)
{
InitializeBadges();
int initial = _user.ActivityScore.BadgeScore;
for (int level = BadgeLevels.Bronze; level <= BadgeLevels.Max; level += 2)
{
Log(String.Format("Increasing badge to level {0}", level));
StatisticManager.SetUserStatistic(_id, Statistic.Steps,
BadgeConstants.Steps.REQUIREMENTS[level]);
User user2 = UserDAO.GetUserFromUserId(_id);
Log("Verifying badge reward on update");
Assert.AreEqual(initial + BadgeConstants.Steps.REWARDS[level] + BadgeConstants.Steps.REWARDS[level - 1],
user2.ActivityScore.BadgeScore);
initial += BadgeConstants.Steps.REWARDS[level] + BadgeConstants.Steps.REWARDS[level - 1];
}
}
}