mirror of
https://github.com/kwsch/PKHeX
synced 2025-02-16 21:38:40 +00:00
Enhance transparency in failed generator test
This commit is contained in:
parent
a6b704b887
commit
b4c9e90c28
2 changed files with 26 additions and 2 deletions
|
@ -30,6 +30,7 @@ namespace PKHeX.Core
|
|||
/// <param name="moves">Moves that the resulting <see cref="IEncounterable"/> must be able to learn.</param>
|
||||
/// <param name="versions">Any specific version(s) to iterate for. If left blank, all will be checked.</param>
|
||||
/// <returns>A consumable <see cref="PKM"/> list of possible results.</returns>
|
||||
/// <remarks>When updating, update the sister <see cref="GenerateEncounters(PKM,ITrainerInfo,int[],GameVersion[])"/> method.</remarks>
|
||||
public static IEnumerable<PKM> GeneratePKMs(PKM pk, ITrainerInfo info, int[]? moves = null, params GameVersion[] versions)
|
||||
{
|
||||
pk.TID = info.TID;
|
||||
|
@ -51,6 +52,28 @@ namespace PKHeX.Core
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets possible <see cref="IEncounterable"/> objects that allow all moves requested to be learned.
|
||||
/// </summary>
|
||||
/// <param name="pk">Rough Pokémon data which contains the requested species, gender, and form.</param>
|
||||
/// <param name="info">Trainer information of the receiver.</param>
|
||||
/// <param name="moves">Moves that the resulting <see cref="IEncounterable"/> must be able to learn.</param>
|
||||
/// <param name="versions">Any specific version(s) to iterate for. If left blank, all will be checked.</param>
|
||||
/// <returns>A consumable <see cref="IEncounterable"/> list of possible results.</returns>
|
||||
/// <remarks>When updating, update the sister <see cref="GeneratePKMs(PKM,ITrainerInfo,int[],GameVersion[])"/> method.</remarks>
|
||||
public static IEnumerable<IEncounterable> GenerateEncounters(PKM pk, ITrainerInfo info, int[]? moves = null, params GameVersion[] versions)
|
||||
{
|
||||
pk.TID = info.TID;
|
||||
var m = moves ?? pk.Moves;
|
||||
var vers = versions.Length >= 1 ? versions : GameUtil.GetVersionsWithinRange(pk, pk.Format);
|
||||
foreach (var ver in vers)
|
||||
{
|
||||
var encounters = GenerateVersionEncounters(pk, m, ver);
|
||||
foreach (var enc in encounters)
|
||||
yield return enc;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets possible <see cref="PKM"/> objects that allow all moves requested to be learned within a specific generation.
|
||||
/// </summary>
|
||||
|
|
|
@ -45,10 +45,11 @@ namespace PKHeX.Tests.Simulator
|
|||
var la = new LegalityAnalysis(pk);
|
||||
Assert.True(la.Valid);
|
||||
|
||||
var test = EncounterMovesetGenerator.GeneratePKMs(pk7, info).ToList();
|
||||
var test = EncounterMovesetGenerator.GenerateEncounters(pk7, info).ToList();
|
||||
foreach (var t in test)
|
||||
{
|
||||
var la2 = new LegalityAnalysis(t);
|
||||
var convert = t.ConvertToPKM(info);
|
||||
var la2 = new LegalityAnalysis(convert);
|
||||
Assert.True(la2.Valid);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue