Example #1
0
    public static void DelegateTest <U>()
    {
        IGen <int>  obj = new GenInt();
        ThreadStart d   = new ThreadStart(obj.Target <U>);


        d();
        Test.Eval(Test.Xcounter == 1);
        Test.Xcounter = 0;
    }
Example #2
0
    public static int Main()
    {
        Outer.IGen <int> IGenInt = new GenInt();
        IGenInt._Init(new int());
        Eval(IGenInt.InstVerify(typeof(int)));

        Outer.IGen <double> IGenDouble = new GenDouble();
        IGenDouble._Init(new double());
        Eval(IGenDouble.InstVerify(typeof(double)));

        Outer.IGen <string> IGenString = new GenString();
        IGenString._Init("string");
        Eval(IGenString.InstVerify(typeof(string)));

        Outer.IGen <object> IGenObject = new GenObject();
        IGenObject._Init(new object());
        Eval(IGenObject.InstVerify(typeof(object)));

        Outer.IGen <Guid> IGenGuid = new GenGuid();
        IGenGuid._Init(new Guid());
        Eval(IGenGuid.InstVerify(typeof(Guid)));

        Outer.IGen <RefX1 <int> > IGenConstructedReference = new GenConstructedReference();
        IGenConstructedReference._Init(new RefX1 <int>());
        Eval(IGenConstructedReference.InstVerify(typeof(RefX1 <int>)));

        Outer.IGen <ValX1 <string> > IGenConstructedValue = new GenConstructedValue();
        IGenConstructedValue._Init(new ValX1 <string>());
        Eval(IGenConstructedValue.InstVerify(typeof(ValX1 <string>)));

        Outer.IGen <int[]> IGen1DIntArray = new Gen1DIntArray();
        IGen1DIntArray._Init(new int[1]);
        Eval(IGen1DIntArray.InstVerify(typeof(int[])));

        Outer.IGen <string[, ]> IGen2DStringArray = new Gen2DStringArray();
        IGen2DStringArray._Init(new string[1, 1]);
        Eval(IGen2DStringArray.InstVerify(typeof(string[, ])));

        Outer.IGen <object[][]> IGenJaggedObjectArray = new GenJaggedObjectArray();
        IGenJaggedObjectArray._Init(new object[1][]);
        Eval(IGenJaggedObjectArray.InstVerify(typeof(object[][])));

        if (result)
        {
            Console.WriteLine("Test Passed");
            return(100);
        }
        else
        {
            Console.WriteLine("Test Failed");
            return(1);
        }
    }
Example #3
0
    public static void ThreadPoolTest()
    {
        ManualResetEvent evt = new ManualResetEvent(false);

        IGen <int> obj = new GenInt();

        TimerCallback tcb   = new TimerCallback(obj.Target);
        Timer         timer = new Timer(tcb, evt, Test_thread15.delay, Test_thread15.period);

        evt.WaitOne();
        timer.Dispose();
        Test_thread15.Eval(Test_thread15.Xcounter >= Test_thread15.nThreads);
        Test_thread15.Xcounter = 0;
    }
Example #4
0
    public static int Main()
    {
        GenInt.ThreadPoolTest <int>();
        GenDouble.ThreadPoolTest <int>();
        GenString.ThreadPoolTest <int>();
        GenObject.ThreadPoolTest <int>();
        GenGuid.ThreadPoolTest <int>();

        GenInt.ThreadPoolTest <double>();
        GenDouble.ThreadPoolTest <double>();
        GenString.ThreadPoolTest <double>();
        GenObject.ThreadPoolTest <double>();
        GenGuid.ThreadPoolTest <double>();

        GenInt.ThreadPoolTest <string>();
        GenDouble.ThreadPoolTest <string>();
        GenString.ThreadPoolTest <string>();
        GenObject.ThreadPoolTest <string>();
        GenGuid.ThreadPoolTest <string>();

        GenInt.ThreadPoolTest <object>();
        GenDouble.ThreadPoolTest <object>();
        GenString.ThreadPoolTest <object>();
        GenObject.ThreadPoolTest <object>();
        GenGuid.ThreadPoolTest <object>();

        GenInt.ThreadPoolTest <Guid>();
        GenDouble.ThreadPoolTest <Guid>();
        GenString.ThreadPoolTest <Guid>();
        GenObject.ThreadPoolTest <Guid>();
        GenGuid.ThreadPoolTest <Guid>();


        if (result)
        {
            Console.WriteLine("Test Passed");
            return(100);
        }
        else
        {
            Console.WriteLine("Test Failed");
            return(1);
        }
    }
Example #5
0
    public static void ThreadPoolTest <U>()
    {
        Thread[]   threads = new Thread[Test.nThreads];
        IGen <int> obj     = new GenInt();

        for (int i = 0; i < Test.nThreads; i++)
        {
            threads[i] = new Thread(new ThreadStart(obj.Target <U>));
            threads[i].Start();
        }

        for (int i = 0; i < Test.nThreads; i++)
        {
            threads[i].Join();
        }

        Test.Eval(Test.Xcounter == Test.nThreads);
        Test.Xcounter = 0;
    }
Example #6
0
    public static int Main()
    {
        GenInt.DelegateTest();
        GenDouble.DelegateTest();
        GenString.DelegateTest();
        GenObject.DelegateTest();
        GenGuid.DelegateTest();

        if (result)
        {
            Console.WriteLine("Test Passed");
            return(100);
        }
        else
        {
            Console.WriteLine("Test Failed");
            return(1);
        }
    }
Example #7
0
 public bool ToGenInt(object src, bool invalid, Type t)
 {
     try
     {
         GenInt dst = (GenInt)src;
         if (invalid)
         {
             return(false);
         }
         return(dst.MyVirtType().Equals(t));
     }
     catch (InvalidCastException)
     {
         return(invalid);
     }
     catch
     {
         return(false);
     }
 }
            static void Main(string[] args)
            {
                GenInt g = new GenInt();

                Console.WriteLine("Enter the 2 numbers");
                int a = Convert.ToInt16(Console.ReadLine());
                int b = Convert.ToInt16(Console.ReadLine());

                Console.WriteLine("Addition of 2 numbers is {0}", g.Add(a, b));

                GenString gg = new GenString();

                Console.WriteLine("Enter the 2 Strings");
                string s1 = Console.ReadLine();
                string s2 = Console.ReadLine();

                Console.WriteLine("The string is " + gg.Add(s1, s2));

                Console.ReadLine();
            }
Example #9
0
    public static void ThreadPoolTest()
    {
        ManualResetEvent[] evts = new ManualResetEvent[Test_thread13.nThreads];
        WaitHandle[]       hdls = new WaitHandle[Test_thread13.nThreads];

        for (int i = 0; i < Test_thread13.nThreads; i++)
        {
            evts[i] = new ManualResetEvent(false);
            hdls[i] = (WaitHandle)evts[i];
        }

        IGen <int> obj = new GenInt();

        for (int i = 0; i < Test_thread13.nThreads; i++)
        {
            WaitCallback cb = new WaitCallback(obj.Target);
            ThreadPool.QueueUserWorkItem(cb, evts[i]);
        }

        WaitHandle.WaitAll(hdls);
        Test_thread13.Eval(Test_thread13.Xcounter == Test_thread13.nThreads);
        Test_thread13.Xcounter = 0;
    }
	public static int Main()
	{

		GenInt IGenInt = new GenInt();
		Eval(((IGenX<int[]>)IGenInt).m(null).Equals("IGenX.m"));
		Eval(((IGenY<int>)IGenInt).m(null).Equals("IGenY.m"));
		
		GenString IGenString = new GenString();
		Eval(((IGenX<string[]>)IGenString).m(null).Equals("IGenX.m"));
		Eval(((IGenY<string>)IGenString).m(null).Equals("IGenY.m"));
		
		
		if (result)
		{
			Console.WriteLine("Test Passed");
			return 100;
		}
		else
		{
			Console.WriteLine("Test Failed");
			return 1;
		}
	}
Example #11
0
    public static int Main()
    {
        int ret = 100;

        IGen <int> Gen_Int = new GenInt();

        Gen_Int.Property = 10;

        if (Gen_Int.Property != 10)
        {
            Console.WriteLine("Failed Property Access for IGen<int>");
            ret = 1;
        }

        for (int i = 0; (i < 10); i++)
        {
            Gen_Int[i] = 15;
            if (Gen_Int[i] != 15)
            {
                Console.WriteLine("Failed Indexer Access for IGen<int>");
                ret = 1;
            }
        }

        if (Gen_Int.Method(20) != 20)
        {
            Console.WriteLine("Failed Method Access for IGen<int>");
            ret = 1;
        }

        if (Gen_Int.VMethod(25) != 25)
        {
            Console.WriteLine("Failed Virtual Method Access for IGen<int>");
            ret = 1;
        }

        IGen <String> Gen_String = new GenString();

        Gen_String.Property = "Property";

        if (Gen_String.Property != "Property")
        {
            Console.WriteLine("Failed Property Access for IGen<String>");
            ret = 1;
        }

        for (int i = 0; (i < 10); i++)
        {
            Gen_String[i] = "ArrayString";
            if (Gen_String[i] != "ArrayString")
            {
                Console.WriteLine("Failed Indexer Access for IGen<String>");
                ret = 1;
            }
        }

        if (Gen_String.Method("Method") != "Method")
        {
            Console.WriteLine("Failed Method Access for IGen<String>");
            ret = 1;
        }

        if (Gen_String.VMethod("VirtualMethod") != "VirtualMethod")
        {
            Console.WriteLine("Failed Virtual Method Access for IGen<String>");
            ret = 1;
        }

        return(ret);
    }
Example #12
0
    public static int Main()
    {
        int ret = 100;

        GenInt GenIntStruct = new GenInt();

        GenIntStruct.TArray = new int[10];
        IGen <int> IGenInt = GenIntStruct;

        IGenInt.Property = 10;

        if (IGenInt.Property != 10)
        {
            Console.WriteLine("Failed Property Access for IGen<int>");
            ret = 1;
        }

        for (int i = 0; (i < 10); i++)
        {
            IGenInt[i] = 15;
            if (IGenInt[i] != 15)
            {
                Console.WriteLine("Failed Indexer Access for IGen<int>");
                ret = 1;
            }
        }

        if (IGenInt.Method(20) != 20)
        {
            Console.WriteLine("Failed Method Access for IGen<int>");
            ret = 1;
        }

        GenString GenStringStruct = new GenString();

        GenStringStruct.TArray = new string[10];
        IGen <string> IGenString = GenStringStruct;

        IGenString.Property = "Property";

        if (IGenString.Property != "Property")
        {
            Console.WriteLine("Failed Property Access for IGen<String>");
            ret = 1;
        }

        for (int i = 0; (i < 10); i++)
        {
            IGenString[i] = "ArrayString";
            if (IGenString[i] != "ArrayString")
            {
                Console.WriteLine("Failed Indexer Access for IGen<String>");
                ret = 1;
            }
        }

        if (IGenString.Method("Method") != "Method")
        {
            Console.WriteLine("Failed Method Access for IGen<String>");
            ret = 1;
        }

        return(ret);
    }