diff --git a/PkmnLib.Dynamic/PkmnLib.Dynamic.csproj b/PkmnLib.Dynamic/PkmnLib.Dynamic.csproj
index 4a1314c..f1db35a 100644
--- a/PkmnLib.Dynamic/PkmnLib.Dynamic.csproj
+++ b/PkmnLib.Dynamic/PkmnLib.Dynamic.csproj
@@ -9,24 +9,24 @@
- bin\Debug\netstandard2.1\PkmnLib.Dynamic.xml
+ bin\Debug\netstandard2.1\PkmnLib.Dynamic.xml
- bin\Release\netstandard2.1\PkmnLib.Dynamic.xml
+ bin\Release\netstandard2.1\PkmnLib.Dynamic.xml
-
-
-
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
-
+
diff --git a/PkmnLib.Static/PkmnLib.Static.csproj b/PkmnLib.Static/PkmnLib.Static.csproj
index c6a93fa..50a19a3 100644
--- a/PkmnLib.Static/PkmnLib.Static.csproj
+++ b/PkmnLib.Static/PkmnLib.Static.csproj
@@ -9,20 +9,20 @@
- bin\Debug\netstandard2.1\PkmnLib.Static.xml
+ bin\Debug\netstandard2.1\PkmnLib.Static.xml
- bin\Release\netstandard2.1\PkmnLib.Static.xml
+ bin\Release\netstandard2.1\PkmnLib.Static.xml
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/PkmnLib.Tests/Dynamic/ChoiceQueueTests.cs b/PkmnLib.Tests/Dynamic/ChoiceQueueTests.cs
index 79bab6f..c57acfb 100644
--- a/PkmnLib.Tests/Dynamic/ChoiceQueueTests.cs
+++ b/PkmnLib.Tests/Dynamic/ChoiceQueueTests.cs
@@ -1,4 +1,3 @@
-using Moq;
using PkmnLib.Dynamic.Models;
using PkmnLib.Dynamic.Models.Choices;
@@ -9,99 +8,99 @@ public class ChoiceQueueTests
[Test]
public async Task ChoiceQueue_MovePokemonChoiceNext()
{
- var pokemon1 = new Mock();
- var pokemon2 = new Mock();
- var pokemon3 = new Mock();
- var pokemon4 = new Mock();
+ var pokemon1 = Substitute.For();
+ var pokemon2 = Substitute.For();
+ var pokemon3 = Substitute.For();
+ var pokemon4 = Substitute.For();
- var choice1 = new Mock();
- choice1.Setup(c => c.User).Returns(pokemon1.Object);
- var choice2 = new Mock();
- choice2.Setup(c => c.User).Returns(pokemon2.Object);
- var choice3 = new Mock();
- choice3.Setup(c => c.User).Returns(pokemon3.Object);
- var choice4 = new Mock();
- choice4.Setup(c => c.User).Returns(pokemon4.Object);
+ var choice1 = Substitute.For();
+ choice1.User.Returns(pokemon1);
+ var choice2 = Substitute.For();
+ choice2.User.Returns(pokemon2);
+ var choice3 = Substitute.For();
+ choice3.User.Returns(pokemon3);
+ var choice4 = Substitute.For();
+ choice4.User.Returns(pokemon4);
- var queue = new BattleChoiceQueue([choice1.Object, choice2.Object, choice3.Object, choice4.Object]);
- var result = queue.MovePokemonChoiceNext(pokemon3.Object);
+ var queue = new BattleChoiceQueue([choice1, choice2, choice3, choice4]);
+ var result = queue.MovePokemonChoiceNext(pokemon3);
await Assert.That(result).IsTrue();
- await Assert.That(queue.Dequeue()).IsEqualTo(choice3.Object);
+ await Assert.That(queue.Dequeue()).IsEqualTo(choice3);
}
[Test]
public async Task ChoiceQueue_MovePokemonChoiceNextFailsIfAlreadyExecuted()
{
- var pokemon1 = new Mock();
- var pokemon2 = new Mock();
- var pokemon3 = new Mock();
- var pokemon4 = new Mock();
+ var pokemon1 = Substitute.For();
+ var pokemon2 = Substitute.For();
+ var pokemon3 = Substitute.For();
+ var pokemon4 = Substitute.For();
- var choice1 = new Mock();
- choice1.Setup(c => c.User).Returns(pokemon1.Object);
- var choice2 = new Mock();
- choice2.Setup(c => c.User).Returns(pokemon2.Object);
- var choice3 = new Mock();
- choice3.Setup(c => c.User).Returns(pokemon3.Object);
- var choice4 = new Mock();
- choice4.Setup(c => c.User).Returns(pokemon4.Object);
+ var choice1 = Substitute.For();
+ choice1.User.Returns(pokemon1);
+ var choice2 = Substitute.For();
+ choice2.User.Returns(pokemon2);
+ var choice3 = Substitute.For();
+ choice3.User.Returns(pokemon3);
+ var choice4 = Substitute.For();
+ choice4.User.Returns(pokemon4);
- var queue = new BattleChoiceQueue([choice1.Object, choice2.Object, choice3.Object, choice4.Object]);
+ var queue = new BattleChoiceQueue([choice1, choice2, choice3, choice4]);
queue.Dequeue();
- var result = queue.MovePokemonChoiceNext(pokemon1.Object);
+ var result = queue.MovePokemonChoiceNext(pokemon1);
await Assert.That(result).IsFalse();
- await Assert.That(queue.Dequeue()).IsEqualTo(choice2.Object);
+ await Assert.That(queue.Dequeue()).IsEqualTo(choice2);
}
[Test]
public async Task ChoiceQueue_MovePokemonChoiceLast()
{
- var pokemon1 = new Mock();
- var pokemon2 = new Mock();
- var pokemon3 = new Mock();
- var pokemon4 = new Mock();
+ var pokemon1 = Substitute.For();
+ var pokemon2 = Substitute.For();
+ var pokemon3 = Substitute.For();
+ var pokemon4 = Substitute.For();
- var choice1 = new Mock();
- choice1.Setup(c => c.User).Returns(pokemon1.Object);
- var choice2 = new Mock();
- choice2.Setup(c => c.User).Returns(pokemon2.Object);
- var choice3 = new Mock();
- choice3.Setup(c => c.User).Returns(pokemon3.Object);
- var choice4 = new Mock();
- choice4.Setup(c => c.User).Returns(pokemon4.Object);
+ var choice1 = Substitute.For();
+ choice1.User.Returns(pokemon1);
+ var choice2 = Substitute.For();
+ choice2.User.Returns(pokemon2);
+ var choice3 = Substitute.For();
+ choice3.User.Returns(pokemon3);
+ var choice4 = Substitute.For();
+ choice4.User.Returns(pokemon4);
- var queue = new BattleChoiceQueue([choice1.Object, choice2.Object, choice3.Object, choice4.Object]);
- var result = queue.MovePokemonChoiceLast(pokemon2.Object);
+ var queue = new BattleChoiceQueue([choice1, choice2, choice3, choice4]);
+ var result = queue.MovePokemonChoiceLast(pokemon2);
await Assert.That(result).IsTrue();
- await Assert.That(queue.Dequeue()).IsEqualTo(choice1.Object);
- await Assert.That(queue.Dequeue()).IsEqualTo(choice3.Object);
- await Assert.That(queue.Dequeue()).IsEqualTo(choice4.Object);
- await Assert.That(queue.Dequeue()).IsEqualTo(choice2.Object);
+ await Assert.That(queue.Dequeue()).IsEqualTo(choice1);
+ await Assert.That(queue.Dequeue()).IsEqualTo(choice3);
+ await Assert.That(queue.Dequeue()).IsEqualTo(choice4);
+ await Assert.That(queue.Dequeue()).IsEqualTo(choice2);
}
[Test]
public async Task ChoiceQueue_MovePokemonChoiceLastFailsIfAlreadyExecuted()
{
- var pokemon1 = new Mock();
- var pokemon2 = new Mock();
- var pokemon3 = new Mock();
- var pokemon4 = new Mock();
+ var pokemon1 = Substitute.For();
+ var pokemon2 = Substitute.For();
+ var pokemon3 = Substitute.For();
+ var pokemon4 = Substitute.For();
- var choice1 = new Mock();
- choice1.Setup(c => c.User).Returns(pokemon1.Object);
- var choice2 = new Mock();
- choice2.Setup(c => c.User).Returns(pokemon2.Object);
- var choice3 = new Mock();
- choice3.Setup(c => c.User).Returns(pokemon3.Object);
- var choice4 = new Mock();
- choice4.Setup(c => c.User).Returns(pokemon4.Object);
+ var choice1 = Substitute.For();
+ choice1.User.Returns(pokemon1);
+ var choice2 = Substitute.For();
+ choice2.User.Returns(pokemon2);
+ var choice3 = Substitute.For();
+ choice3.User.Returns(pokemon3);
+ var choice4 = Substitute.For();
+ choice4.User.Returns(pokemon4);
- var queue = new BattleChoiceQueue([choice1.Object, choice2.Object, choice3.Object, choice4.Object]);
+ var queue = new BattleChoiceQueue([choice1, choice2, choice3, choice4]);
queue.Dequeue();
- var result = queue.MovePokemonChoiceLast(pokemon1.Object);
+ var result = queue.MovePokemonChoiceLast(pokemon1);
await Assert.That(result).IsFalse();
- await Assert.That(queue.Dequeue()).IsEqualTo(choice2.Object);
- await Assert.That(queue.Dequeue()).IsEqualTo(choice3.Object);
- await Assert.That(queue.Dequeue()).IsEqualTo(choice4.Object);
+ await Assert.That(queue.Dequeue()).IsEqualTo(choice2);
+ await Assert.That(queue.Dequeue()).IsEqualTo(choice3);
+ await Assert.That(queue.Dequeue()).IsEqualTo(choice4);
}
}
\ No newline at end of file
diff --git a/PkmnLib.Tests/GlobalUsings.cs b/PkmnLib.Tests/GlobalUsings.cs
index 49e2b77..2a4d0c9 100644
--- a/PkmnLib.Tests/GlobalUsings.cs
+++ b/PkmnLib.Tests/GlobalUsings.cs
@@ -1,3 +1,4 @@
global using TUnit;
+global using NSubstitute;
global using FluentAssertions;
global using LevelInt = byte;
\ No newline at end of file
diff --git a/PkmnLib.Tests/PkmnLib.Tests.csproj b/PkmnLib.Tests/PkmnLib.Tests.csproj
index c9ed51a..c9b0f25 100644
--- a/PkmnLib.Tests/PkmnLib.Tests.csproj
+++ b/PkmnLib.Tests/PkmnLib.Tests.csproj
@@ -10,12 +10,19 @@
-
-
-
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
-
+
diff --git a/Plugins/PkmnLib.Plugin.Gen7.Tests/DamageCalculatorTests.cs b/Plugins/PkmnLib.Plugin.Gen7.Tests/DamageCalculatorTests.cs
index cd3ae46..227fc4c 100644
--- a/Plugins/PkmnLib.Plugin.Gen7.Tests/DamageCalculatorTests.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7.Tests/DamageCalculatorTests.cs
@@ -23,37 +23,37 @@ public class DamageCalculatorTests
[Test]
public async Task BulbapediaExampleDamageTest()
{
- var attacker = new Mock();
+ var attacker = Substitute.For();
// Imagine a level 75 Glaceon
- attacker.Setup(x => x.Level).Returns(75);
+ attacker.Level.Returns((byte)75);
// with an effective Attack stat of 123
- attacker.Setup(x => x.BoostedStats).Returns(new StatisticSet(1, 123, 1, 1, 1, 1));
+ attacker.BoostedStats.Returns(new StatisticSet(1, 123, 1, 1, 1, 1));
// We use 10 as the Ice type
- attacker.Setup(x => x.Types).Returns([new TypeIdentifier(10, "ice")]);
+ attacker.Types.Returns([new TypeIdentifier(10, "ice")]);
- var defender = new Mock();
+ var defender = Substitute.For();
// a Garchomp with an effective Defense stat of 163
- defender.Setup(x => x.BoostedStats).Returns(new StatisticSet(1, 1, 163, 1, 1, 1));
- defender.Setup(x => x.GetScripts()).Returns(new ScriptIterator([]));
+ defender.BoostedStats.Returns(new StatisticSet(1, 1, 163, 1, 1, 1));
+ defender.GetScripts().Returns(new ScriptIterator([]));
- var useMove = new Mock();
+ var useMove = Substitute.For();
// Ice Fang (an Ice-type physical move with a power of 65)
- useMove.Setup(x => x.Category).Returns(MoveCategory.Physical);
+ useMove.Category.Returns(MoveCategory.Physical);
var damageCalculator = new Gen7DamageCalculator(false);
- var executingMove = new Mock();
- executingMove.Setup(x => x.UseMove).Returns(useMove.Object);
- executingMove.Setup(x => x.User).Returns(attacker.Object);
- executingMove.Setup(x => x.GetScripts()).Returns(new ScriptIterator([]));
+ var executingMove = Substitute.For();
+ executingMove.UseMove.Returns(useMove);
+ executingMove.User.Returns(attacker);
+ executingMove.GetScripts().Returns(new ScriptIterator([]));
- var hit = new Mock();
+ var hit = Substitute.For();
// Ice Fang (an Ice-type physical move with a power of 65)
- hit.Setup(x => x.BasePower).Returns(65);
- hit.Setup(x => x.Type).Returns(new TypeIdentifier(10, "ice"));
+ hit.BasePower.Returns((byte)65);
+ hit.Type.Returns(new TypeIdentifier(10, "ice"));
// has a double weakness to the move's Ice type
- hit.Setup(x => x.Effectiveness).Returns(4.0f);
+ hit.Effectiveness.Returns(4.0f);
- var damage = damageCalculator.GetDamage(executingMove.Object, defender.Object, 0, hit.Object);
+ var damage = damageCalculator.GetDamage(executingMove, defender, 0, hit);
// That means Ice Fang will do between 168 and 196 HP damage, depending on luck.
// Note that we are testing deterministic damage, so we expect the maximum damage.
await Assert.That(damage).IsEqualTo((uint)196);
diff --git a/Plugins/PkmnLib.Plugin.Gen7.Tests/GlobalUsings.cs b/Plugins/PkmnLib.Plugin.Gen7.Tests/GlobalUsings.cs
index 4d610bb..31ffff2 100644
--- a/Plugins/PkmnLib.Plugin.Gen7.Tests/GlobalUsings.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7.Tests/GlobalUsings.cs
@@ -1,2 +1,2 @@
global using TUnit;
-global using Moq;
\ No newline at end of file
+global using NSubstitute;
\ No newline at end of file
diff --git a/Plugins/PkmnLib.Plugin.Gen7.Tests/PkmnLib.Plugin.Gen7.Tests.csproj b/Plugins/PkmnLib.Plugin.Gen7.Tests/PkmnLib.Plugin.Gen7.Tests.csproj
index a45e414..ad77062 100644
--- a/Plugins/PkmnLib.Plugin.Gen7.Tests/PkmnLib.Plugin.Gen7.Tests.csproj
+++ b/Plugins/PkmnLib.Plugin.Gen7.Tests/PkmnLib.Plugin.Gen7.Tests.csproj
@@ -10,8 +10,15 @@
-
-
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/AcrobaticsTests.cs b/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/AcrobaticsTests.cs
index 7df19e3..2529729 100644
--- a/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/AcrobaticsTests.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/AcrobaticsTests.cs
@@ -10,15 +10,16 @@ public class AcrobaticsTests
public async Task ChangeBasePower_UserNotHoldingItem_BasePowerDoubles()
{
// Arrange
- var move = new Mock();
- var target = new Mock();
+ var move = Substitute.For();
+ var target = Substitute.For();
byte basePower = 10;
- move.Setup(m => m.User).Returns(new Mock().Object);
- move.Setup(m => m.User.HeldItem).Returns((IItem?)null);
+ var user = Substitute.For();
+ 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();
- var target = new Mock();
+ var move = Substitute.For();
+ var target = Substitute.For();
byte basePower = 10;
- move.Setup(m => m.User).Returns(new Mock().Object);
- move.Setup(m => m.User.HeldItem).Returns(new Mock().Object);
+ var user = Substitute.For();
+ user.HeldItem.Returns(Substitute.For());
+ 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();
- var target = new Mock();
+ var move = Substitute.For();
+ var target = Substitute.For();
byte basePower = 200;
- move.Setup(m => m.User).Returns(new Mock().Object);
- move.Setup(m => m.User.HeldItem).Returns((IItem?)null);
+ var user = Substitute.For();
+ 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);
diff --git a/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/HiddenPowerTests.cs b/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/HiddenPowerTests.cs
index 4758c46..b9c9e51 100644
--- a/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/HiddenPowerTests.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/HiddenPowerTests.cs
@@ -47,22 +47,22 @@ public class HiddenPowerTests
typeLibrary.RegisterType("dark");
typeLibrary.RegisterType("fairy");
- var executingMove = new Mock(MockBehavior.Strict);
- var user = new Mock(MockBehavior.Strict);
- var target = new Mock(MockBehavior.Strict);
- var dynamicLibrary = new Mock(MockBehavior.Strict);
- var staticLibrary = new Mock(MockBehavior.Strict);
+ var executingMove = Substitute.For();
+ var user = Substitute.For();
+ var target = Substitute.For();
+ var dynamicLibrary = Substitute.For();
+ var staticLibrary = Substitute.For();
- 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(MockBehavior.Strict);
- var user = new Mock(MockBehavior.Strict);
- var target = new Mock(MockBehavior.Strict);
- var dynamicLibrary = new Mock(MockBehavior.Strict);
- var staticLibrary = new Mock(MockBehavior.Strict);
+ var executingMove = Substitute.For();
+ var user = Substitute.For();
+ var target = Substitute.For();
+ var dynamicLibrary = Substitute.For();
+ var staticLibrary = Substitute.For();
- 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);
}
diff --git a/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/MultiAttackTests.cs b/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/MultiAttackTests.cs
index d5a37c9..dfdcc46 100644
--- a/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/MultiAttackTests.cs
+++ b/Plugins/PkmnLib.Plugin.Gen7.Tests/Scripts/Moves/MultiAttackTests.cs
@@ -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();
- var target = new Mock();
- var user = new Mock();
+ var move = Substitute.For();
+ var target = Substitute.For();
+ var user = Substitute.For();
TypeIdentifier? typeIdentifier = new TypeIdentifier(1, "Normal");
- var dynamicLibrary = new Mock();
- var staticLibrary = new Mock();
- var item = new Mock();
+ var dynamicLibrary = Substitute.For();
+ var staticLibrary = Substitute.For();
+ var item = Substitute.For();
- 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);