Lots more work on implementing battling
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
using PkmnLib.Dynamic.Models;
|
||||
using PkmnLib.Plugin.Gen7.Moves;
|
||||
using PkmnLib.Static;
|
||||
|
||||
namespace PkmnLib.Plugin.Gen7.Tests.Scripts.Moves;
|
||||
|
||||
public class AcrobaticsTests
|
||||
{
|
||||
[Test]
|
||||
public void ChangeBasePower_UserNotHoldingItem_BasePowerDoubles()
|
||||
{
|
||||
// Arrange
|
||||
var move = new Mock<IExecutingMove>();
|
||||
var target = new Mock<IPokemon>();
|
||||
byte basePower = 10;
|
||||
move.Setup(m => m.User).Returns(new Mock<IPokemon>().Object);
|
||||
move.Setup(m => m.User.HeldItem).Returns((IItem?)null);
|
||||
var acrobatics = new Acrobatics();
|
||||
|
||||
// Act
|
||||
acrobatics.ChangeBasePower(move.Object, target.Object, 0, ref basePower);
|
||||
|
||||
// Assert
|
||||
Assert.That(basePower, Is.EqualTo(20));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ChangeBasePower_UserHoldingItem_BasePowerUnchanged()
|
||||
{
|
||||
// Arrange
|
||||
var move = new Mock<IExecutingMove>();
|
||||
var target = new Mock<IPokemon>();
|
||||
byte basePower = 10;
|
||||
move.Setup(m => m.User).Returns(new Mock<IPokemon>().Object);
|
||||
move.Setup(m => m.User.HeldItem).Returns(new Mock<IItem>().Object);
|
||||
var acrobatics = new Acrobatics();
|
||||
|
||||
// Act
|
||||
acrobatics.ChangeBasePower(move.Object, target.Object, 0, ref basePower);
|
||||
|
||||
// Assert
|
||||
Assert.That(basePower, Is.EqualTo(10));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ChangeBasePower_UserNotHoldingItem_NoOverflow()
|
||||
{
|
||||
// Arrange
|
||||
var move = new Mock<IExecutingMove>();
|
||||
var target = new Mock<IPokemon>();
|
||||
byte basePower = 200;
|
||||
move.Setup(m => m.User).Returns(new Mock<IPokemon>().Object);
|
||||
move.Setup(m => m.User.HeldItem).Returns((IItem?)null);
|
||||
var acrobatics = new Acrobatics();
|
||||
|
||||
// Act
|
||||
acrobatics.ChangeBasePower(move.Object, target.Object, 0, ref basePower);
|
||||
|
||||
// Assert
|
||||
Assert.That(basePower, Is.EqualTo(byte.MaxValue));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -14,9 +14,6 @@ namespace PkmnLib.Plugin.Gen7.Moves;
|
||||
[Script(ScriptCategory.Move, "acrobatics")]
|
||||
public class Acrobatics : Script
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public override StringKey Name => "acrobatics";
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void ChangeBasePower(IExecutingMove move, IPokemon target, byte hit, ref byte basePower)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user