Slide 12
Slide 12 text
Testing With Kotlin
Spek Demo - Odd/Even Game
open class OddEvenGame() {
private var evenPlayerNumber: Int? = null
private var oddPlayerNumber: Int? = null
fun recordChoice(player: Player, number: Int) {
when (player) {
Player.EVEN -> evenPlayerNumber = number
Player.ODD -> oddPlayerNumber = number
}
}
val winner: Result
get() {
return ifNotNull(evenPlayerNumber, oddPlayerNumber) { evenNumber, oddNumber ->
val isEven = ((evenNumber + oddNumber) % 2 == 0)
if (isEven) Result.EVEN_PLAYER else Result.ODD_PLAYER
} ?: Result.NO_RESULT
}
}
enum class Result {
EVEN_PLAYER, ODD_PLAYER, NO_RESULT
}
enum class Player {
EVEN, ODD
}