From 8815b2c47458991d05ef0516189904af9e436f86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 30 Aug 2026 22:02:25 -0700 Subject: [PATCH] Update `state-of-tic-tac-toe` test suite --- .../state-of-tic-tac-toe/.meta/Example.cs | 2 ++ .../state-of-tic-tac-toe/.meta/tests.toml | 6 +++++ .../StateOfTicTacToeTests.cs | 24 +++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/exercises/practice/state-of-tic-tac-toe/.meta/Example.cs b/exercises/practice/state-of-tic-tac-toe/.meta/Example.cs index 7829327674..b651699bb4 100644 --- a/exercises/practice/state-of-tic-tac-toe/.meta/Example.cs +++ b/exercises/practice/state-of-tic-tac-toe/.meta/Example.cs @@ -14,6 +14,8 @@ public State State { if (Moves.GetValueOrDefault('X', 0) - Moves.GetValueOrDefault('O', 0) > 1 || Moves.GetValueOrDefault('O', 0) > Moves.GetValueOrDefault('X', 0) || + Winners.Contains('X') && Moves.GetValueOrDefault('X', 0) == Moves.GetValueOrDefault('O', 0) || + Winners.Contains('O') && Moves.GetValueOrDefault('X', 0) > Moves.GetValueOrDefault('O', 0) || Winners.Distinct().Count() > 1) return State.Invalid; diff --git a/exercises/practice/state-of-tic-tac-toe/.meta/tests.toml b/exercises/practice/state-of-tic-tac-toe/.meta/tests.toml index 8fc25e2118..5f574b2a12 100644 --- a/exercises/practice/state-of-tic-tac-toe/.meta/tests.toml +++ b/exercises/practice/state-of-tic-tac-toe/.meta/tests.toml @@ -99,3 +99,9 @@ reimplements = "b1dc8b13-46c4-47db-a96d-aa90eedc4e8d" [4801cda2-f5b7-4c36-8317-3cdd167ac22c] description = "Invalid boards -> Invalid board: players kept playing after a win" + +[5a84757a-fc86-4328-aec9-a5759e6ed35d] +description = "Invalid boards -> Invalid board: O kept playing after X wins" + +[cf25543d-583a-4656-b9ab-f82dc00a4a02] +description = "Invalid boards -> Invalid board: X kept playing after O wins" diff --git a/exercises/practice/state-of-tic-tac-toe/StateOfTicTacToeTests.cs b/exercises/practice/state-of-tic-tac-toe/StateOfTicTacToeTests.cs index 0c278a7092..96c5fda90f 100644 --- a/exercises/practice/state-of-tic-tac-toe/StateOfTicTacToeTests.cs +++ b/exercises/practice/state-of-tic-tac-toe/StateOfTicTacToeTests.cs @@ -323,4 +323,28 @@ public void Invalid_boards_invalid_board_players_kept_playing_after_a_win() var game = new TicTacToe(board); Assert.Equal(State.Invalid, game.State); } + + [Fact(Skip = "Remove this Skip property to run this test")] + public void Invalid_boards_invalid_board_o_kept_playing_after_x_wins() + { + string[] board = [ + "OO ", + "XXX", + " O " + ]; + var game = new TicTacToe(board); + Assert.Equal(State.Invalid, game.State); + } + + [Fact(Skip = "Remove this Skip property to run this test")] + public void Invalid_boards_invalid_board_x_kept_playing_after_o_wins() + { + string[] board = [ + "XX ", + "OOO", + " XX" + ]; + var game = new TicTacToe(board); + Assert.Equal(State.Invalid, game.State); + } }