From cc3335a5e81458f6589acedbe0175b22037a9872 Mon Sep 17 00:00:00 2001 From: Janis Date: Sat, 28 Mar 2026 17:50:53 +0100 Subject: [PATCH] test: NCS-8 added tests for 100% coverage --- .../de/nowchess/api/board/BoardTest.scala | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/modules/api/src/test/scala/de/nowchess/api/board/BoardTest.scala b/modules/api/src/test/scala/de/nowchess/api/board/BoardTest.scala index 36692e7..7757078 100644 --- a/modules/api/src/test/scala/de/nowchess/api/board/BoardTest.scala +++ b/modules/api/src/test/scala/de/nowchess/api/board/BoardTest.scala @@ -100,3 +100,23 @@ class BoardTest extends AnyFunSuite with Matchers: do Board.initial.pieceAt(Square(file, rank)) shouldBe None } + + test("updated adds or replaces piece at square") { + val b = Board(Map(e2 -> Piece.WhitePawn)) + val updated = b.updated(e4, Piece.WhiteKnight) + updated.pieceAt(e2) shouldBe Some(Piece.WhitePawn) + updated.pieceAt(e4) shouldBe Some(Piece.WhiteKnight) + } + + test("updated replaces existing piece") { + val b = Board(Map(e2 -> Piece.WhitePawn)) + val updated = b.updated(e2, Piece.WhiteKnight) + updated.pieceAt(e2) shouldBe Some(Piece.WhiteKnight) + } + + test("removed deletes piece from board") { + val b = Board(Map(e2 -> Piece.WhitePawn, e4 -> Piece.WhiteKnight)) + val removed = b.removed(e2) + removed.pieceAt(e2) shouldBe None + removed.pieceAt(e4) shouldBe Some(Piece.WhiteKnight) + }