public async Task StaticCreateSavesGameResultsInternally() { HttpResponseMessage createdResponse = new HttpResponseMessage(HttpStatusCode.OK); createdResponse.Content = new StringContent("{\"game\":1, \"player\":2, \"token\":\"sometokenvalue\"}"); mockClient.Setup(c => c.Post("/v1/brisk/game", It.IsAny <HttpContent>())).ReturnsAsync(createdResponse); IGameAccess actual = await GameAccess.Create(mockClient.Object, "Test Tanks"); Assert.Equal <int>(1, actual.GameId); Assert.Equal("sometokenvalue", actual.Token); Assert.Equal <int>(2, actual.CurrentPlayer); }
public async static Task run(HttpClient client) { IApiClient apiClient = new ApiClient(client); IGameAccess newAccess = await GameAccess.Create(apiClient, "Pinky and the Brain"); WarRoom board = new WarRoom(newAccess); Console.WriteLine($"Game: {newAccess.GameId}"); int waitCount = 0; while (waitCount < 10) { TurnStatus state = await board.TakeTurn(); switch (state) { case TurnStatus.TookTurn: Console.WriteLine("And so my watch has ended (for now)"); waitCount = 0; break; case TurnStatus.Waiting: Console.WriteLine("Waits patiently..."); waitCount++; break; case TurnStatus.LostGame: Console.WriteLine($"Valar Morghulis"); return; case TurnStatus.WonGame: Console.WriteLine($"Hail to the King!"); return; default: Console.WriteLine("Status Unavailable"); break; } Thread.Sleep(1000); //optimize } }