public void MakeProgress_GivenAchievementConditionThatNeedsACountOf2_Is50PercentCompleted() { // Arrange AchievementCondition ac = new AchievementCondition("", "", 2); IAchievementCondition reportedAchievementConditionProgressChanged = null; int reportedProgressCount = 0; ac.ProgressChanged += delegate(IAchievementCondition iac, AchievementConditionProgressChangedArgs args) { reportedAchievementConditionProgressChanged = iac; reportedProgressCount = args.ProgressCount; }; IAchievementCondition reportedAchievementConditionCompleted = null; ac.ConditionCompleted += delegate(IAchievementCondition iac) { reportedAchievementConditionCompleted = iac; }; // Act ac.MakeProgress(); // Assert Assert.AreEqual(50, ac.Progress); Assert.AreEqual(1, ac.ProgressCount); Assert.AreEqual(ac, reportedAchievementConditionProgressChanged); Assert.AreEqual(1, reportedProgressCount); Assert.IsNull(reportedAchievementConditionCompleted); }