Example #1
0
        private async Task SudokuVerifyPuzzleRequest(IWebSocket socket, string json)
        {
            VerifySudokuRequest        sudokuPuzzleStateMessage = JsonConvert.DeserializeObject <VerifySudokuRequest>(json);
            SudokuPuzzle               puzzle = new SudokuPuzzle(new PuzzleState(Encoding.Default.GetBytes(sudokuPuzzleStateMessage.Data.PuzzleAsString)));
            PuzzleSolveDto             solve  = _sudokuPuzzleService.Solve(puzzle);
            VerifySudokuPuzzleResponse verifySudokuEvenMessage;

            if (!solve.Success)
            {
                verifySudokuEvenMessage = new VerifySudokuPuzzleResponse
                {
                    Data      = default,
Example #2
0
        public async Task SudokuVerifyRequest_Should_Send_PuzzleState_With_27_CorrectIndexes()
        {
            VerifySudokuRequest sudokuVerifyRequest = new VerifySudokuRequest
            {
                Data = new VerifiableSudokuState
                {
                    PuzzleAsString = "034007008080065000000300070200000700710040096005000001050002000000170060600900430",
                    CurrentPuzzle  = "034007008080065000000300070200000700710040096005000001050002000000170060600900430"
                },
                EventName = "sudokuVerifyRequest"
            };
            string json = JsonConvert.SerializeObject(sudokuVerifyRequest);

            byte[]        messageBuffer = Encoding.Default.GetBytes(json);
            WebSocketMock webSocketMock = new WebSocketMock();
            await _puzzleHandler.ReceiveAsync(webSocketMock, messageBuffer);

            (_, ArraySegment <byte> arraySegment) = webSocketMock.SentMessages.Last();
            string responseJson = Encoding.Default.GetString(arraySegment);
            VerifySudokuPuzzleResponse verifySudokuPuzzleResponse = JsonConvert.DeserializeObject <VerifySudokuPuzzleResponse>(responseJson);

            Assert.IsTrue(verifySudokuPuzzleResponse.Data.CorrectIndexes.Length == 27);
        }