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