public void TestChannelSenderReciever() { int count = 0; using (IpcEventChannel sender = new IpcEventChannel(_registrar, _channel)) using (IpcEventChannel reciever = new IpcEventChannel(_registrar, _channel)) { reciever.StartListening(); reciever["Test"].OnEvent += delegate(object o, IpcSignalEventArgs e) { count++; }; for (int i = 0; i < 1000; i++) { Assert.AreEqual(1, sender.Broadcast(10000, "Test")); } reciever.StopListening(); } Assert.AreEqual(1000, count); }
public void TestChannelAbortPending() { AutoResetEvent finish = new AutoResetEvent(false); AutoResetEvent done = new AutoResetEvent(false); int count = 0; using (IpcEventChannel channel = new IpcEventChannel(_registrar, _channel)) { channel.EnableAsyncSend(); channel.StartListening(); channel["Test"].OnEvent += delegate(object o, IpcSignalEventArgs e) { finish.WaitOne(); count++; done.Set(); }; Assert.AreEqual(1, channel.Broadcast(10000, "Test")); Assert.AreEqual(0, channel.Broadcast(0, "Test")); finish.Set(); done.WaitOne(); } Assert.AreEqual(1, count); }
public void TestIpcEventArgs() { Exception error = null; using (IpcEventChannel ch1 = new IpcEventChannel(_registrar, _channel)) using (IpcEventChannel sender = new IpcEventChannel(_registrar, _channel)) { ch1.StartListening("ch1"); bool recieved = false; ch1.OnError += delegate(object o, ErrorEventArgs e) { error = e.GetException(); }; ch1["TestArgs"].OnEvent += delegate(object o, IpcSignalEventArgs e) { recieved = true; Assert.AreEqual(ch1, o); Assert.AreEqual(ch1, e.EventChannel); Assert.AreEqual("TestArgs", e.EventName); Assert.AreEqual("1,2,3", String.Join(",", e.Arguments)); e.Arguments[0] = "a"; Assert.AreEqual("1,2,3", String.Join(",", e.Arguments)); }; recieved = false; ch1.RaiseLocal("TestArgs", "1", "2", "3"); Assert.IsTrue(recieved); if (error != null) { throw new AssertionException("Event Raised Error", error); } recieved = false; sender.Broadcast(100, "TestArgs", "1", "2", "3"); ch1.StopListening(1000); Assert.IsTrue(recieved); if (error != null) { throw new AssertionException("Event Raised Error", error); } } }
public void TestChannelSendOverloads() { using (IpcEventChannel sender = new IpcEventChannel(_registrar, _channel)) using (IpcEventChannel ch1 = new IpcEventChannel(_registrar, _channel)) using (IpcEventChannel ch2 = new IpcEventChannel(_registrar, _channel)) { ch1.StartListening("ch1"); ch2.StartListening("ch2"); int ch1Count = 0, ch2Count = 0; ch1["Message"].OnEvent += delegate(object o, IpcSignalEventArgs e) { ch1Count++; }; ch2["Message"].OnEvent += delegate(object o, IpcSignalEventArgs e) { ch2Count++; }; sender.ExecutionTimeout = 1000; Assert.AreEqual(1, sender.SendTo("CH1", "Message")); Assert.AreEqual(1, sender.SendTo(new string[] { "CH2" }, "Message")); Assert.AreEqual(2, sender.SendTo(1000, new string[] { "ch1", "ch2" }, "Message")); ch1.StopListening(); Assert.AreEqual(2, ch1Count); ch2.StopListening(); Assert.AreEqual(2, ch2Count); } }
public void TestChannelInCallFalse() { using (IpcEventChannel channel = new IpcEventChannel(_registrar, _channel)) Assert.IsFalse(channel.InCall); }
public void TestChannelRegistrar() { using (IpcEventChannel channel = new IpcEventChannel(_registrar, _channel)) Assert.IsTrue(ReferenceEquals(_registrar, channel.Registrar)); }
public void TestChannelName() { using (IpcEventChannel channel = new IpcEventChannel(_registrar, _channel)) Assert.AreEqual(_channel, channel.ChannelName); }
public void TestRaiseLocalUnknown() { using (IpcEventChannel ch1 = new IpcEventChannel(_registrar, _channel)) ch1.RaiseLocal("UnknownName"); }