public void TestStringRoute() { counter = 0; var msg = new Msg { Content = MagicString }; var route = "Users/NVenti"; ObjectEvents <string, Msg> .Subscribe(route, Handler); ObjectEvents <string, Msg> .Publish(route, msg); ObjectEvents.Publish(route, msg); ObjectEvents.Publish(route, msg, typeof(string), typeof(Msg)); Assert.AreEqual(counter, 3); //bad route ObjectEvents.Publish(route + route, msg, typeof(string), typeof(Msg)); ObjectEvents <string, Msg> .Unsubscribe(route, Handler); ObjectEvents <string, Msg> .Publish(route, msg); Assert.AreEqual(counter, 3); ObjectEvents <string, Msg> .Subscribe(route, Handler); ObjectEvents <string, Msg> .Unsubscribe(route); ObjectEvents <string, Msg> .Publish(route, msg); Assert.AreEqual(counter, 3); }
public void TestObjectRoute() { //define out message, a class var msg = new Msg { Content = MagicString }; //define our routes (strings or game objects or something else) var route = new GameObject(); var route2 = new GameObject(); //subscribe using the object reference ObjectEvents <GameObject, Msg> .Subscribe(route, Handler); //many ways to send ObjectEvents <GameObject, Msg> .Publish(route, msg); ObjectEvents.Publish(route, msg); ObjectEvents.Publish(route, msg, typeof(GameObject), typeof(Msg)); Assert.AreEqual(counter, 3); //bad route ObjectEvents.Publish(route2, msg, typeof(GameObject), typeof(Msg)); //be sure to clean up as we are not using weak references ObjectEvents <GameObject, Msg> .Unsubscribe(route, Handler); ObjectEvents <GameObject, Msg> .Publish(route, msg); Assert.AreEqual(counter, 3); ObjectEvents <GameObject, Msg> .Subscribe(route, Handler); ObjectEvents <GameObject, Msg> .Unsubscribe(route); ObjectEvents <GameObject, Msg> .Publish(route, msg); Assert.AreEqual(counter, 3); }
public void TestObjectRoute() { counter = 0; //define out message, a class var msg = new Msg { Content = MagicString }; //subscribe using the object reference ObjectEvents <SpaceShip, Msg> .Subscribe(route, Handler); //many ways to send ObjectEvents <SpaceShip, Msg> .Publish(route, msg); ObjectEvents.Publish(route, msg); ObjectEvents.Publish(route, msg, typeof(SpaceShip), typeof(Msg)); Assert.AreEqual(counter, 3); //bad route ObjectEvents.Publish(route2, msg, typeof(SpaceShip), typeof(Msg)); //be sure to clean up as we are not using weak references ObjectEvents <SpaceShip, Msg> .Unsubscribe(route, Handler); ObjectEvents <SpaceShip, Msg> .Publish(route, msg); Assert.AreEqual(counter, 3); ObjectEvents <SpaceShip, Msg> .Subscribe(route, Handler); ObjectEvents <SpaceShip, Msg> .Unsubscribe(route); ObjectEvents <SpaceShip, Msg> .Publish(route, msg); Assert.AreEqual(counter, 3); }