public static void DelegateTest <U>() { IGen <Guid> obj = new GenGuid(); ThreadStart d = new ThreadStart(obj.Target <U>); d(); Test.Eval(Test.Xcounter == 1); Test.Xcounter = 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); } }
public static void ThreadPoolTest() { ManualResetEvent evt = new ManualResetEvent(false); IGen <Guid> obj = new GenGuid(); 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; }
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); } }
public static void ThreadPoolTest <U>() { Thread[] threads = new Thread[Test.nThreads]; IGen <Guid> obj = new GenGuid(); 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; }
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); } }
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 <Guid> obj = new GenGuid(); 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; }