private Task Report() { var tables = _casino.GetTablesFor(Context.ConnectionId); if (!tables.Any()) { return Clients.Client(Context.ConnectionId).InvokeAsync("Status", ""); } var tasks = tables.Select(table => Clients.Group(table.ToString()).InvokeAsync("Status", _casino.GetTable(table).GetStatus())); return Task.WhenAll(tasks); }
public void GivenACasinoWithSomeTablesWithPlayers_WhenGetTablesForPlayer_ThenTheCorrectTablesAreReturned() { var casino = new Casino(); var id1 = casino.CreateTable(); var id2 = casino.CreateTable(); var id3 = casino.CreateTable(); casino.GetTable(id1).AddPlayer("Phil"); casino.GetTable(id2).AddPlayer("Daniel"); casino.GetTable(id3).AddPlayer("Phil"); casino.GetTablesFor("Phil").Should().BeEquivalentTo(new [] { id1, id3 }); }