Added small changes
This commit is contained in:
@@ -6,6 +6,7 @@ import com.fasterxml.jackson.databind.{DeserializationContext, JsonDeserializer}
|
||||
import de.nowchess.api.move.{MoveType, PromotionPiece}
|
||||
|
||||
class MoveTypeDeserializer extends JsonDeserializer[MoveType]:
|
||||
// scalafix:off DisableSyntax.throw
|
||||
override def deserialize(p: JsonParser, ctx: DeserializationContext): MoveType =
|
||||
val node = p.getCodec.readTree[ObjectNode](p)
|
||||
node.get("type").asText() match
|
||||
@@ -15,3 +16,4 @@ class MoveTypeDeserializer extends JsonDeserializer[MoveType]:
|
||||
case "enPassant" => MoveType.EnPassant
|
||||
case "promotion" => MoveType.Promotion(PromotionPiece.valueOf(node.get("piece").asText()))
|
||||
case t => throw new JsonParseException(p, s"Unknown move type: $t")
|
||||
// scalafix:on DisableSyntax.throw
|
||||
|
||||
@@ -32,11 +32,13 @@ class JsonSerializersTest extends AnyFunSuite with Matchers:
|
||||
|
||||
// ── SquareKeyDeserializer ─────────────────────────────────────────
|
||||
|
||||
// scalafix:off DisableSyntax.null
|
||||
test("SquareKeyDeserializer returns square for valid key"):
|
||||
new SquareKeyDeserializer().deserializeKey("e4", null) shouldBe e4
|
||||
|
||||
test("SquareKeyDeserializer returns null for invalid key"):
|
||||
new SquareKeyDeserializer().deserializeKey("z9", null) shouldBe null
|
||||
// scalafix:on DisableSyntax.null
|
||||
|
||||
// ── SquareSerializer/Deserializer ─────────────────────────────────
|
||||
|
||||
@@ -46,8 +48,10 @@ class JsonSerializersTest extends AnyFunSuite with Matchers:
|
||||
test("SquareDeserializer reads valid square string"):
|
||||
mapper.readValue(""""e4"""", classOf[Square]) shouldBe e4
|
||||
|
||||
// scalafix:off DisableSyntax.null
|
||||
test("SquareDeserializer returns null for invalid square string"):
|
||||
mapper.readValue(""""z9"""", classOf[Square]) shouldBe null
|
||||
// scalafix:on DisableSyntax.null
|
||||
|
||||
// ── MoveTypeSerializer ────────────────────────────────────────────
|
||||
|
||||
|
||||
Reference in New Issue
Block a user