示例#1
0
        public void ClientConnectedToServer(MockClient client)
        {
            var serverToClientConnection = new MockConnection(client);

            connectedClients.Add(serverToClientConnection);
            RaiseClientConnected(serverToClientConnection);
        }
示例#2
0
		public void SendTestMessageWithoutServerShouldNotCrash()
		{
			using (var client = new MockClient(null))
			{
				Assert.IsFalse(client.IsConnected);
				client.Send(new TextMessage(""));
			}
		}
		public void InitializeServer()
		{
			mockServer = new MockServer();
			server = new LocalhostLogServer(mockServer);
			mockClient = new MockClient(mockServer);
			mockClient.Connect("localhost", 1);
			server.Start();
		}
示例#4
0
		public void ConnectToServer()
		{
			var server = new MockServer();
			using (var client = new MockClient(server))
			{
				client.Connect("localhost", 1);
				Assert.IsTrue(client.IsConnected);
			}
		}
示例#5
0
		public void ClientDisconnectedFromServer(MockClient client)
		{
			var connection =
				(MockConnection)connectedClients.Find(c => ((MockConnection)c).Client == client);
			if (connection == null)
				return;  //ncrunch: no coverage
			connectedClients.Remove(connection);
			RaiseClientDisconnected(connection.Client);
		}
示例#6
0
		public void SendTestMessageToServer()
		{
			var server = new MockServer();
			var client = new MockClient(server);
			client.Connect("localhost", 1);
			client.Send(new TextMessage("Hi"));
			var serverMessage = server.LastMessage as TextMessage;
			Assert.IsNotNull(serverMessage);
			Assert.AreEqual("Hi", serverMessage.Text);
		}
示例#7
0
		public void ReceiveMessage(MockClient client, byte[] bytesReceived)
		{
			var total = new MemoryStream(bytesReceived);
			var reader = new BinaryReader(total);
			var messageLength = reader.ReadNumberMostlyBelow255();
			var messageBytes = reader.ReadBytes(messageLength);
			foreach (var connection in connectedClients.OfType<MockConnection>())
				if (connection.Client == client)
					OnClientDataReceived(connection, messageBytes.ToBinaryData());
		}
示例#8
0
		public void ClientIsDisconnected()
		{
			var server = new MockServer();
			var client = new MockClient(server);
			bool isConnected = false;
			client.Connected += () => isConnected = true;
			client.Disconnected += () => isConnected = false;
			client.Connect("localhost", 1);
			Assert.IsTrue(isConnected);
			client.Dispose();
			Assert.IsFalse(isConnected);
		}
示例#9
0
		public void ReceiveCallback()
		{
			var server = new MockServer();
			using (var client = new MockClient(server))
			{
				client.Connect("localhost", 1);
				bool messageReceived = false;
				client.DataReceived += message => messageReceived = true;
				server.SendToAllClients(new TextMessage("Doesn't matter"));
				Assert.IsTrue(messageReceived);
			}
		}
示例#10
0
        public void ClientDisconnectedFromServer(MockClient client)
        {
            var connection =
                (MockConnection)connectedClients.Find(c => ((MockConnection)c).Client == client);

            if (connection == null)
            {
                return;                  //ncrunch: no coverage
            }
            connectedClients.Remove(connection);
            RaiseClientDisconnected(connection.Client);
        }
示例#11
0
		public void ConvertBinaryDataToArray()
		{
			var server = new MockServer();
			Assert.IsNull(server.LastMessage);
			var client = new MockClient(server);
			client.Connect("localhost", 1);
			client.Send(new TextMessage("Hi"));
			var serverMessage = server.LastMessage as TextMessage;
			byte[] byteArray = BinaryDataExtensions.ToByteArrayWithLengthHeader(serverMessage);
			int classNameLength = "TestMessage".Length + StringLengthByte;
			int textLength = "Hi".Length + StringLengthByte + StringIsNullBooleanByte;
			Assert.AreEqual(LengthOfNetworkMessage + LengthOfDataVersion + classNameLength + textLength,
				byteArray.Length);
		}
示例#12
0
        public void ReceiveMessage(MockClient client, byte[] bytesReceived)
        {
            var total         = new MemoryStream(bytesReceived);
            var reader        = new BinaryReader(total);
            var messageLength = reader.ReadNumberMostlyBelow255();
            var messageBytes  = reader.ReadBytes(messageLength);

            foreach (var connection in connectedClients.OfType <MockConnection>())
            {
                if (connection.Client == client)
                {
                    OnClientDataReceived(connection, messageBytes.ToBinaryData());
                }
            }
        }
示例#13
0
		public void ClientConnectedToServer(MockClient client)
		{
			var serverToClientConnection = new MockConnection(client);
			connectedClients.Add(serverToClientConnection);
			RaiseClientConnected(serverToClientConnection);
		}
示例#14
0
		private Client CreateConnectedClient()
		{
			var client = new MockClient(server);
			client.Connect("Target", 0);
			return client;
		}