using PkmnLib.Dynamic.Models.Choices;
using PkmnLib.Plugin.Gen7.Scripts.Moves;
namespace PkmnLib.Plugin.Gen7.Tests.Scripts.Moves;
///
/// Tests for the script, which implements Double Hit (and the other
/// fixed two-hit moves such as Double Kick, Dual Chop, Bonemerang and Gear Grind).
/// Behavior is verified against the Bulbapedia page for Double Hit.
///
public class DoubleHitMoveTests
{
///
/// Bulbapedia: "Double Hit inflicts damage, hitting twice per use." The number of hits is always set
/// to two, regardless of the default.
///
[Test, Arguments((byte)1), Arguments((byte)2), Arguments((byte)5)]
public async Task ChangeNumberOfHits_AnyInitialValue_SetsNumberOfHitsToTwo(byte initialHits)
{
// Arrange
var script = new DoubleHitMove();
var choice = Substitute.For();
var numberOfHits = initialHits;
// Act
script.ChangeNumberOfHits(choice, ref numberOfHits);
// Assert
await Assert.That(numberOfHits).IsEqualTo((byte)2);
}
}