public void TestRandomActive()
        {
            EventHandlerForActiveControl <VerifiedReceiptEventArgs> handler;

            handler = new EventHandlerForActiveControl <VerifiedReceiptEventArgs>(_form, VerifiedReceipt);
            handler = new EventHandlerForActiveControl <VerifiedReceiptEventArgs>(_form, new VerifiedReceiptEventHandler(handler.EventHandler));
            VerifiedReceiptEventArgs args = new VerifiedReceiptEventArgs();

            _form.Shown += delegate(object s, EventArgs e) { System.Threading.Thread.Sleep(100); _form.Close(); };
            _thread.Start();
            int total = 0, countOnThread = 0, countOffThread = 0;

            try
            {
                for (total = 1; total < 1000000; total++)
                {
                    handler.EventHandler(null, args.Reset());
                    if (args.OnThread)
                    {
                        Assert.IsTrue(args.Received);
                        countOnThread++;
                    }
                    else
                    {
                        Assert.IsFalse(args.Received);
                        countOffThread++;
                    }
                    //Assert.IsTrue(args.OnThread);
                    //Console.Error.WriteLine("Threaded = {0}", args.OnThread);
                    if (_form.IsDisposed)
                    {
                        break;
                    }
                }
                Assert.AreEqual(total, countOnThread + countOffThread);
                Assert.IsTrue(_form.IsDisposed);
                Assert.AreNotEqual(0, countOnThread);
                Assert.AreNotEqual(0, countOffThread);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.ToString());
                throw;
            }
            finally
            {
                _thread.Join();
            }
        }
Exemplo n.º 2
0
		public void TestRandomActive()
		{
			EventHandlerForActiveControl<VerifiedReceiptEventArgs> handler;
			handler = new EventHandlerForActiveControl<VerifiedReceiptEventArgs>(_form, VerifiedReceipt);
			handler = new EventHandlerForActiveControl<VerifiedReceiptEventArgs>(_form, new VerifiedReceiptEventHandler(handler.EventHandler));
			VerifiedReceiptEventArgs args = new VerifiedReceiptEventArgs();
			_form.Shown += delegate(object s, EventArgs e) { System.Threading.Thread.Sleep(100); _form.Close(); };
			_thread.Start();
			int total = 0, countOnThread = 0, countOffThread = 0;
			try
			{
				for (total = 1; total < 1000000; total++)
				{
					handler.EventHandler(null, args.Reset());
					if (args.OnThread)
					{
						Assert.IsTrue(args.Received);
						countOnThread++;
					}
					else
					{
						Assert.IsFalse(args.Received);
						countOffThread++;
					}
					//Assert.IsTrue(args.OnThread);
					//Console.Error.WriteLine("Threaded = {0}", args.OnThread);
					if (_form.IsDisposed)
						break;
				}
				Assert.AreEqual(total, countOnThread + countOffThread);
				Assert.IsTrue(_form.IsDisposed);
				Assert.AreNotEqual(0, countOnThread);
				Assert.AreNotEqual(0, countOffThread);
			}
			catch (Exception e)
			{
				Console.Error.WriteLine(e.ToString());
				throw;
			}
			finally
			{
				_thread.Join();
			}
		}