public void TestCantStartQueueTwice() { using (MessageQueue queue = new MessageQueue()) { queue.StartInAnotherThread(); try { queue.StartInCurrentThread(); Assert.Fail(); } catch (InvalidOperationException) { } try { queue.ProcessQueue(); Assert.Fail(); } catch (InvalidOperationException) { } try { queue.StartInAnotherThread(); Assert.Fail(); } catch (InvalidOperationException) { } } }
public void TestPostBeforeStartInCurrentThread() { using (MessageQueue queue = new MessageQueue()) { object received = null; queue.MessageReceived += delegate(object sender, MessageQueueEventArgs e) { received = e.Message; queue.Terminate(); }; object message = new object(); queue.Post(message); queue.StartInCurrentThread(); Assert.AreSame(message, received); } }
public void TestPostBeforeStartInCurrentThread() { using (MessageQueue queue = new MessageQueue()) { object received = null; queue.MessageReceived += delegate(object sender, MessageQueueEventArgs e) { received = e.Message; queue.Terminate(); }; object message = new object(); queue.Post(message); queue.StartInCurrentThread(); Assert.AreSame(message, received); } }
public void TestCantStartQueueTwice() { using (MessageQueue queue = new MessageQueue()) { queue.StartInAnotherThread(); try { queue.StartInCurrentThread(); Assert.Fail(); } catch (InvalidOperationException) { } try { queue.ProcessQueue(); Assert.Fail(); } catch (InvalidOperationException) { } try { queue.StartInAnotherThread(); Assert.Fail(); } catch (InvalidOperationException) { } } }