diff --git a/Makefile b/Makefile index e607452..53446e9 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ clean: ${SBT} clean bench: clean - ${SBT} mogCoreJVM/test:run mogCoreJS/test:run + ${SBT} mogCoreJVM/test:run 'set scalaJSStage in Global := FullOptStage' mogCoreJS/test:run .PHONY: build test console clean bench diff --git a/shared/src/main/scala/com/mogproject/mogami/core/Player.scala b/shared/src/main/scala/com/mogproject/mogami/core/Player.scala index b49ff32..0fecfe7 100644 --- a/shared/src/main/scala/com/mogproject/mogami/core/Player.scala +++ b/shared/src/main/scala/com/mogproject/mogami/core/Player.scala @@ -15,6 +15,8 @@ sealed abstract class Player(val id: Int) extends CsaLike with SfenLike{ override def toCsaString: String = Player.csaTable(id) override def toSfenString: String = Player.sfenTable(id) + + def toSymbolString: String = Player.symbolTable(id) } object Player extends CsaTableFactory[Player] with SfenTableFactory[Player] { @@ -24,6 +26,8 @@ object Player extends CsaTableFactory[Player] with SfenTableFactory[Player] { override val sfenTable: Seq[String] = Seq("b", "w") + val symbolTable = Seq("☗", "☖") + val constructor: Seq[Player] = Seq(BLACK, WHITE) def apply(id: Int): Player = { diff --git a/shared/src/test/scala/com/mogproject/mogami/core/PlayerSpec.scala b/shared/src/test/scala/com/mogproject/mogami/core/PlayerSpec.scala index 8c9f7c3..4f47538 100644 --- a/shared/src/test/scala/com/mogproject/mogami/core/PlayerSpec.scala +++ b/shared/src/test/scala/com/mogproject/mogami/core/PlayerSpec.scala @@ -28,6 +28,11 @@ class PlayerSpec extends FlatSpec with MustMatchers with GeneratorDrivenProperty WHITE.toSfenString must be("w") } + "Player#toSymbolString" must "describe unicode characters" in { + BLACK.toSymbolString must be("☗") + WHITE.toSymbolString must be("☖") + } + "Player#parseCsaString" must "make player" in { Player.parseCsaString("+") must be(Some(BLACK)) Player.parseCsaString("-") must be(Some(WHITE))