Esempio n. 1
0
    public static int TestSharedGenerics()
    {
        Console.WriteLine("Testing generic dictionaries can be folded properly..");

        // Use a generic dictionary that also exists in the library
        if (!MultiModuleLibrary.GenericClass <string> .IsT("Hello"))
        {
            return(Fail);
        }
        if (!MultiModuleLibrary.GenericClass <string> .IsMdArrayOfT(new string[0, 0]))
        {
            return(Fail);
        }

        if (!MultiModuleLibrary.GenericClass <MultiModuleLibrary.GenericStruct <string> > .IsArrayOfT(new MultiModuleLibrary.GenericStruct <string> [0]))
        {
            return(Fail);
        }
        if (!MultiModuleLibrary.GenericClass <MultiModuleLibrary.GenericStruct <string> > .IsT(new MultiModuleLibrary.GenericStruct <string>()))
        {
            return(Fail);
        }

        if (!MultiModuleLibrary.MethodThatUsesGenerics())
        {
            return(Fail);
        }

        return(Pass);
    }
    public static int TestGenericTLS()
    {
        Console.WriteLine("Testing thread statics on generic types shared between modules are shared properly..");

        if (!MultiModuleLibrary.MethodThatUsesGenericWithTLS())
        {
            return(Fail);
        }

        MultiModuleLibrary.GenericClassWithTLS <int> .ThreadStaticInt += 1;
        if (MultiModuleLibrary.GenericClassWithTLS <int> .ThreadStaticInt != 2)
        {
            return(Fail);
        }

        return(Pass);
    }