public void AddCommand_StateUnderTest_ExpectedBehavior() { // Arrange var logicBase = this.CreateLogicBase(); logicBase.Commands = new List <Command>(); var cmd = new ArenaCommand(); // Act logicBase.AddCommand( cmd); // Assert Assert.AreEqual(1, logicBase.Commands.Count); }
public void AddCommand_StateUnderTest_ExpectedBehavior() { // Arrange var logicFacade = this.CreateLogicFacade(); var generalCommand = new GeneralCommand(); var arenaCommand = new ArenaCommand(); // Act logicFacade.AddCommand( generalCommand); logicFacade.AddCommand( arenaCommand); // Assert Assert.IsNotNull(generalCommand.Receiver); Assert.IsNotNull(arenaCommand.Receiver); }
public async Task ListenPlayer(Player player, LogicFacade logic) { try { progress.Invoke(this, new Progress(player.User)); var stream = player.User.Client.GetStream(); while (true) { await Task.Delay(5); if (stream.DataAvailable && player.User.Client.Available >= 12) { int available = player.User.Client.Available; byte[] buffer = new byte[available]; stream.Read(buffer, 0, available); if (buffer.Length > 8) { int index = 1; int commandType = BitConverter.ToInt32(buffer, 0); Command cmd = null; switch (commandType) { case 1: { cmd = new ArenaCommand { Author = player, TimeStamp = DateTime.UtcNow }; progress.Invoke(this, new Progress(player.User, "Got message: ArenaCommand - " + commandType)); break; } case 0: { cmd = new GeneralCommand { Author = player, TimeStamp = DateTime.UtcNow }; progress.Invoke(this, new Progress(player.User, "Got message: GeneralCommand - " + commandType)); break; } default: { break; } } while (buffer.Length >= (index + 1) * 4 + 4) { cmd.AddSubCommand(BitConverter.ToInt32(buffer, (index + 1) * 4)); index++; } logic.AddCommand(cmd); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }