public void MessageIsSentToNetworkController() { FakeNetworkController nc = new FakeNetworkController(); Networking.NetworkController = nc; Networking.Start(); TestSubscriber s = new TestSubscriber(); s.Subscribe(); s.SendMessage(); Assert.AreEqual(1, nc.MessageTypes[1]); }
public void FakeNetworkControllerUnsubscribe() { FakeNetworkController nc = new FakeNetworkController(); Networking.NetworkController = nc; Networking.Start(); TestSubscriber s = new TestSubscriber(); s.Subscribe(); Thread.Sleep(1000); s.UnsubscribeFromRemote(); Assert.IsTrue(FakeNetworkController.unsubscribed); }
public void FakeNetworkControllerSubscription() { FakeNetworkController nc = new FakeNetworkController(); Networking.NetworkController = nc; Networking.Start(); TestSubscriber ts = new TestSubscriber(); ts.Subscribe(); TestSubscriber s = new TestSubscriber(); s.Subscribe(); Assert.AreEqual(2, FakeNetworkController.Subscriptions[typeof(string)]); }
public void FakeNetworkControllerConnectToMulticastGroup() { FakeNetworkController nc = new FakeNetworkController(); Networking.NetworkController = nc; Networking.Start(); MulticastRemoteSubscriptionhandle h = new MulticastRemoteSubscriptionhandle(); Networking.ConnectToMulticast(h.IpAddress, h.Port); TestSubscriber s = new TestSubscriber(); s.Subscribe(); Assert.IsTrue(FakeNetworkController.connectedToMulticastgroup); }
public void NetworkControllerSendMessage() { byte[] data = new byte[1024]; NetworkController nc = new NetworkController(); FakeServer server = new FakeServer(); FakeSender sender = new FakeSender(); nc.Servers.Add(server); Networking.NetworkController = nc; Networking.Start(); SenderBase.FactoryMethod = e => sender; Message msg = new Message(); msg.Data = data; msg.Sender = EllaConfiguration.Instance.NodeId + 1; msg.Type = MessageType.Discover; IPEndPoint ep = new IPEndPoint(IPAddress.Parse("234.234.234.4"), 3456); server.DiscoveryMessageEvent(msg, ep); TestSubscriber s = new TestSubscriber(); s.Subscribe(); byte[] b = { 1, 2 }; ApplicationMessage app = new ApplicationMessage(); app.Data = b; RemoteSubscriptionHandle rh = new RemoteSubscriptionHandle(); rh.PublisherNodeID = EllaConfiguration.Instance.NodeId + 1; Send.Message(app, rh, s); Thread.Sleep(1000); Assert.AreEqual(1, sender._messages[MessageType.ApplicationMessage]); }
public void NetworkControllerUnsubscribeFrom() { byte[] b = new byte[1024]; NetworkController nc = new NetworkController(); FakeServer fs = new FakeServer(); FakeSender sender = new FakeSender(); nc.Servers.Add(fs); Networking.NetworkController = nc; Networking.Start(); SenderBase.FactoryMethod = e => sender; //this discoveryMessage is required to add the Instance to the RemoteHosts, //which is used in the NetworkController to send messages, subscribe, unsubscribe.. //must call these MessageProcessor methods by hand, because the FakeSender just fakes the Send() implementation Message msg = new Message(); msg.Data = b; msg.Sender = EllaConfiguration.Instance.NodeId + 1; msg.Type = MessageType.Discover; IPEndPoint ep = new IPEndPoint(IPAddress.Parse("234.234.234.4"), 3456); fs.DiscoveryMessageEvent(msg, ep); TestSubscriber s = new TestSubscriber(); s.Subscribe(); Thread.Sleep(1000); //after subscription is done: new MessageEvent of Type SubscribeResponse is faked in FakeServer fs.SubscribeResponseMessageEvent(sender._id); s.UnsubscribeFromRemote(); Thread.Sleep(1000); Assert.AreEqual(1, sender._messages[MessageType.Unsubscribe]); }
public void NetworkControllerSubscribeTo() { byte[] b = new byte[1024]; NetworkController nc = new NetworkController(); FakeServer server = new FakeServer(); nc.Servers.Add(server); Networking.NetworkController = nc; Networking.Start(); FakeSender sender = new FakeSender(); SenderBase.FactoryMethod = e => sender; Message msg = new Message(); msg.Data = b; msg.Sender = EllaConfiguration.Instance.NodeId + 1; msg.Type = MessageType.Discover; IPEndPoint ep = new IPEndPoint(IPAddress.Parse("234.234.234.4"), 3456); server.DiscoveryMessageEvent(msg, ep); TestPublisher p = new TestPublisher(); Start.Publisher(p); TestSubscriber s = new TestSubscriber(); s.Subscribe(); TestSubscriber s2 = new TestSubscriber(); s2.Subscribe(); Thread.Sleep(1000); Assert.AreEqual(2, sender._messages[MessageType.Subscribe]); }
public void NetworkControllerConnectToMulticastGroup() { NetworkController nc = new NetworkController(); FakeServer server = new FakeServer(); FakeSender sender = new FakeSender(); nc.Servers.Add(server); Networking.NetworkController = nc; Networking.Start(); SenderBase.FactoryMethod = e => sender; MulticastRemoteSubscriptionhandle h = new MulticastRemoteSubscriptionhandle(); Networking.ConnectToMulticast(h.IpAddress, h.Port); TestSubscriber s = new TestSubscriber(); s.Subscribe(); Assert.IsTrue(server._connectedToMulticastGroup); }