Esempio n. 1
0
        public void MultipleTimedInsertAndInvoke()
        {
            var   eventClass  = new SimpleEventFooClass();
            int   invokeCount = 0;
            Mutex mutex       = new Mutex();

            //Jakmile nмkdo spustн event, dej mi vмdмt
            eventClass.Event.Add(() =>
            {
                mutex.WaitOne();
                invokeCount++;
                mutex.ReleaseMutex();
            });

            //Spusќ count down na novйm vlбknм (kterэ potom zavolб event invoke)
            for (int i = 0; i < 10; i++)
            {
                new Thread(() =>
                {
                    eventClass.StartCountdown();
                }).Start();
            }

            //Poиkej na count down
            Thread.Sleep(6000);

            //Otestuj
            mutex.WaitOne();
            Assert.AreEqual(10, invokeCount);
            mutex.ReleaseMutex();
        }
Esempio n. 2
0
        public void SimpleInvoke()
        {
            var eventClass  = new SimpleEventFooClass();
            int invokeCount = 0;

            //Jakmile nмkdo spustн event, dej mi vмdмt
            eventClass.Event.Add(() =>
            {
                invokeCount++;
            });

            //Spusќ event - normбlnм by dмlal tшнda sama
            eventClass.Event.Invoke();
            eventClass.Event.Invoke();


            //Otestuj
            Assert.AreEqual(2, invokeCount);
        }