Update dependencies, replace Moq with NSubstitute

This commit is contained in:
2025-05-03 13:23:25 +02:00
parent b69ba6eaff
commit 0d869a0cc6
11 changed files with 174 additions and 156 deletions

View File

@@ -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);