... | ... | @@ -191,4 +191,49 @@ fun generateBall(): Ball = Ball.values()[Random.nextInt(Ball.values().size)] |
|
|
- Nastaví aktuálneho hráča na 'toho druhého'.
|
|
|
- Do hlavnej funkcie `main` pridajte:
|
|
|
- Vytvorte hru a 2 užívateľov.
|
|
|
- Kým hra neskončí, volajte metódu `playTurn`, pričom ako parameter mu dajte `generateBall()`. Využite kľúčové slovo `while`. |
|
|
\ No newline at end of file |
|
|
- Kým hra neskončí, volajte metódu `playTurn`, pričom ako parameter mu dajte `generateBall()`. Využite kľúčové slovo `while`.
|
|
|
|
|
|
---
|
|
|
|
|
|
#### Testy
|
|
|
|
|
|
```kotlin
|
|
|
fun main(args: Array<String>) {
|
|
|
val karel = User("Karel")
|
|
|
|
|
|
assertEq("Karel", karel.toString(), "Karel's name is Karel ")
|
|
|
|
|
|
assertEq(true, karel.addBallIfNotAlready(Ball.MIDDLE), "Karel does not have medium ball yet")
|
|
|
assertEq(true, karel.addBallIfNotAlready(Ball.BIG), "Karel does not have big ball yet")
|
|
|
assertEq(false, karel.addBallIfNotAlready(Ball.BIG), "Karel already has big ball")
|
|
|
|
|
|
val marek = User("Marek")
|
|
|
val matej = User("Matej")
|
|
|
|
|
|
val game = BallGame(marek, matej)
|
|
|
game.playTurn(Ball.SMALL)
|
|
|
assertEq(1, marek.balls.size, "Marek should have one small ball")
|
|
|
assertEq(Ball.SMALL, marek.balls[0], "Marek should have one small ball")
|
|
|
assertEq(0, matej.balls.size, "Matej should not have any balls")
|
|
|
game.playTurn(Ball.BIG)
|
|
|
assertEq(1, marek.balls.size, "Marek should have one small ball")
|
|
|
assertEq(1, matej.balls.size, "Matej should have one big ball")
|
|
|
assertEq(Ball.BIG, matej.balls[0], "Matej should have one big ball")
|
|
|
game.playTurn(Ball.MIDDLE)
|
|
|
assertEq(2, marek.balls.size, "Marek should have two balls: SMALL and MIDDLE")
|
|
|
assertEq(Ball.SMALL, marek.balls[0], "Marek should have two balls: SMALL and MIDDLE")
|
|
|
assertEq(Ball.MIDDLE, marek.balls[1], "Marek should have two balls: SMALL and MIDDLE")
|
|
|
assertEq(1, matej.balls.size, "Matej should have one big ball")
|
|
|
game.playTurn(Ball.BIG)
|
|
|
assertEq(true, game.isFinished, "Game should be finished")
|
|
|
}
|
|
|
|
|
|
///// custom test method //////
|
|
|
fun assertEq(expectedAny: Any, actualAny: Any, message: String = "") {
|
|
|
if (expectedAny == actualAny) {
|
|
|
println("===> Test OK $expectedAny == $actualAny")
|
|
|
} else {
|
|
|
System.err.println("===> Test NOK $expectedAny != $actualAny; $message!")
|
|
|
}
|
|
|
}
|
|
|
``` |
|
|
\ No newline at end of file |