Beispiel #1
0
        public async Task AddToSearch(SearchOpponent searchOpponent)
        {
            throw new System.NotImplementedException();

            //Dodać i oznajmić kiedy znaleziono przeciwnika
            //potem, zrobić tak że ta klasa funkcjonuje cały czas
        }
Beispiel #2
0
        public async Task CancelSearchOpponentAsync()
        {
            var mockContext = new Mock <IBoardGameDbContext>();
            var mockService = new BoardGamesOnline.Services.GameOnline.GameOnlineService(new Mocks.BgDatabaseUowBuliderMock(mockContext.Object));
            var searchUser  = new SearchOpponent {
                UserId = 1, GameType = GameTypes.Chess
            };

            //Act
            Task <Match> opponentTask1 = mockService.SearchOpponentAsync(searchUser);

            Thread.Sleep(3000);
            mockService.CancelSearchOpponentAsync(searchUser.UserId);

            Match opponent1 = await opponentTask1;


            Assert.IsNull(opponent1);
        }
Beispiel #3
0
        public async Task <Match> SearchOpponentAsync(SearchOpponent searchOpponent)
        {
            //jak na razie test
            SearchForMetchUsers.Add(searchOpponent);

            Match findOpponent = null;

            while (findOpponent == null)
            {
                await Task.Delay(1000);

                if (searchOpponent.IsCancel)
                {
                    break;
                }
                findOpponent = this.PlayedMatches.FirstOrDefault(f => f.Match.MatchUsers.Any(a => a.User.UserId == searchOpponent.UserId))?.Match;
            }

            return(findOpponent);
        }