예제 #1
0
        public async Task <MyChessGame?> GetGameAsync(AuthenticatedUser authenticatedUser, string gameID, string state)
        {
            var user = await GetOrCreateUserAsync(authenticatedUser);

            var tableNames = GetTableNames(state);

            foreach (var tableName in tableNames)
            {
                var gameEntity = await _context.GetAsync <GameEntity>(tableName, user.UserID, gameID);

                if (gameEntity != null)
                {
                    _log.GameHandlerGameFound(gameID);
                    return(_compactor.Decompress(gameEntity.Data));
                }
                _log.GameHandlerGameNotFoundFromTable(gameID, tableName);
            }

            _log.GameHandlerGameNotFound(gameID);
            return(null);
        }
예제 #2
0
        public void Compress_Decompress_Test()
        {
            // Arrange
            var expected = new MyChessGame
            {
                ID = "abc"
            };

            expected.Players.Black.ID = "def";
            var buffer = _compactor.Compact(expected);

            // Act
            var actual = _compactor.Decompress(buffer);

            // Assert
            Assert.Equal(expected.ID, actual.ID);
            Assert.Equal(expected.Players.Black.ID, actual.Players.Black.ID);
        }