public void Test_Connect_ReceivedWaitMessage() { var mockConnection = Substitute.For <IMessageSender>(); var client = new ChatClient.Client(mockConnection); client.Connect("127.0.0.1", 5050); mockConnection.Received().WaitMessage(); }
public void Test_Connect_ReceivedConnect() { var mockConnection = Substitute.For <IMessageSender>(); var client = new ChatClient.Client(mockConnection); var port = 5050; var ipAddress = "127.0.0.1"; client.Connect(ipAddress, port); mockConnection.Received().Connect(IPAddress.Parse(ipAddress), port); }
public void Test_Connect_GoodConnect() { // В NUnit есть методы инициализации, которые вызываются перед каждым // вызовом теста [SetUp], и после каждого вызова теста [TearDown] // и то что соответствует Arrange и общее для всех тестов, можно было вынести туда. // Но для удобочитаемости, оставлено здесь. Хоть это и дублирование кода в тестах, зато не // приходиться бегать от метода к методу, чтобы понять, что откуда взялось // Arrange var stubSender = Substitute.For <IMessageSender>(); var client = new ChatClient.Client(stubSender); stubSender.IsConnected.Returns(true); // Act client.Connect("127.0.0.1", 5050); // Assert Assert.IsTrue(client.IsConnected); }
static void Main() { Client = new Client("127.0.0.1", 13000); StartMessageHandleThread(); while (IsApplicationExecuting) { Console.WriteLine("Do you want to login (l) or to register (r)?"); var loginRegisterInput = Console.ReadKey(); if (loginRegisterInput.Key == ConsoleKey.L) { Console.Clear(); Console.WriteLine("Login"); Console.WriteLine("Username: "******"Password: "******"Connecting to server."); Client.Connect(username, password); while (Client.IsConnecting) { } while (Client.IsConnected) { Console.WriteLine("Nachricht eingeben:"); var input = Console.ReadLine(); switch (input) { case "/disconnect": Client.Disconnect(); break; case "/exit": Client.Disconnect(); IsApplicationExecuting = false; break; default: Client.SendChatMessage(input); break; } } } if (loginRegisterInput.Key == ConsoleKey.R) { Console.Clear(); Console.WriteLine("Register"); Console.WriteLine("Username: "******"Password: "); var password = Console.ReadLine(); Client.Register(username, password); } } }
private void btnConnect_Click(object sender, EventArgs e) { m_ServerUrl = new Uri("ws://" + edtServerIp.Text + ":" + edtServerPort.Text + "/chat", UriKind.Absolute); m_ChatClient.Connect(edtServerIp.Text, Convert.ToInt32(edtServerPort.Text)); }
private static void DecodeCommand(string message) { var list = message.Split(':'); var commando = list[1].ToLower(); if (commando == "quit") { StatusMessage("Exiting program..."); running = false; return; } if (commando == "sethost") { remoteName = list[2]; StatusMessage($"Setting target to {list[2]}"); } else if (commando == "setname") { client.Name = list[2]; StatusMessage($"Setting name to {list[2]}"); } else if (commando == "cls") { window.Messages.Clear(); } else if (commando == "connect") { if (client.Connect(remoteName, remotePort)) { StatusMessage("Starting receiving from server..."); client.StartReceiving((data) => { try { while (!data.EOF) { string name = data.GetString(); string messageData = data.GetString(); window.Add(new WebMessage(name, messageData)); } } catch (Exception e) { } }); } else { StatusMessage("Connection failed..."); } } else if (list[1] == "help") { ShowHelp(); } else { StatusMessage($"Unknown command {list[1]}"); } }