Tests: Add Enums field offsets test (#62)

This commit is contained in:
Katy Coe
2020-09-03 07:16:10 +02:00
parent af3aa4eed2
commit ed91f2a3e0
14 changed files with 2269364 additions and 1 deletions

View File

@@ -0,0 +1,79 @@
/*
Copyright 2020 Katy Coe - http://www.djkaty.com - https://github.com/djkaty
All rights reserved.
*/
namespace Il2CppTests.TestSources
{
// Test to ensure that offsets in structs and classes are calculated correctly for various enum field sizes
#pragma warning disable CS0169
public enum EnumOfSize1 : byte
{
Option1,
Option2,
Option3
}
public enum EnumOfSize2 : ushort
{
Option1,
Option2,
Option3
}
public enum EnumOfSize4 : int
{
Option1,
Option2,
Option3
}
public enum EnumOfSize8 : ulong
{
Option1,
Option2,
Option3
}
public struct StructWithEnumFields
{
ushort a;
EnumOfSize1 b;
ushort c;
EnumOfSize2 d;
ushort e;
EnumOfSize4 f;
ushort g;
EnumOfSize8 h;
ushort i;
}
public class ClassWithEnumFields
{
ushort a;
EnumOfSize1 b;
ushort c;
EnumOfSize2 d;
ushort e;
EnumOfSize4 f;
ushort g;
EnumOfSize8 h;
ushort i;
}
public class ClassWithEnumAutoProperties
{
ushort a { get; }
EnumOfSize1 b { get; }
ushort c { get; }
EnumOfSize2 d { get; }
ushort e { get; }
EnumOfSize4 f { get; }
ushort g { get; }
EnumOfSize8 h { get; }
ushort i { get; }
}
#pragma warning disable CS0169
}