refactor: NCS-22 NCS-23 reworked modules and tests #17

Merged
Janis merged 42 commits from refactor/NCS-22 into main 2026-04-06 09:07:40 +02:00
Showing only changes of commit 16a9632e69 - Show all commits
@@ -22,7 +22,15 @@ object PgnExporter extends GameContextExport:
var ctx = GameContext.initial
for move <- context.moves do
val color = ctx.turn
val pieceType = ctx.board.pieceAt(move.from).map(_.pieceType).getOrElse(PieceType.Pawn)
val pieceType = ctx.board.pieceAt(move.from)
.map(_.pieceType)
.getOrElse {
val fromStr = move.from.toString
val boardStr = ctx.board.pieces.keys.map(_.toString).mkString(",")
throw new IllegalStateException(
s"Invariant violation: no piece at $fromStr during PGN export replay. Board squares: $boardStr"
)
}
val isCapture = ctx.board.pieceAt(move.to).isDefined || move.moveType == MoveType.EnPassant
val castleSide = move.moveType match
case MoveType.CastleKingside => Some("Kingside")