public void TestChallengeProgressIncomplete()
{
using (_trans)
{
Log("Creating test users in DB");
_user1.UserID = UserDAO.CreateNewUser(_user1, "pass1");
_user2.UserID = UserDAO.CreateNewUser(_user2, "pass1");
Log("Setting users' initial Step statistic");
StatisticManager.SetUserStatistic(_user1.UserID, Statistic.Steps, 0);
StatisticManager.SetUserStatistic(_user2.UserID, Statistic.Steps, 50);
Log("Creating Step-Based Challenge");
int challengeId = ChallengeManager.CreateChallenge("Test Challenge", "This is a test challenge",
30, false, DateTime.Today, 1, Statistic.Steps, 500);
ChallengeManager.InitializeUser(challengeId, _user1.UserID);
ChallengeManager.InitializeUser(challengeId, _user2.UserID);
Challenge challenge = ChallengeManager.GetChallenge(challengeId);
Log("Increasing User1's Step Statistic");
StatisticManager.SetUserStatistic(_user1.UserID, Statistic.Steps, 200);
Log("Increasing User2's Step Statistic");
StatisticManager.SetUserStatistic(_user2.UserID, Statistic.Steps, 200);
Log("Verifying User1's Challenge Progress");
Assert.AreEqual(40, ChallengeManager.GetProgress(challengeId, _user1.UserID));
Log("Verifying User2's Challenge Progress");
Assert.AreEqual(30, ChallengeManager.GetProgress(challengeId, _user2.UserID));
Log("Verifying User1 has not completed the Challenge");
Assert.IsFalse(ChallengeManager.IsComplete(challengeId, _user1.UserID));
Log("Verifying User2 has not completed the Challenge");
Assert.IsFalse(ChallengeManager.IsComplete(challengeId, _user2.UserID));
}
}