Skip to content

Commit 10a3a6f

Browse files
xerufanarchuser
authored andcommitted
test(sdk): add WelcomeMessageTest & fix XStream
1 parent 6955750 commit 10a3a6f

File tree

3 files changed

+33
-6
lines changed

3 files changed

+33
-6
lines changed

socha-sdk/src/test/sc/shared/PlayerScoreTest.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package sc.shared
22

3-
import com.thoughtworks.xstream.XStream
43
import io.kotlintest.shouldBe
54
import io.kotlintest.shouldNotBe
65
import io.kotlintest.specs.StringSpec
@@ -17,12 +16,9 @@ class PlayerScoreTest: StringSpec({
1716
playerScoreUnknown1 shouldNotBe playerScoreScores
1817
playerScoreScores shouldBe playerScoreScores
1918
}
20-
"convert XML" {
19+
"XML Serialization" {
2120
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-
}
21+
val xstream = getXStream()
2622
val playerScoreXML = """
2723
<score cause="REGULAR" reason="Game ended regularly">
2824
<part>0</part>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package sc.shared
2+
3+
import io.kotlintest.shouldBe
4+
import io.kotlintest.specs.StringSpec
5+
import sc.api.plugins.ITeam
6+
7+
class WelcomeMessageTest: StringSpec({
8+
"XML Serialization" {
9+
val xstream = getXStream()
10+
val team = object : ITeam {
11+
override val index: Int = 2
12+
override fun opponent(): ITeam = this
13+
override fun toString() = "testi"
14+
}
15+
val message = WelcomeMessage(team)
16+
val serialized = xstream.toXML(message)
17+
serialized shouldBe """<welcomeMessage color="testi"/>"""
18+
val deserialized: WelcomeMessage = xstream.fromXML(serialized) as WelcomeMessage
19+
deserialized.color shouldBe team.toString()
20+
deserialized shouldBe message
21+
}
22+
})
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package sc.shared
2+
3+
import com.thoughtworks.xstream.XStream
4+
5+
fun getXStream() =
6+
XStream().apply {
7+
setMode(XStream.NO_REFERENCES)
8+
autodetectAnnotations(true)
9+
}

0 commit comments

Comments
 (0)