public void Calculate_OutsideThreshold_ReturnsMiss()
        {
            // Arrange
            var random = new Mock <Random>();

            random
            .Setup(m => m.Next(100))
            .Returns(95);

            var calculator = new AccuracyMoveSuccessCalculator(90, random.Object);

            var move = TestHelpers.CreateMove();

            // Act
            var result = calculator.Calculate(move);

            // Assert
            Assert.That(result, Is.EqualTo(MoveUseResult.Miss));
        }
 public void Ctor_NullRandom_Throws()
 {
     Assert.Throws <ArgumentNullException>(() => _ = new AccuracyMoveSuccessCalculator(0, null));
 }