Update to latest CreatureLib, more work on battle tests.

This commit is contained in:
2020-07-31 14:19:21 +02:00
parent 283825b355
commit 00c5f51c55
113 changed files with 758 additions and 798 deletions

View File

@@ -1,4 +1,5 @@
using System.Linq;
using NUnit.Framework;
using PkmnLibSharp.Battling;
using PkmnLibSharp.Library;
using PkmnLibSharp.Library.GrowthRates;
@@ -47,6 +48,8 @@ namespace PkmnLibSharpTests.Battling
new LookupGrowthRate(
Enumerable.Range(1, 100).Select(x => (uint)x * 100).ToArray()));
var types = new TypeLibrary(10);
types.RegisterType("normal");
types.RegisterType("fighting");
var natures = new NatureLibrary(10);
natures.LoadNature("testNature", new Nature());
var lib = PokemonLibrary.Create(settings, species, moves, items, gr, types, natures);

View File

@@ -1,5 +1,6 @@
using NUnit.Framework;
using PkmnLibSharp.Battling;
using PkmnLibSharp.Battling.ChoiceTurn;
namespace PkmnLibSharpTests.Battling.BattleTests
{
@@ -21,7 +22,10 @@ namespace PkmnLibSharpTests.Battling.BattleTests
private static PokemonParty BuildTestParty(BattleLibrary lib)
{
var party = new PokemonParty();
party.SwapInto(0, new PokemonBuilder(lib, "testSpecies", 50).Build());
party.SwapInto(0,
new PokemonBuilder(lib, "testSpecies", 50)
.LearnMove("testMove", MoveLearnMethod.Unknown)
.Build());
return party;
}
@@ -29,17 +33,42 @@ namespace PkmnLibSharpTests.Battling.BattleTests
public void InitializeBattleWithParties()
{
var lib = BattleLibraryHelper.GetLibrary();
var p1 = BuildTestParty(lib);
var p2 = BuildTestParty(lib);
var battle =
new BattleBuilder(lib, true, 2, 1)
.WithPartyOnPositions(BuildTestParty(lib), new BattlePosition(0, 0))
.WithPartyOnPositions(BuildTestParty(lib), new BattlePosition(1, 0))
.WithPartyOnPositions(p1, new BattlePosition(0, 0))
.WithPartyOnPositions(p2, new BattlePosition(1, 0))
.Build();
Assert.AreEqual(lib, battle.Library);
Assert.AreEqual(true, battle.CanFlee);
Assert.AreEqual(2, battle.SidesCount);
Assert.AreEqual(false, battle.HasEnded);
Assert.AreEqual(2, battle.PartiesCount);
Assert.AreEqual(p1, battle.Parties[0].Party);
Assert.AreEqual(p2, battle.Parties[1].Party);
battle.Dispose();
}
[Test]
public void RunTurn()
{
var lib = BattleLibraryHelper.GetLibrary();
var p1 = BuildTestParty(lib);
var p2 = BuildTestParty(lib);
var battle =
new BattleBuilder(lib, true, 2, 1)
.WithPartyOnPositions(p1, new BattlePosition(0, 0))
.WithPartyOnPositions(p2, new BattlePosition(1, 0))
.Build();
battle.SwitchPokemon(0, 0, p1.GetAtIndex(0));
battle.SwitchPokemon(1, 0, p2.GetAtIndex(0));
var moveTurn1 = new MoveTurnChoice(p1.GetAtIndex(0), p1.GetAtIndex(0).Moves[0], 1, 0 );
var moveTurn2 = new MoveTurnChoice(p2.GetAtIndex(0), p2.GetAtIndex(0).Moves[0], 0, 0 );
Assert.That(battle.TrySetChoice(moveTurn1));
Assert.That(battle.TrySetChoice(moveTurn2));
battle.Dispose();
}
}
}