Fixes for clearing battle after it's finished.

This commit is contained in:
2020-12-28 15:11:25 +01:00
parent e9a3a70c13
commit ed7e655783
10 changed files with 73 additions and 13 deletions

View File

@@ -77,7 +77,6 @@ namespace PkmnLibSharpTests.Battling.BattleTests
battle.Dispose();
}
[Test]
public void EventListener()
@@ -120,6 +119,46 @@ namespace PkmnLibSharpTests.Battling.BattleTests
battle.Dispose();
}
[Test]
public void HealAfterBattle()
{
var lib = BattleLibraryHelper.GetLibrary();
var p1 = BuildTestParty(lib);
var mon1 = p1.GetAtIndex(0);
var p2 = BuildTestParty(lib);
var mon2 = p2.GetAtIndex(0);
var battle =
new BattleBuilder(lib, true, 2, 1)
.WithPartyOnPositions(p1, new BattlePosition(0, 0))
.WithPartyOnPositions(p2, new BattlePosition(1, 0))
.Build();
var evts = new List<EventData>();
var eventListener = new BattleEventListener(evt =>
{
evts.Add(evt);
return Task.CompletedTask;
});
battle.RegisterEventListener(eventListener);
battle.SwitchPokemon(0, 0, p1.GetAtIndex(0));
battle.SwitchPokemon(1, 0, p2.GetAtIndex(0));
Assert.AreEqual(0, battle.CurrentTurn);
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));
Assert.AreEqual(battle.CurrentTurn, 1);
battle.Dispose();
mon1.Heal(1000, true);
mon2.Heal(1000, true);
}
}
}