public async Task PreviouslySolvedPuzzlesRequest_Should_Send_A_List_With_One_SudokuPuzzle() { SolveSudokuRequest solveSudokuRequest = new SolveSudokuRequest { Data = new SudokuPuzzleState { PuzzleAsString = "034007008080065000000300070200000700710040096005000001050002000000170060600900430" }, EventName = "sudokuSolvePuzzleRequest" }; string jsonSolve = JsonConvert.SerializeObject(solveSudokuRequest); byte[] messageBufferSolve = Encoding.Default.GetBytes(jsonSolve); WebSocketMock webSocketMockSolver = new WebSocketMock(); _httpHandler.AddResponse(GetDefaultSavePuzzle()); await _puzzleHandler.ReceiveAsync(webSocketMockSolver, messageBufferSolve); PreMessage previouslySolvedPuzzlesRequest = new PreMessage { EventName = "previouslySolvedPuzzlesRequest" }; string json = JsonConvert.SerializeObject(previouslySolvedPuzzlesRequest); byte[] messageBuffer = Encoding.Default.GetBytes(json); WebSocketMock webSocketMock = new WebSocketMock(); PuzzleDto puzzleDto = new PuzzleDto { OriginalPuzzle = "034007008080065000000300070200000700710040096005000001050002000000170060600900430", PuzzleId = 1, PuzzleType = "Sudoku", SolvedPuzzle = "534297618187465329962381574246819753718543296395726841459632187823174965671958432" }; _httpHandler.AddResponse(GetPreviouslySolvedPuzzles(new List <PuzzleDto> { puzzleDto })); await _puzzleHandler.ReceiveAsync(webSocketMock, messageBuffer); (_, ArraySegment <byte> arraySegment) = webSocketMock.SentMessages.First(); string responseJson = Encoding.Default.GetString(arraySegment); PreviouslySolvedPuzzlesResponse sudokuGeneratePuzzleResponse = JsonConvert.DeserializeObject <PreviouslySolvedPuzzlesResponse>(responseJson); Assert.IsTrue(sudokuGeneratePuzzleResponse.Success); Assert.IsTrue(sudokuGeneratePuzzleResponse.Data.Puzzles.Count(puzzle => puzzle.PuzzleType.Equals("Sudoku")) == 1); }
public async Task PreviouslySolvedPuzzlesRequest_Should_Send_An_Empty_List() { PreMessage previouslySolvedPuzzlesRequest = new PreMessage { EventName = "previouslySolvedPuzzlesRequest" }; string json = JsonConvert.SerializeObject(previouslySolvedPuzzlesRequest); byte[] messageBuffer = Encoding.Default.GetBytes(json); WebSocketMock webSocketMock = new WebSocketMock(); _httpHandler.AddResponse(GetPreviouslySolvedPuzzles(new List <PuzzleDto>())); await _puzzleHandler.ReceiveAsync(webSocketMock, messageBuffer); (_, ArraySegment <byte> arraySegment) = webSocketMock.SentMessages.First(); string responseJson = Encoding.Default.GetString(arraySegment); PreviouslySolvedPuzzlesResponse sudokuGeneratePuzzleResponse = JsonConvert.DeserializeObject <PreviouslySolvedPuzzlesResponse>(responseJson); Assert.IsTrue(sudokuGeneratePuzzleResponse.Success); Assert.IsFalse(sudokuGeneratePuzzleResponse.Data.Puzzles.Any()); }