Example #1
0
    public static void TestNonGenInterface_GenType()
    {
        I ic2Int    = new CC2 <int>();
        I ic2Object = new CC2 <object>();
        I ic2String = new CC2 <string>();


        // TEST2: test non generic virtual method

        Eval((ic2Int.method1().ToString()).Equals("3"));
        Eval((ic2String.method1().ToString()).Equals("3"));
        Eval((ic2Object.method1().ToString()).Equals("3"));



        // TEST3: test generic virtual method

        Eval((ic2Int.method2 <int>().ToString()).Equals("4"));
        Eval((ic2Int.method2 <object>().ToString()).Equals("4"));
        Eval((ic2Int.method2 <string>().ToString()).Equals("4"));
        Eval((ic2Int.method2 <A <int> >().ToString()).Equals("4"));
        Eval((ic2Int.method2 <S <string> >().ToString()).Equals("4"));

        Eval((ic2String.method2 <int>().ToString()).Equals("4"));
        Eval((ic2String.method2 <object>().ToString()).Equals("4"));
        Eval((ic2String.method2 <string>().ToString()).Equals("4"));
        Eval((ic2String.method2 <A <int> >().ToString()).Equals("4"));
        Eval((ic2String.method2 <S <string> >().ToString()).Equals("4"));

        Eval((ic2Object.method2 <int>().ToString()).Equals("4"));
        Eval((ic2Object.method2 <object>().ToString()).Equals("4"));
        Eval((ic2Object.method2 <string>().ToString()).Equals("4"));
        Eval((ic2Object.method2 <A <int> >().ToString()).Equals("4"));
        Eval((ic2Object.method2 <S <string> >().ToString()).Equals("4"));
    }