public static async Task Main(string[] args) { var msDelay = 50; if (args.Length > 0) { msDelay = int.Parse(args[0]); } var uriString = "ws://localhost:48689"; if (args.Length > 1) { uriString = args[1]; } var uri = new Uri(uriString); var tasks = new List <Task>(); while (true) { var client = new MatcherChiefClient(uri); var request = GetRequest(); var responseTask = client.GetMatch(request, CancellationToken.None); tasks = tasks.Where(x => !x.IsCompleted).Concat(new [] { responseTask }).ToList(); await Task.Delay(msDelay); } }
public async Task Should_Require_At_Least_One_Player() { var request = new MatchRequestModel { Players = new PlayerModel[0], GameFormat = GameFormat.OneVersusOne, GameTitles = new[] { GameTitle.HaloReach }, GameModes = new[] { GameMode.Slayer } }; await Assert.ThrowsAsync <ArgumentException>(() => _sut.GetMatch(request, CancellationToken.None)); }