X Tutup
// ========================================================================== // This software is subject to the provisions of the Zope Public License, // Version 2.0 (ZPL). A copy of the ZPL should accompany this distribution. // THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED // WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS // FOR A PARTICULAR PURPOSE. // ========================================================================== using System; using System.IO; using System.Windows.Forms; namespace Python.Test { //======================================================================== // Supports units tests for method access. //======================================================================== public class MethodTest { public MethodTest() {} public string PublicMethod() { return "public"; } public static string PublicStaticMethod() { return "public static"; } protected string ProtectedMethod() { return "protected"; } protected static string ProtectedStaticMethod() { return "protected static"; } internal string InternalMethod() { return "internal"; } internal static string InternalStaticMethod() { return "internal static"; } private string PrivateMethod() { return "private"; } private static string PrivateStaticMethod() { return "private static"; } //=================================================================== // Methods to support specific argument conversion unit tests //=================================================================== public TypeCode TestEnumConversion(TypeCode v) { return v; } public FileAccess TestFlagsConversion(FileAccess v) { return v; } public Guid TestStructConversion(Guid v) { return v; } public Control TestSubclassConversion(Control v) { return v; } public Type[] TestNullArrayConversion(Type [] v) { return v; } public static bool TestStringOutParams (string s, out string s1) { s1 = "output string"; return true; } public static bool TestStringRefParams (string s, ref string s1) { s1 = "output string"; return true; } public static bool TestValueOutParams (string s, out int i1) { i1 = 42; return true; } public static bool TestValueRefParams (string s, ref int i1) { i1 = 42; return true; } public static bool TestObjectOutParams (object o, out object o1) { o1 = new System.Exception("test"); return true; } public static bool TestObjectRefParams (object o, ref object o1) { o1 = new System.Exception("test"); return true; } public static bool TestStructOutParams (object o, out Guid o1) { o1 = Guid.NewGuid(); return true; } public static bool TestStructRefParams (object o, ref Guid o1) { o1 = Guid.NewGuid(); return true; } public static void TestVoidSingleOutParam (out int i) { i = 42; } public static void TestVoidSingleRefParam (ref int i) { i = 42; } // overload selection test support public static bool TestOverloadSelection(bool v) { return v; } public static byte TestOverloadSelection(byte v) { return v; } public static sbyte TestOverloadSelection(sbyte v) { return v; } public static char TestOverloadSelection(char v) { return v; } public static short TestOverloadSelection(short v) { return v; } public static int TestOverloadSelection(int v) { return v; } public static long TestOverloadSelection(long v) { return v; } public static ushort TestOverloadSelection(ushort v) { return v; } public static uint TestOverloadSelection(uint v) { return v; } public static ulong TestOverloadSelection(ulong v) { return v; } public static float TestOverloadSelection(float v) { return v; } public static double TestOverloadSelection(double v) { return v; } public static decimal TestOverloadSelection(decimal v) { return v; } public static string TestOverloadSelection(string v) { return v; } public static ShortEnum TestOverloadSelection(ShortEnum v) { return v; } public static object TestOverloadSelection(object v) { return v; } public static InterfaceTest TestOverloadSelection(InterfaceTest v) { return v; } public static ISayHello1 TestOverloadSelection(ISayHello1 v) { return v; } public static bool[] TestOverloadSelection(bool[] v) { return v; } public static byte[] TestOverloadSelection(byte[] v) { return v; } public static sbyte[] TestOverloadSelection(sbyte[] v) { return v; } public static char[] TestOverloadSelection(char[] v) { return v; } public static short[] TestOverloadSelection(short[] v) { return v; } public static int[] TestOverloadSelection(int[] v) { return v; } public static long[] TestOverloadSelection(long[] v) { return v; } public static ushort[] TestOverloadSelection(ushort[] v) { return v; } public static uint[] TestOverloadSelection(uint[] v) { return v; } public static ulong[] TestOverloadSelection(ulong[] v) { return v; } public static float[] TestOverloadSelection(float[] v) { return v; } public static double[] TestOverloadSelection(double[] v) { return v; } public static decimal[] TestOverloadSelection(decimal[] v) { return v; } public static string[] TestOverloadSelection(string[] v) { return v; } public static ShortEnum[] TestOverloadSelection(ShortEnum[] v) { return v; } public static object[] TestOverloadSelection(object[] v) { return v; } public static InterfaceTest[] TestOverloadSelection(InterfaceTest[] v){ return v; } public static ISayHello1[] TestOverloadSelection(ISayHello1[] v) { return v; } // public static GenericWrapper TestOverloadSelection( // GenericWrapper v) { // return v; // } // public static GenericWrapper[] TestOverloadSelection( // GenericWrapper[] v) { // return v; // } public static int TestOverloadSelection(string s, int i, object[] o) { return o.Length; } public static int TestOverloadSelection(string s, int i) { return i; } public static int TestOverloadSelection(int i, string s) { return i; } } public class MethodTestSub : MethodTest { public MethodTestSub() : base() {} public string PublicMethod(string echo) { return echo; } } }
X Tutup