Tests: Update Methods tests

This commit is contained in:
Katy Coe
2019-11-09 22:47:21 +01:00
parent 41d2325560
commit d1cfa46775
4 changed files with 358 additions and 8 deletions

View File

@@ -10,8 +10,8 @@ namespace Il2CppTests.TestSources
{
internal class Test
{
// A parameter-less method
public void ParameterlessMethod() { }
// A virtual method
public virtual void VirtualMethod() { }
// Method with value type return type
public int ValueTypeReturnMethod() => 0;
@@ -19,4 +19,54 @@ namespace Il2CppTests.TestSources
// Method with reference type return type
public StringBuilder ReferenceTypeReturnMethod() => new StringBuilder();
}
internal abstract class TestAbstract
{
public abstract void AbstractMethod();
}
internal class TestOverride : Test
{
public override void VirtualMethod() { }
}
internal class TestHideVirtual : Test
{
public new void VirtualMethod() { }
}
internal class TestHideOverride : TestOverride
{
public new void VirtualMethod() { }
}
internal class TestOverrideAbstract : TestAbstract
{
public override void AbstractMethod() { }
}
internal class TestHideAbstractOverride : TestOverrideAbstract
{
public new void AbstractMethod() { }
}
internal class TestHideVirtualAndNewVirtual : Test
{
public new virtual void VirtualMethod() { }
}
internal class TestHideOverrideAndNewVirtual : TestOverride
{
public new virtual void VirtualMethod() { }
}
internal abstract class TestAbstractNew : TestOverride
{
public abstract new void VirtualMethod();
}
internal class TestNewNonVirtualMethod : Test
{
public new int ValueTypeReturnMethod() => 1;
}
}