예제 #1
0
        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));
        }