public Task ProcessArgsAsync(List <string> args) { if (args.Any()) { var roundComponent = _roundSystem.Components.Single(); var playerComponent = _roundSystem.GetCurrentPlayer(); if (int.TryParse(args[0], out int guess) && playerComponent != null && roundComponent != null) { playerComponent.GuessCount += 1; if (guess == roundComponent.Answer) { playerComponent.Score += 1; roundComponent.State = RoundComponent.RoundState.Finish; } else { _ioHandler.SendOutputAsync($"{guess} is too {(guess > roundComponent.Answer ? "high" : "low")}"); roundComponent.State = RoundComponent.RoundState.NewTurn; } } } else { _ioHandler.SendOutputAsync("You forgot to guess a number"); } return(Task.CompletedTask); }
public void SetUp() { _ioHandler = Substitute.For <IIOHandler>(); var tuple = ("test", new List <string>(), (IUniverseCommandSource) new TestCommandSource(0)); _ioHandler.GetInputAsync().Returns(Task.FromResult(tuple)); _ioHandler.SendOutputAsync(Arg.Any <string>()).Returns(Task.CompletedTask); }