public void TestRequestGameMessage() { RequestGameMessage origMessage = new RequestGameMessage(); byte[] bytes = origMessage.Encode(); RequestGameMessage decodedMessage = RequestGameMessage.Decode(bytes); Assert.AreEqual(origMessage.MessageType, 1, "Incorrect MessageType"); Assert.AreEqual(origMessage.MessageType, decodedMessage.MessageType, "MessageType did not match"); }
public void UserApp_JoinGameConversation_Test() { TestAppWorker testAppWorker = new TestAppWorker(); testAppWorker.StartTest(); var fakeRegistry = new UdpCommunicator() { MinPort = 10000, MaxPort = 10999, Timeout = 1000, EnvelopeHandler = ProcessEnvelope1 }; fakeRegistry.Start(); IPEndPoint targetEndPoint = new IPEndPoint(IPAddress.Loopback, fakeRegistry.Port); Message msg1 = new RequestGameMessage(); Envelope env = new Envelope(msg1, targetEndPoint); Assert.IsNull(testAppWorker.commFacility.convDictionary.GetConv(msg1.convId)); testAppWorker.commFacility.Process(env); Assert.IsNotNull(testAppWorker.commFacility.convDictionary.GetConv(msg1.convId)); Thread.Sleep(100); Assert.AreNotSame(msg1, _lastIncomingEnvelope1); Assert.IsNotNull(_lastIncomingEnvelope1); Assert.IsNotNull(_lastIncomingEnvelope1.message); Assert.AreEqual(msg1.msgId, _lastIncomingEnvelope1.message.msgId); Assert.AreEqual(msg1.convId, _lastIncomingEnvelope1.message.convId); RequestGameMessage msg2 = _lastIncomingEnvelope1.message as RequestGameMessage; Assert.IsNotNull(msg2); GameInfoMessage msg3 = new GameInfoMessage(msg1.convId, 1, 1, "GMAddress", "UAAddress"); Assert.AreNotSame((IPEndPoint)fakeRegistry._myUdpClient.Client.LocalEndPoint, _lastIncomingEnvelope1.remoteEndPoint); Envelope env2 = new Envelope(msg3, _lastIncomingEnvelope1.remoteEndPoint); fakeRegistry.Send(env2); Thread.Sleep(100); Assert.IsNull(testAppWorker.commFacility.convDictionary.GetConv(msg1.convId)); fakeRegistry.Stop(); testAppWorker.StopTest(); }
public void Registry_JoinGameConversation_Test() { IPEndPoint registryEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 11000); RegistryData registryData = new RegistryData(); TestAppWorker testAppWorker = new TestAppWorker(registryData, registryEndPoint); testAppWorker.StartTest(); var comm1 = new UdpCommunicator() { MinPort = 10000, MaxPort = 10999, Timeout = 1000, EnvelopeHandler = ProcessEnvelope1 }; comm1.Start(); Message msg1 = new RequestGameMessage(); Envelope env = new Envelope(msg1, registryEndPoint); Assert.IsNull(testAppWorker.commFacility.convDictionary.GetConv(msg1.convId)); Assert.IsNull(registryData.GetAvailableGameManager()); comm1.Send(env); Thread.Sleep(1000); /* * //The conversation happens to fast. After the sleep, the conv is already gone * Assert.IsNotNull(testAppWorker.commFacility.convDictionary.GetConv(msg1.convId)); */ Assert.AreNotSame(msg1, _lastIncomingEnvelope1); Assert.IsNotNull(_lastIncomingEnvelope1); Assert.IsNotNull(_lastIncomingEnvelope1.message); Assert.AreEqual(msg1.convId, _lastIncomingEnvelope1.message.convId); GameInfoMessage msg2 = _lastIncomingEnvelope1.message as GameInfoMessage; Assert.IsNotNull(msg2); Assert.IsNotNull(registryData.GetAvailableGameManager()); Assert.IsNull(testAppWorker.commFacility.convDictionary.GetConv(msg1.convId)); //-------------STOPPING------------// testAppWorker.StopTest(); comm1.Stop(); }
public override void Execute() { int input; while ((input = PrintMenu()) != 2) { if (input == 1) { Console.WriteLine("Requesting Game..."); Console.WriteLine(); Message m = new RequestGameMessage(); Envelope e = new Envelope(m, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 11000)); try { myAppWorker.commFacility.Process(e); } catch (Exception exception) { Console.WriteLine(exception); } } else if (input == 2) { Console.WriteLine("Bye"); Console.WriteLine(); } else { Console.WriteLine("Invalid Input"); Console.WriteLine(); } } // TODO: Change AppState myAppWorker.Stop(); }