Update dependencies, replace Moq with NSubstitute
This commit is contained in:
@@ -10,15 +10,16 @@ public class AcrobaticsTests
|
||||
public async Task ChangeBasePower_UserNotHoldingItem_BasePowerDoubles()
|
||||
{
|
||||
// Arrange
|
||||
var move = new Mock<IExecutingMove>();
|
||||
var target = new Mock<IPokemon>();
|
||||
var move = Substitute.For<IExecutingMove>();
|
||||
var target = Substitute.For<IPokemon>();
|
||||
byte basePower = 10;
|
||||
move.Setup(m => m.User).Returns(new Mock<IPokemon>().Object);
|
||||
move.Setup(m => m.User.HeldItem).Returns((IItem?)null);
|
||||
var user = Substitute.For<IPokemon>();
|
||||
user.HeldItem.Returns((IItem?)null);
|
||||
move.User.Returns(user);
|
||||
var acrobatics = new Acrobatics();
|
||||
|
||||
// Act
|
||||
acrobatics.ChangeBasePower(move.Object, target.Object, 0, ref basePower);
|
||||
acrobatics.ChangeBasePower(move, target, 0, ref basePower);
|
||||
|
||||
// Assert
|
||||
await Assert.That(basePower).IsEqualTo((byte)20);
|
||||
@@ -28,15 +29,16 @@ public class AcrobaticsTests
|
||||
public async Task ChangeBasePower_UserHoldingItem_BasePowerUnchanged()
|
||||
{
|
||||
// Arrange
|
||||
var move = new Mock<IExecutingMove>();
|
||||
var target = new Mock<IPokemon>();
|
||||
var move = Substitute.For<IExecutingMove>();
|
||||
var target = Substitute.For<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 user = Substitute.For<IPokemon>();
|
||||
user.HeldItem.Returns(Substitute.For<IItem>());
|
||||
move.User.Returns(user);
|
||||
var acrobatics = new Acrobatics();
|
||||
|
||||
// Act
|
||||
acrobatics.ChangeBasePower(move.Object, target.Object, 0, ref basePower);
|
||||
acrobatics.ChangeBasePower(move, target, 0, ref basePower);
|
||||
|
||||
// Assert
|
||||
await Assert.That(basePower).IsEqualTo((byte)10);
|
||||
@@ -46,15 +48,16 @@ public class AcrobaticsTests
|
||||
public async Task ChangeBasePower_UserNotHoldingItem_NoOverflow()
|
||||
{
|
||||
// Arrange
|
||||
var move = new Mock<IExecutingMove>();
|
||||
var target = new Mock<IPokemon>();
|
||||
var move = Substitute.For<IExecutingMove>();
|
||||
var target = Substitute.For<IPokemon>();
|
||||
byte basePower = 200;
|
||||
move.Setup(m => m.User).Returns(new Mock<IPokemon>().Object);
|
||||
move.Setup(m => m.User.HeldItem).Returns((IItem?)null);
|
||||
var user = Substitute.For<IPokemon>();
|
||||
move.User.Returns(user);
|
||||
user.HeldItem.Returns((IItem?)null);
|
||||
var acrobatics = new Acrobatics();
|
||||
|
||||
// Act
|
||||
acrobatics.ChangeBasePower(move.Object, target.Object, 0, ref basePower);
|
||||
acrobatics.ChangeBasePower(move, target, 0, ref basePower);
|
||||
|
||||
// Assert
|
||||
await Assert.That(basePower).IsEqualTo(byte.MaxValue);
|
||||
|
||||
@@ -47,22 +47,22 @@ public class HiddenPowerTests
|
||||
typeLibrary.RegisterType("dark");
|
||||
typeLibrary.RegisterType("fairy");
|
||||
|
||||
var executingMove = new Mock<IExecutingMove>(MockBehavior.Strict);
|
||||
var user = new Mock<IPokemon>(MockBehavior.Strict);
|
||||
var target = new Mock<IPokemon>(MockBehavior.Strict);
|
||||
var dynamicLibrary = new Mock<IDynamicLibrary>(MockBehavior.Strict);
|
||||
var staticLibrary = new Mock<IStaticLibrary>(MockBehavior.Strict);
|
||||
var executingMove = Substitute.For<IExecutingMove>();
|
||||
var user = Substitute.For<IPokemon>();
|
||||
var target = Substitute.For<IPokemon>();
|
||||
var dynamicLibrary = Substitute.For<IDynamicLibrary>();
|
||||
var staticLibrary = Substitute.For<IStaticLibrary>();
|
||||
|
||||
executingMove.SetupGet(x => x.User).Returns(user.Object);
|
||||
user.SetupGet(x => x.IndividualValues).Returns(test.Ivs);
|
||||
user.SetupGet(x => x.Library).Returns(dynamicLibrary.Object);
|
||||
staticLibrary.Setup(x => x.Types).Returns(typeLibrary);
|
||||
dynamicLibrary.Setup(x => x.StaticLibrary).Returns(staticLibrary.Object);
|
||||
executingMove.User.Returns(user);
|
||||
user.IndividualValues.Returns(test.Ivs);
|
||||
user.Library.Returns(dynamicLibrary);
|
||||
staticLibrary.Types.Returns(typeLibrary);
|
||||
dynamicLibrary.StaticLibrary.Returns(staticLibrary);
|
||||
|
||||
TypeIdentifier? moveType = new TypeIdentifier(1, "normal");
|
||||
|
||||
var hiddenPower = new HiddenPower();
|
||||
hiddenPower.ChangeMoveType(executingMove.Object, target.Object, 0, ref moveType);
|
||||
hiddenPower.ChangeMoveType(executingMove, target, 0, ref moveType);
|
||||
|
||||
await Assert.That(moveType!.Value.Name).IsEqualTo(test.ExpectedType);
|
||||
}
|
||||
@@ -70,20 +70,20 @@ public class HiddenPowerTests
|
||||
[Test, MethodDataSource(nameof(HiddenPowerTestData))]
|
||||
public async Task HiddenPower_ChangesBasePower(TestCaseData test)
|
||||
{
|
||||
var executingMove = new Mock<IExecutingMove>(MockBehavior.Strict);
|
||||
var user = new Mock<IPokemon>(MockBehavior.Strict);
|
||||
var target = new Mock<IPokemon>(MockBehavior.Strict);
|
||||
var dynamicLibrary = new Mock<IDynamicLibrary>(MockBehavior.Strict);
|
||||
var staticLibrary = new Mock<IStaticLibrary>(MockBehavior.Strict);
|
||||
var executingMove = Substitute.For<IExecutingMove>();
|
||||
var user = Substitute.For<IPokemon>();
|
||||
var target = Substitute.For<IPokemon>();
|
||||
var dynamicLibrary = Substitute.For<IDynamicLibrary>();
|
||||
var staticLibrary = Substitute.For<IStaticLibrary>();
|
||||
|
||||
executingMove.SetupGet(x => x.User).Returns(user.Object);
|
||||
user.SetupGet(x => x.IndividualValues).Returns(test.Ivs);
|
||||
user.SetupGet(x => x.Library).Returns(dynamicLibrary.Object);
|
||||
dynamicLibrary.Setup(x => x.StaticLibrary).Returns(staticLibrary.Object);
|
||||
executingMove.User.Returns(user);
|
||||
user.IndividualValues.Returns(test.Ivs);
|
||||
user.Library.Returns(dynamicLibrary);
|
||||
dynamicLibrary.StaticLibrary.Returns(staticLibrary);
|
||||
|
||||
var hiddenPower = new HiddenPower();
|
||||
byte power = 0;
|
||||
hiddenPower.ChangeBasePower(executingMove.Object, target.Object, 0, ref power);
|
||||
hiddenPower.ChangeBasePower(executingMove, target, 0, ref power);
|
||||
|
||||
await Assert.That(power).IsEqualTo(test.ExpectedPower);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using PkmnLib.Dynamic.Models;
|
||||
using PkmnLib.Plugin.Gen7.Scripts.Moves;
|
||||
using PkmnLib.Static;
|
||||
using PkmnLib.Static.Libraries;
|
||||
using PkmnLib.Static.Utils;
|
||||
|
||||
namespace PkmnLib.Plugin.Gen7.Tests.Scripts.Moves;
|
||||
|
||||
@@ -60,28 +61,28 @@ public class MultiAttackTests
|
||||
typeLibrary.RegisterType("fairy");
|
||||
|
||||
// Arrange
|
||||
var move = new Mock<IExecutingMove>();
|
||||
var target = new Mock<IPokemon>();
|
||||
var user = new Mock<IPokemon>();
|
||||
var move = Substitute.For<IExecutingMove>();
|
||||
var target = Substitute.For<IPokemon>();
|
||||
var user = Substitute.For<IPokemon>();
|
||||
TypeIdentifier? typeIdentifier = new TypeIdentifier(1, "Normal");
|
||||
var dynamicLibrary = new Mock<IDynamicLibrary>();
|
||||
var staticLibrary = new Mock<IStaticLibrary>();
|
||||
var item = new Mock<IItem>();
|
||||
var dynamicLibrary = Substitute.For<IDynamicLibrary>();
|
||||
var staticLibrary = Substitute.For<IStaticLibrary>();
|
||||
var item = Substitute.For<IItem>();
|
||||
|
||||
user.Setup(u => u.Library).Returns(dynamicLibrary.Object);
|
||||
dynamicLibrary.Setup(d => d.StaticLibrary).Returns(staticLibrary.Object);
|
||||
staticLibrary.Setup(s => s.Types).Returns(typeLibrary);
|
||||
item.Setup(i => i.Name).Returns(test.ItemName!);
|
||||
move.Setup(m => m.User).Returns(user.Object);
|
||||
user.Library.Returns(dynamicLibrary);
|
||||
dynamicLibrary.StaticLibrary.Returns(staticLibrary);
|
||||
staticLibrary.Types.Returns(typeLibrary);
|
||||
item.Name.Returns((StringKey)test.ItemName!);
|
||||
move.User.Returns(user);
|
||||
|
||||
if (test.ItemName != null)
|
||||
move.Setup(m => m.User.HeldItem).Returns(item.Object);
|
||||
user.HeldItem.Returns(item);
|
||||
else
|
||||
move.Setup(m => m.User.HeldItem).Returns((IItem?)null);
|
||||
user.HeldItem.Returns((IItem?)null);
|
||||
var multiAttack = new MultiAttack();
|
||||
|
||||
// Act
|
||||
multiAttack.ChangeMoveType(move.Object, target.Object, 0, ref typeIdentifier);
|
||||
multiAttack.ChangeMoveType(move, target, 0, ref typeIdentifier);
|
||||
|
||||
// Assert
|
||||
await Assert.That(typeIdentifier!.Value.Name).IsEqualTo(test.ExpectedTypeName);
|
||||
|
||||
Reference in New Issue
Block a user