Enhance transparency in failed generator test

This commit is contained in:
Kurt 2020-11-02 13:03:08 -08:00
parent a6b704b887
commit b4c9e90c28
2 changed files with 26 additions and 2 deletions

View file

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

View file

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