public void local_publish_subscriber() { var msg = new SomeMsg {Int = 123, Str = "I'm here"}; SomeMsg msg2 = null; Signals.SubscribeTo<SomeMsg>(x => msg2 = x); Signals.Publish(msg); Thread.Sleep(200); Assert.That(msg2, Is.Not.Null); Assert.That(msg2.ToJson(), Is.EqualTo(msg.ToJson())); }
public void remote_publish_subscriber() { var hub = SignalsHub.New(); var signals = SignalsManagerEx.New(); var signals2 = SignalsManagerEx.New(); hub.Start(); signals.StartAgent(); signals2.StartAgent(); Thread.Sleep(5000); var msg = new SomeMsg { Int = 123, Str = "I'm here" }; SomeMsg msg2 = null; signals2.SubscribeTo<SomeMsg>(x => msg2 = x); Thread.Sleep(2000); signals.Publish(msg); Thread.Sleep(2000); Assert.That(msg2, Is.Not.Null); Assert.That(msg2, Is.Not.SameAs(msg)); Assert.That(msg2.ToJson(), Is.EqualTo(msg.ToJson())); Console.WriteLine("Hub: {0}", hub.Dump().ToJson()); Console.WriteLine("Signals: {0}", signals.Dump().ToJson()); Console.WriteLine("Signals2: {0}", signals2.Dump().ToJson()); signals.StopAgent(); signals2.StopAgent(); Thread.Sleep(2000); hub.Stop(); }