public void MessageDisplayed_OnStatIncrease([Values] StatType raisedStat, [Range(1, 5)] int boostAmount) { //arrange _humanPlayer1.SetMove(_doNothingMove); _humanPlayer2.SetMove(_doNothingMove); _humanTeam.SetDeathsOnRoundEndEvent(); _enemyPlayer1.SetMove(_doNothingMove); _enemyPlayer2.SetMove(_doNothingMove); StatRaisedEventArgs e = new StatRaisedEventArgs(raisedStat, boostAmount); _humanPlayer1.TurnEnded += delegate { _humanPlayer1.OnStatRaised(e); }; //Act _battleManager.Battle(_humanTeam, _enemyTeam); //Assert MockOutputMessage[] outputs = _output.GetOutputs(); string statTypeString = raisedStat == StatType.Evade ? "evasion" : raisedStat.ToString().ToLower(); string expectedMessage = $"{_humanPlayer1.DisplayName}'s {statTypeString} was raised by {boostAmount}!\n"; MockOutputMessage output = outputs.FirstOrDefault(o => o.Message == expectedMessage); Assert.NotNull(output); }