public void Send_TwoObjectsStraightAway_BothProcessedSeperatly() { //Arrange Client client = null; client = Client1ObjectTransport.GetConnectedClients().First(); //Act serverObjectTransport.Receive <MockObjectMessage>() .Reply((o) => { return(o); }) .Execute(); var mockObject = new MockObjectMessage() { Property1_string = "Mock Object" }; MockObjectMessage responseObject = null; MockObjectMessage responseObject2 = null; Client1ObjectTransport.Send(mockObject) .Response <MockObjectMessage>((r) => { responseObject = r; }) .Execute(); Client1ObjectTransport.Send(mockObject) .Response <MockObjectMessage>((r) => { responseObject2 = r; }) .Execute(); Utilities.WaitFor(ref responseObject); Utilities.WaitFor(ref responseObject2); //Assert Assert.AreEqual(responseObject.Property1_string, "Mock Object"); Assert.AreEqual(responseObject2.Property1_string, "Mock Object"); }
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); }
public void Server_SendObject_CorrectObjectSent() { //Arrange MockObjectMessage receivedObject = null; Client client = serverObjectTransport.GetConnectedClients().First(); //Act Client1ObjectTransport.Receive <MockObjectMessage>(o => receivedObject = o ).Execute(); serverObjectTransport.Send(new MockObjectMessage() { Property1_string = "hello world!", Property2_int = 123, Property3_decimal = 12.3M }) .To(client) .Execute(); Utilities.WaitFor(ref receivedObject); //Assert Assert.AreEqual("hello world!", receivedObject.Property1_string); Assert.AreEqual(123, receivedObject.Property2_int); Assert.AreEqual(12.3M, receivedObject.Property3_decimal); }
public void Server_ReceivesObjects_CorrectObjectReceived() { //Arrange MockObjectMessage receivedObject = null; //Act serverObjectTransport.Receive <MockObjectMessage>(o => { receivedObject = o; }).Execute(); Client1ObjectTransport.Send(new MockObjectMessage() { Property1_string = "hello world!", Property2_int = 123, Property3_decimal = 12.3M }).Execute(); Utilities.WaitFor(ref receivedObject); //Assert Assert.AreEqual("hello world!", receivedObject.Property1_string); Assert.AreEqual(123, receivedObject.Property2_int); Assert.AreEqual(12.3M, receivedObject.Property3_decimal); }
public void ClientDisconnectsServer_ServerOnClientDisconnectCalled() { //Arrange //Create a second client ObjectTransport clientObjectTransport2 = TestObjectTransportFactory.CreateNewObjectTransport(Client2); clientObjectTransport2.Start("127.0.0.1", Server.LocalPort); //Wait for the connection to have been made Utilities.WaitFor(() => serverObjectTransport.GetConnectedClients().Count() == 2); //Act //disconnect the server from the client Client1ObjectTransport.DisconnectClient(); Utilities.WaitFor(() => ServerOnDisconnectClients.Count == 1); //Assert //Ensure that the client record was disconnect from the server Assert.AreEqual(1, serverObjectTransport.GetConnectedClients().Count()); //Esnure that the client who disconnected from the server was the one that we called disconect Assert.AreEqual(ServerOnDisconnectClients.First().Port, Client1.LocalPort); }
public void SendAndReplyMessage_ResponseIsCalled() { //Arrange Client client = null; client = Client1ObjectTransport.GetConnectedClients().First(); //Act serverObjectTransport.Receive <MockObjectMessage>() .Reply((o) => { return(o); }) .Execute(); var mockObject = new MockObjectMessage() { Property1_string = "Mock Object" }; MockObjectMessage responseObject = null; Client1ObjectTransport.Send(mockObject) .Response <MockObjectMessage>((r) => { responseObject = r; }) .Execute(); Utilities.WaitFor(ref responseObject); //Assert Assert.AreEqual(responseObject.Property1_string, "Mock Object"); }
public void Client_StartExecuted_ServerIsAddedAsClient() { //Arrange Client FirstClient = null; //Act FirstClient = Client1ObjectTransport.GetConnectedClients().First(); //Assert Assert.AreEqual(FirstClient.IPAddress, "127.0.0.1"); Assert.AreEqual(FirstClient.Port, Server.LocalPort); }
public void Server_ClientDisconnects_CallbackCalled() { //Arrange //Act Client1ObjectTransport.Stop(); Utilities.WaitFor(() => ServerOnDisconnectClients.Count() == 1); //Assert var clientConnect = ServerOnConnectClients.First(); var clientDisconnect = ServerOnDisconnectClients.First(); Assert.AreEqual(clientConnect.IPAddress, "127.0.0.1"); Assert.AreEqual(clientDisconnect.IPAddress, "127.0.0.1"); Assert.AreEqual(clientDisconnect, clientConnect); Assert.AreEqual(0, Client1ObjectTransport.GetConnectedClients().Count()); Assert.AreEqual(0, serverObjectTransport.GetConnectedClients().Count()); }
public void ClientDisconnects_CallbackCalled() { //Arrange Client client = null; Client clientDisconnect = null; client = Client1ObjectTransport.GetConnectedClients().First(); //Act serverObjectTransport.Stop(); Utilities.WaitFor(() => Client1OnDisconnectClients.Count() > 0); clientDisconnect = Client1OnDisconnectClients.First(); //Assert Assert.AreEqual(client.IPAddress, "127.0.0.1"); Assert.AreEqual(clientDisconnect.IPAddress, "127.0.0.1"); Assert.AreEqual(clientDisconnect, client); Utilities.WaitFor(() => Client1ObjectTransport.GetConnectedClients().Count() == 0); Utilities.WaitFor(() => serverObjectTransport.GetConnectedClients().Count() == 0); }