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 val) { return 4; } } } namespace Tests { class MethodSelection { public struct StructA { int mA; } [Test] public static void TestBasics() { Test.Assert(LibA.LibA0.GetOverload0() == 1); Test.Assert(LibA.LibA0.GetOverload0() == 0); Test.Assert(LibA.LibA0.GetOverload0() == 0); Test.Assert(LibA.LibA0.GetOverload0() == 0); Test.Assert(LibB.LibB0.GetOverload0() == 1); Test.Assert(LibB.LibB0.GetOverload0() == 2); Test.Assert(LibB.LibB0.GetOverload0() == 0); Test.Assert(LibB.LibB0.GetOverload0() == 0); Test.Assert(LibC.LibC0.GetOverload0() == 1); Test.Assert(LibC.LibC0.GetOverload0() == 3); Test.Assert(LibC.LibC0.GetOverload0() == 3); Test.Assert(LibC.LibC0.GetOverload0() == 0); StructA sa = .(); List 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); } } }