public void ShouldRaiseReceiveLongMessage() { AutoResetEvent mutex = new AutoResetEvent(false); int Port = new Random().Next(5000, 7000); bool EventRaised = false; string Message = ""; string ReceivedMessage = ""; for (int i = 0; i < 100000; i++) { Message = Message + "a"; } TCPNetworkProvider Provider = new TCPNetworkProvider(Port); Provider.MessageReceived += (object sender, EventArgs e) => { Assert.IsInstanceOfType(e, typeof(NetworkMessageEvent)); EventRaised = true; ReceivedMessage = ((NetworkMessageEvent)e).ReceivedMessage(); mutex.Set(); }; TcpClient client = new TcpClient(); IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), Port); client.Connect(serverEndPoint); NetworkStream clientStream = client.GetStream(); ASCIIEncoding encoder = new ASCIIEncoding(); byte[] buffer = encoder.GetBytes(Message); clientStream.Write(buffer, 0, buffer.Length); clientStream.Flush(); mutex.WaitOne(); client.Close(); Provider.Stop(); Assert.IsTrue(EventRaised); }
public void ShouldRaiseConnectEvent() { int Port = new Random().Next(5000, 50000); bool EventRaised = false; AutoResetEvent mutex = new AutoResetEvent(false); TCPNetworkProvider Provider = new TCPNetworkProvider(Port); Provider.ClientConnect += (object sender, EventArgs e) => { EventRaised = true; mutex.Set(); }; TcpClient client = new TcpClient(); IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), Port); client.Connect(serverEndPoint); NetworkStream clientStream = client.GetStream(); ASCIIEncoding encoder = new ASCIIEncoding(); byte[] buffer = encoder.GetBytes("hi"); clientStream.Write(buffer, 0, buffer.Length); clientStream.Flush(); mutex.WaitOne(); client.Close(); Provider.Stop(); Assert.IsTrue(EventRaised); }