1+ package sc.shared
2+
3+ import com.thoughtworks.xstream.XStream
4+ import io.kotlintest.shouldBe
5+ import io.kotlintest.shouldNotBe
6+ import io.kotlintest.specs.StringSpec
7+
8+ class PlayerScoreTest : StringSpec ({
9+ " check equality" {
10+ val playerScoreUnknown1 = PlayerScore (ScoreCause .UNKNOWN , "", 0)
11+ playerScoreUnknown1 shouldBe playerScoreUnknown1
12+ val playerScoreRegular = PlayerScore (ScoreCause .REGULAR , "", 0)
13+ playerScoreUnknown1 shouldNotBe playerScoreRegular
14+ val playerScoreReason = PlayerScore (ScoreCause .UNKNOWN , "different", 0)
15+ playerScoreUnknown1 shouldNotBe playerScoreReason
16+ val playerScoreScores = PlayerScore (ScoreCause .UNKNOWN , "", 0, 1)
17+ playerScoreUnknown1 shouldNotBe playerScoreScores
18+ playerScoreScores shouldBe playerScoreScores
19+ }
20+ " convert XML" {
21+ val playerScore = PlayerScore (ScoreCause .REGULAR , "Game ended regularly", 0, 1, 2)
22+ val xstream = XStream ().apply {
23+ setMode(XStream .NO_REFERENCES )
24+ autodetectAnnotations(true)
25+ }
26+ val playerScoreXML = """
27+ <score cause="REGULAR" reason="Game ended regularly">
28+ <part>0</part>
29+ <part>1</part>
30+ <part>2</part>
31+ </score>""" .trimIndent()
32+ val playerScoreToXML = xstream.toXML(playerScore)
33+ playerScoreToXML shouldBe playerScoreXML
34+ xstream.fromXML(playerScoreXML) shouldBe playerScore
35+ xstream.fromXML(playerScoreToXML) shouldBe playerScore
36+ }
37+ })
0 commit comments