public void TestConstructor2()
 {
     SyncMockApplication ap = new SyncMockApplication(new MockClientCallback());
     WebSynchronizationContext broker = new WebSynchronizationContext(ap);
     broker.Dispose();
     ap.Stop();
 }
Ejemplo n.º 2
0
        public void TestStopInModal()
        {
            SyncMockApplication ap = new SyncMockApplication(new MockClientCallback());

            _callCount    = 1;
            _messageCount = 0;
            _fault        = false;

            ap.SyncContext.Post(Wait, null);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(DoModal, ap);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Sleep, 100);

            Thread.Sleep(1000);

            lock (_waitSyncLock)
                Monitor.Pulse(_waitSyncLock);

            ap.SyncContext.Send(Sleep, 100);

            ap.Stop();

            Assert.IsFalse(_fault, "Fault during test, out of order entries");
        }
Ejemplo n.º 3
0
        public void TestConstructor2()
        {
            SyncMockApplication       ap     = new SyncMockApplication(new MockClientCallback());
            WebSynchronizationContext broker = new WebSynchronizationContext(ap);

            broker.Dispose();
            ap.Stop();
        }
Ejemplo n.º 4
0
        private void DoModal(object o)
        {
            SyncMockApplication ap = o as SyncMockApplication;

            if (ap == null)
            {
                _fault = true;
                return;
            }

            ap.SyncContext.RunModal();
        }
Ejemplo n.º 5
0
        private void PostMessage(object o)
        {
            SyncMockApplication ap = o as SyncMockApplication;

            if (ap == null)
            {
                _fault = true;
                return;
            }

            ap.SyncContext.Post(Send, ++_messageCount);
        }
Ejemplo n.º 6
0
        private void ReleaseModal(object o)
        {
            SyncMockApplication ap = o as SyncMockApplication;

            if (ap == null)
            {
                _fault = true;
                return;
            }

            ap.SyncContext.BreakModal();
        }
Ejemplo n.º 7
0
        public void TestSend()
        {
            SyncMockApplication ap = new SyncMockApplication(new MockClientCallback());

            _messageCount = 0;
            _callCount    = 1;
            _fault        = false;

            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Wait, null);
            });
            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Send, ++_messageCount);
            });
            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Send, ++_messageCount);
            });
            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Send, ++_messageCount);
            });
            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Send, ++_messageCount);
            });

            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Sleep, 100);
            });


            while (_messageCount < 4)
            {
                Thread.Sleep(1000);
            }

            lock (_waitSyncLock)
            {
                Monitor.Pulse(_waitSyncLock);
            }

            ap.SyncContext.Send(Sleep, 100);

            Assert.IsFalse(_fault, "Fault during test, out of order entries");

            ap.Stop();
        }
Ejemplo n.º 8
0
        private void SendMessage(object o)
        {
            SyncMockApplication ap = o as SyncMockApplication;

            if (ap == null)
            {
                _fault = true;
                return;
            }

            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Send, ++_messageCount);
            });
        }
        public void TestNestedSendAndPost()
        {
            SyncMockApplication ap = new SyncMockApplication(new MockClientCallback());

            _messageCount = 0;
            _callCount = 1;
            _fault = false;

            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Wait, null);
            });
            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Send, ++_messageCount);
            });
            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Send, ++_messageCount);
            });

            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Send, ++_messageCount);

            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Send, ++_messageCount);
            });

            ap.SyncContext.Post(DoModal, ap);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(PostMessage, ap);
            ap.SyncContext.Post(PostMessage, ap);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(ReleaseModal, ap);
            ap.SyncContext.Post(SendMessage, ap);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(SendMessage, ap);
            ap.SyncContext.Post(Send, ++_messageCount);

            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Send, ++_messageCount);
            });

            ThreadPool.QueueUserWorkItem(delegate
            {
                ap.SyncContext.Send(Sleep, 100);
            });

            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Send, ++_messageCount);


            while (_messageCount < 12)
                Thread.Sleep(1000);

            lock (_waitSyncLock)
            {
                Monitor.Pulse(_waitSyncLock);
            }

            Thread.Sleep(1000);

            ap.SyncContext.Send(Sleep, 100);

            Assert.IsFalse(_fault, "Fault during test, out of order entries");

            ap.Stop();

        }
        public void NestedDoModal()
        {
            SyncMockApplication ap = new SyncMockApplication(new MockClientCallback());

            _callCount = 1;
            _messageCount = 0;
            _fault = false;

            ap.SyncContext.Post(Wait, null);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(DoModal, ap);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(DoModal, ap);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(ReleaseModal, ap);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(DoModal, ap);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(ReleaseModal, ap);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(ReleaseModal, ap);
            ap.SyncContext.Post(Send, ++_messageCount);
            ap.SyncContext.Post(Sleep, 100);

            //broker.Post(Release, null);

            Thread.Sleep(1000);

            lock (_waitSyncLock)
                Monitor.Pulse(_waitSyncLock);


            ap.SyncContext.Send(Sleep, 100);

            Assert.IsFalse(_fault, "Fault during test, out of order entries");

            ap.Stop();

        }