public int Update_ModifiedDownPass_StatDownCorrectly(int statDownPass, int downPassRoll) { // ARRANGE const int STAT_RATE = 1; const int MIN_STAT_VALUE = 0; const int MAX_STAT_VALUE = 1; const int START_STAT_VALUE = MAX_STAT_VALUE; const SurvivalStatType STAT_TYPE = SurvivalStatType.Satiety; var survivalRandomSourceMock = new Mock <ISurvivalRandomSource>(); survivalRandomSourceMock.Setup(x => x.RollSurvival(It.IsAny <SurvivalStat>())) .Returns(downPassRoll); var survivalRandomSource = survivalRandomSourceMock.Object; var survivalStats = new SurvivalStat[] { new SurvivalStat(START_STAT_VALUE, MIN_STAT_VALUE, MAX_STAT_VALUE) { Type = STAT_TYPE, Rate = STAT_RATE, DownPassRoll = statDownPass } }; var survivalData = new HumanSurvivalData(_personScheme, survivalStats, survivalRandomSource); // ACT survivalData.Update(); // ASSERT return(survivalStats[0].Value); }
public void Update_StatNearKeyPoint_RaiseEventWithCorrectValues() { // ARRANGE const SurvivalStatType STAT_TYPE = SurvivalStatType.Satiety; const int MIN_STAT_VALUE = 0; const int MAX_STAT_VALUE = 1; const int START_STAT_VALUE = MAX_STAT_VALUE; const int LESSER_SURVIVAL_STAT_KEYPOINT = 0; const SurvivalStatHazardLevel LESSER_SURVIVAL_STAT_KEYPOINT_TYPE = SurvivalStatHazardLevel.Lesser; const int STAT_RATE = 1; const int EXPECTED_SURVIVAL_STAT_KEYPOINT = LESSER_SURVIVAL_STAT_KEYPOINT; const int FAKE_ROLL_SURVIVAL_RESULT = 6; var survivalRandomSourceMock = new Mock <ISurvivalRandomSource>(); survivalRandomSourceMock.Setup(x => x.RollSurvival(It.IsAny <SurvivalStat>())) .Returns(FAKE_ROLL_SURVIVAL_RESULT); var survivalRandomSource = survivalRandomSourceMock.Object; var survivalStats = new SurvivalStat[] { new SurvivalStat(START_STAT_VALUE, MIN_STAT_VALUE, MAX_STAT_VALUE) { Type = STAT_TYPE, Rate = STAT_RATE, KeyPoints = new[] { new SurvivalStatKeyPoint( LESSER_SURVIVAL_STAT_KEYPOINT_TYPE, LESSER_SURVIVAL_STAT_KEYPOINT) } } }; var survivalData = new HumanSurvivalData(_personScheme, survivalStats, survivalRandomSource); // ACT using (var monitor = survivalData.Monitor()) { survivalData.Update(); // ASSERT monitor.Should().Raise(nameof(ISurvivalData.StatCrossKeyValue)) .WithArgs <SurvivalStatChangedEventArgs>(args => args.Stat.Type == STAT_TYPE && args.KeyPoints.FirstOrDefault().Level == LESSER_SURVIVAL_STAT_KEYPOINT_TYPE && args.KeyPoints.FirstOrDefault().Value == EXPECTED_SURVIVAL_STAT_KEYPOINT); } }
private ISurvivalData CreateSurvivalData() { var survivalData = new HumanSurvivalData(_personScheme, _survivalRandomSource); return(survivalData); }