mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-13 13:54:11 +02:00
61 lines
1.3 KiB
Beef
61 lines
1.3 KiB
Beef
![]() |
using System;
|
||
|
using System.Collections;
|
||
|
|
||
|
namespace LibA
|
||
|
{
|
||
|
extension Handler
|
||
|
{
|
||
|
public static int Handle(Tests.MethodSelection.StructA val)
|
||
|
{
|
||
|
return 4;
|
||
|
}
|
||
|
|
||
|
public static int Handle(LibA.LibAStruct val)
|
||
|
{
|
||
|
return 4;
|
||
|
}
|
||
|
|
||
|
public static int Handle(List<Tests.MethodSelection.StructA> val)
|
||
|
{
|
||
|
return 4;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
namespace Tests
|
||
|
{
|
||
|
class MethodSelection
|
||
|
{
|
||
|
public struct StructA
|
||
|
{
|
||
|
int mA;
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public static void TestBasics()
|
||
|
{
|
||
|
Test.Assert(LibA.LibA0.GetOverload0<int8>() == 1);
|
||
|
Test.Assert(LibA.LibA0.GetOverload0<int16>() == 0);
|
||
|
Test.Assert(LibA.LibA0.GetOverload0<int32>() == 0);
|
||
|
Test.Assert(LibA.LibA0.GetOverload0<int64>() == 0);
|
||
|
|
||
|
Test.Assert(LibB.LibB0.GetOverload0<int8>() == 1);
|
||
|
Test.Assert(LibB.LibB0.GetOverload0<int16>() == 2);
|
||
|
Test.Assert(LibB.LibB0.GetOverload0<int32>() == 0);
|
||
|
Test.Assert(LibB.LibB0.GetOverload0<int64>() == 0);
|
||
|
|
||
|
Test.Assert(LibC.LibC0.GetOverload0<int8>() == 1);
|
||
|
Test.Assert(LibC.LibC0.GetOverload0<int16>() == 3);
|
||
|
Test.Assert(LibC.LibC0.GetOverload0<int32>() == 3);
|
||
|
Test.Assert(LibC.LibC0.GetOverload0<int64>() == 0);
|
||
|
|
||
|
StructA sa = .();
|
||
|
List<StructA> sal = null;
|
||
|
LibA.LibAStruct las = .();
|
||
|
Test.Assert(LibA.Handler.HandleT(sa) == 4);
|
||
|
Test.Assert(LibA.Handler.HandleT(sal) == 4);
|
||
|
Test.Assert(LibA.Handler.HandleT(las) == 0);
|
||
|
}
|
||
|
}
|
||
|
}
|