protected void SetUpNetworkChannels(INetworkChannel client, INetworkChannel client2, INetworkChannel server) { Client1 = client; Client2 = client2; Server = server; ServerOnConnectClients = new List <Client>(); ServerOnDisconnectClients = new List <Client>(); Client1OnConnectClients = new List <Client>(); Client1OnDisconnectClients = new List <Client>(); serverObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(Server); serverObjectTransport.OnClientConnect(c => ServerOnConnectClients.Add(c)); serverObjectTransport.OnClientDisconnect(c => ServerOnDisconnectClients.Add(c)); serverObjectTransport.Start("127.0.0.1", 0); Utilities.WaitFor(() => server.LocalPort != 0); Client1ObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(Client1); Client1ObjectTransport.OnClientConnect(c => Client1OnConnectClients.Add(c)); Client1ObjectTransport.OnClientDisconnect(c => Client1OnDisconnectClients.Add(c)); Client1ObjectTransport.Start("127.0.0.1", Server.LocalPort); //Wait for the connection to have been made Utilities.WaitFor(() => serverObjectTransport.GetConnectedClients().Count() == 1); Utilities.WaitFor(() => Client1ObjectTransport.GetConnectedClients().Count() == 1); }