mirror of
https://github.com/kwsch/PKHeX
synced 2024-12-03 17:29:13 +00:00
95fbf66a6e
In addition to the Method 1 (and other sibling PIDIV types) correlation, an encounter can only be triggered if the calls prior land on the Method {1} seed. The RNG community has dubbed these patterns as "Method J" (D/P/Pt), "Method K" (HG/SS), and "Method H" (Gen3, coined by yours truly). The basic gist of these is that they are pre-requisites, like the Shadow locks of Colosseum/XD. Rename/re-type a bunch of properties to get the codebase more in line with correct property names & more obvious underlying types.
31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using FluentAssertions;
|
|
using Xunit;
|
|
|
|
namespace PKHeX.Core.Tests.General;
|
|
|
|
public class MarshalTests
|
|
{
|
|
[Theory]
|
|
[InlineData(10, typeof(PIDIV))]
|
|
[InlineData(8, typeof(MoveResult))]
|
|
[InlineData(8, typeof(EvolutionMethod))]
|
|
[InlineData(8, typeof(Moveset))]
|
|
[InlineData(8, typeof(SCXorShift32))]
|
|
[InlineData(16, typeof(Xoroshiro128Plus))]
|
|
[InlineData(16, typeof(Xoroshiro128Plus8b))]
|
|
[InlineData(16, typeof(XorShift128))]
|
|
public void MarshalSizeExact(int expect, Type t) => Marshal.SizeOf(t).Should().Be(expect);
|
|
|
|
[Theory]
|
|
[InlineData( 8, typeof(LeadSeed))]
|
|
[InlineData( 8, typeof(NPCLock))]
|
|
[InlineData( 8, typeof(IndividualValueSet))]
|
|
[InlineData( 8, typeof(EvolutionOrigin))]
|
|
[InlineData(16, typeof(DreamWorldEntry))]
|
|
[InlineData(16, typeof(CheckResult))]
|
|
[InlineData(16, typeof(EvolutionLink))]
|
|
[InlineData(24, typeof(GenerateParam9))]
|
|
public void MarshalSizeLessThanEqual(int expect, Type t) => Marshal.SizeOf(t).Should().BeLessOrEqualTo(expect);
|
|
}
|