diff --git a/modules/io/src/main/scala/de/nowchess/io/GameContextExport.scala b/modules/io/src/main/scala/de/nowchess/io/GameContextExport.scala index 5a8a49c..3968e71 100644 --- a/modules/io/src/main/scala/de/nowchess/io/GameContextExport.scala +++ b/modules/io/src/main/scala/de/nowchess/io/GameContextExport.scala @@ -2,8 +2,6 @@ package de.nowchess.io import de.nowchess.api.game.GameContext -trait GameContextExport { - +trait GameContextExport: + def exportGameContext(context: GameContext): String - -} diff --git a/modules/io/src/test/scala/de/nowchess/io/fen/FenParserTest.scala b/modules/io/src/test/scala/de/nowchess/io/fen/FenParserTest.scala index 420695f..efbcbd6 100644 --- a/modules/io/src/test/scala/de/nowchess/io/fen/FenParserTest.scala +++ b/modules/io/src/test/scala/de/nowchess/io/fen/FenParserTest.scala @@ -131,3 +131,17 @@ class FenParserTest extends AnyFunSuite with Matchers: board shouldBe empty + test("importGameContext: valid FEN string returns Right[GameContext]"): + val fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" + val result = FenParser.importGameContext(fen) + + result.isRight shouldBe true + result.fold(_ => fail("Expected Right"), ctx => ctx.turn shouldBe Color.White) + + test("importGameContext: invalid FEN string returns Left[String] with error message"): + val invalidFen = "invalid fen string" + val result = FenParser.importGameContext(invalidFen) + + result.isLeft shouldBe true + result.fold(msg => msg should include("Invalid FEN"), _ => fail("Expected Left")) +