diff --git a/Qwirkle/TestBase/TestGame.cs b/Qwirkle/TestBase/TestGame.cs index 8558e4a..443f929 100644 --- a/Qwirkle/TestBase/TestGame.cs +++ b/Qwirkle/TestBase/TestGame.cs @@ -341,6 +341,39 @@ public class TestGame } + [Theory] + [InlineData(3, 1, 4, 1, 5, 1, 5)] + [InlineData(2, 2, 3, 2, 4, 2, 5)] + [InlineData(3, 1, 3, 2, 3, 3, 6)] + public void GetPlayerScore_ReturnsCorrectScore(int x1, int y1, int x2, int y2, int x3, int y3, int expectedScore) + { + var game = new Game(); + var player = new Player("TestPlayer"); + var board = new Board(8, 8); + + board.AddTileInCell(1, 1, new Tile(Shape.Club, Color.Red)); + board.AddTileInCell(2, 1, new Tile(Shape.Square, Color.Red)); + + var c1 = new Cell(x1, y1); + var c2 = new Cell(x2, y2); + var c3 = new Cell(x3, y3); + + c1.SetTile(new Tile(Shape.Club, Color.Red)); + c2.SetTile(new Tile(Shape.Square, Color.Red)); + c3.SetTile(new Tile(Shape.Star, Color.Red)); + + var cellsPlayed = new List + { + c1, + c2, + c3 + }.AsReadOnly(); + + var score = game.GetPlayerScore(player, cellsPlayed, board); + + Assert.Equal(expectedScore, score); + } + [Fact] public void Test_EndOfGame() {