public void TestConstructor2() { SyncMockApplication ap = new SyncMockApplication(new MockClientCallback()); WebSynchronizationContext broker = new WebSynchronizationContext(ap); broker.Dispose(); ap.Stop(); }
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"); }
private void DoModal(object o) { SyncMockApplication ap = o as SyncMockApplication; if (ap == null) { _fault = true; return; } ap.SyncContext.RunModal(); }
private void PostMessage(object o) { SyncMockApplication ap = o as SyncMockApplication; if (ap == null) { _fault = true; return; } ap.SyncContext.Post(Send, ++_messageCount); }
private void ReleaseModal(object o) { SyncMockApplication ap = o as SyncMockApplication; if (ap == null) { _fault = true; return; } ap.SyncContext.BreakModal(); }
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(); }
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(); }